SOF-ELKとは
SANSのトレーニングで使用されているログ調査ツールです。 ElasticsearchやKibanaを使用したログ調査ツールで、通常は非常に大変な設定が予め行われており、一般的なログであればすぐに調査することが可能です。
https://www.sans.org/tools/sof-elk/
https://github.com/philhagen/sof-elk
使い方
以下からVMをダウンロードして起動します。
https://for572.com/sof-elk-vm
起動したマシンの/logstash/ 以下のディレクトリにログファイルをコピーするだけです。
コピーすることで自動的にデータベースに追加されます。
あとはブラウザでhttp://<ip>:5601にアクセスし、以下の画面上部のDashboardをクリック
以降は調査するログによって画面が異なりますが、画面上部の検索ボックスに検索条件を入れたり、マウスで画面上のIPアドレスなどをクリックすることでフィルタを適用することができます。
以下では、ソースIPアドレスとソースポートを指定してフィルタしています。
注意点
デフォルトでは、時刻がUTCになっています。また、取り込んだログが正しくJSTとして認識されているかは確認してください。
思うようにログが取りこまれないという場合は、表示する日時の範囲が狭すぎる可能性があります。右上にある表示する日時の範囲を広めに設定してください。
また、NetFlowはそのままでは取り込めない可能性があります。付属しているnfdump2sof-elk.shコマンドで変換する必要があるかもしれません。
それでも取り込まれないという場合は、おそらく非対応のログ形式です。一般的なサーバで出力されるログ形式であれば対応していますが、対応している形式は多くはありません。
対応するのを気長に待つか、もし可能なのであれば対応している既存のログ形式にうまく変換して取り込むという方法も考えられます(うまくいくかはわかりません)
課題
私が機能に気づいていないだけかもしれませんが、grepでいう-Aや-Bに相当する機能が見つけられていません。条件にマッチする箇所だけでなく、その前後が見たいということは多いと思うので、この機能があると良いと思いますが、それらしい機能を発見できていません。