next up previous contents
Next: ログの解析: snortsnarf Up: 侵入検知システム Previous: ルールの例

Snortの起動方法

Snort の起動オプションは非常に多岐に渡っているので、ここでは 単純な場合についてのみ記述する(しかし、多くの場合それで十分である)。

/usr/local/etc/snort.conf の設定が終ったら、/var/log/snort.log と /var/log/snort/ があることを確認して、以下のようにして動かす。


/usr/local/bin/snort -D -c /usr/local/etc/snort.conf

ここで -D オプションは、Daemon モードで動かすためのもの である。

しかし、Snort の場合、conf ファイルの設定や、ルールの問題など 色々な問題があるので最初にそれらをチェックした方が良いだろう。 次の例は、フォアグラウンドで設定のチェックをしている。


/usr/local/bin/snort -c /usr/local/etc/snort.conf -T

問題がなければ先の設定を動かすと、以下のように /var/spool/snort/ にログが取られる。


# ls -F /var/log/snort
10.0.0.10/       10.16.164.110/   10.16.164.17/    portscan.log

このうち、発信元に応じて 10.0.0.10 などのディレクトリに パケットのログがテキスト形式で記録される。また、発信元IPが 不明な場合には受信IPのディレクトリに記録される。また、設定で portscan についてはログを別途取るように指定したので、上の ディレクトリに portscan.log が出来ている。今の設定では、 alert は syslog 経由で記録される。


# ls -F /var/log/snort/10.16.164.17
TCP:1025-21     TCP:1028-23     TCP:1030-23
TCP:1031-23     TCP:1032-23     TCP:1033-23

以下は alert の fast mode を指定した場合で、この場合一行の単純なsyslog形式の alertメッセージを出す。alert メッセージは、/var/log/snort/alert に記録される。(何故か syslog は無視される)

/usr/local/bin/snort -D -c /usr/local/etc/snort.conf -A fast

何らかのアタックなどが予想される、あるいは実際にされていると 思われるような場合に、全てのパケットを記録し、解析したい場合は テキスト形式での記録よりも、バイナリ形式での記録の方が速度の 点でも有利である。 バイナリモードでは、データは /var/log/snortXXXX.log にとられる。 (XXXX はタイムスタンプなどの情報)。記録したログは TCPdumpのバイナリ ファイル互換なので、tcpdump あるいは ethereal などで閲覧可能である (当然、snort を用いて再び解析も可能)。


/usr/local/bin/snort -D -c /usr/local/etc/snort.conf -b



Noriyo Kanayama