異なるログの相関分析を自動化することについて


(Phạm Xuân Hoàng) #1

こんにちは、ホアンです。

セキュリティ情報の管理(SIEMシステム)と可視化に関することを研究しています。
Linuxではelasticsearch-5.5.2、logstash-5.5.2、kibana-5.5.2の三つのツールを使用しています。
複数のログデータの相関分析を自動化することを目的としてELK stackを用いてSIEM構築し、SIEMシステムの有効性を検証する予定です。
そのため、まず、特定の過去のプロキシのログとファイアウォールのログのみで実験を行います。
elasticsearchにデータを投入してから、Kibanaでの可視化の結果は以下のようになりました。


・proxyのlogはMcafee からの収集されたデータです。プロキシのログのconfファイル:
input {
stdin {
add_field => ["log_type", "proxy_logs"]
}
}

filter {
grok {
match => [
"message", "(?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource}+(?: %{SYSLOGPROG}:|) Virus Found Alert%{CRLF} DateTime: [%{HTTPDATE:timestamp}]%{CRLF} Cliet IP Address: %{IPORHOST:clientip}%{CRLF} Virus Name%{NONSHARP:virusname}%{CRLF} URL: %{NONSHARP:virusurl}%{CRLF3}%{GREEDYDATA:mcafee}"
]
}
date {
match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ]
}
}

output {
# stdout { codec => rubydebug }
elasticsearch {
hosts => [ "localhost:9200" ]
}
}
・ファイアウォールのログのconfファイル:
input {
stdin {
add_field => ["log_type", "firewall_logs"]
}
}

filter {
grok {
match => [
"message", "%{TIMESTAMP_ISO8601:timestamp} %{IPORHOST:srcip}:%{NUMBER:srcport} %{IPORHOST:dstip}:%{NUMBER:dstport} %{NUMBER:protocol} %{QUOTEDSTRING:dstcountry}"
]
}

    date {
            match => [ "timestamp", "YYYY-MM-dd HH:mm:ss" ]
    }

}

output {
stdout { codec => rubydebug }
elasticsearch {
hosts => [ "localhost:9200" ]
}
}
・proxy logsの例 とfirewall logsの例は以下のようになりました。
firewall logs


同じ期間内に異なるログの相関分析を行いたいですが、KibanaまたはELK stack でデータを処理方法・表示方法等を教えて頂けませんか。 例えば、グラフの表示、地図での位置を表示、異なるログの関係が比較できる表示方法等です。
ご指導よろしくお願いします。


(system) #2

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.