web-dev-qa-db-ja.com

NIDSモードでsnortログを読み取るにはどうすればよいですか?

ファイアウォールからsnortログをいくつか読んでいますが、「snort -r file」を使用していくつかを読み取ることができます

しかし、最新のログを試してみたところ、次のエラーが発生しました。

snort -r snort.log

パケットダンプモードで実行

   --== Initializing Snort ==--

出力プラグインを初期化しています!ファイルを読み取るように構成されたpcap DAQ。

エラー:DAQ pcap(-1)を初期化できません-不明なファイル形式

致命的なエラー、終了しています...

恐らく、snortはNIDSモードで実行されています。わかりません。助けがあれば、このシステムに納屋を持っています。この問題の理解とトラブルシューティングに役立つ資料はありますか?

ありがとうございました!

5
bugsam

問題はsnort出力の形式に関するものであることがわかりました。読み取ることができるログはアラートロギングであり、領域を読み取ることができないログはunified2です。

Unified2は、パケットログ、アラートログ、または真の統合ログの3つのモードのいずれかで機能します。パケットロギングには、パケット全体のキャプチャが含まれ、log_unified2で指定されます。同様に、アラートログはイベントのみをログに記録し、alert Unified2で指定されます。両方のロギングスタイルを単一の統合ファイルに含めるには、unified2を指定するだけです。

https://www.snort.org/faq/readme-unified2

どうも

1
bugsam

まず、オプション_-r_は分析。pcapファイルに関連しています。これが、このエラー出力に遭遇した理由です。

_ERROR: Can't initialize DAQ pcap (-1) - unknown file format
_

Snortログをキャプチャできるようにするには、syslogに送信するか、目的のファイルに保存するかを指定する必要があります。どちらのオプションでも、生成された最新のログを読み取るためにモニターが必要になります(例:tail(1)は、そのときに友達になることができます)。

snort(8)マンページによると:

_-l_:出力ログを設定します。デフォルトでは_/var/snort/log_に設定されています。

_-i_:特定のインターフェースをパケットをスニッフィングするように設定します。

_-s_:ログをsyslogに送信します。

_-c_:ルールを含む構成ファイルを設定します。


使用例:

_eth0_:からログをキャプチャ

_./snort -i eth0 -c /etc/snort/snort.conf -l ./snort-eth0.log
_

別のコンソールで_tail -f ./snort-eth0.log_を使用して、リアルタイムでログを確認します。 syslogに送信する場合は、snortコマンドラインの最後に_-s_を追加するだけです。

デーモンモードで実行されているsnortからログをキャプチャ:

最初に、snortがログを吐き出す場所を知る必要があります。これを行うには、フラグ_-l_で指定された内容を確認します。指定されていない場合、デフォルトのパスは_/var/snort/log_であることに注意してください。

_ps -p $(pidof /opt/snort3/bin/snort) -f
...
tail -f /var/snort/log
_
0
slayer