●Snortの起動

 設定が完了したら、Snortを起動してみよう(例5、6)。起動時のオプションは表1を参照してほしい。デーモンモードで起動し、しばらく経ってから/var/log/snortにあるログファイルalertを参照してみよう。

例5:デーモンモードで起動した例
# /usr/local/bin/snort -D -c /etc/snort/snort.conf -u snort -g snort

例6:詳細なデータを記録するようオプションを指定した際の起動例
# /usr/local/bin/snort -Dd -A full -c /etc/snort/snort.conf -u snort -g snort

表1■Snortの主な起動オプション

オプション 解説
-A アラートの出力をfull/fast/consoleかnoneのいずれかで指定。fullが詳細な情報を記録
-b tcpdump フォーマットでログを記録する。
-D バックグランドでの実行(デーモンモードで起動)
-d アプリケーションレイヤーのデータもログに記録する。
-c<ルールセット> ルールセットの指定
-g<グループ名> Snortを起動するグループの指定
-h<ホームネットワーク> ホームネットワークの指定
-i<ネットワークインターフェイス> ネットワークインターフェイスの指定
-l<ログディレクトリへのパス> ログディレクトリの指定
-u<ユーザー名> Snortを起動するユーザの指定

●Snortの動作テスト

 ここでは仮のテストとして、外部ネットワークとは切り離し、内部ネットワークで古いCGI関連のセキュリティホールをスキャンしてみることにする。起動は詳細なデータを記録するモード(例6)で行っているが、Snortの起動時に-dオプションを指定することで、詳細なログが/var/log/snortに残る。攻撃元のIPアドレスがディレクトリとして作成され、そのディレクトリ以下に詳細なログが保存されるわけだ。

○CGI関連のセキュリティホールをスキャンした際のログの一部(スキャンした中からphf.cgiを抜粋)

・Alertログ
[**] [1:886:3] WEB-CGI phf access [**]
[Classification: Attempted Information Leak] [Priority: 2]
06/02-13:28:19.461358 192.168.1.2:52938 -> 192.168.1.4:80
TCP TTL:255 TOS:0x0 ID:19687 IpLen:20 DgmLen:136 DF
***AP*** Seq: 0x3A565E0F Ack: 0x1EA60EF2 Win: 0x8000 TcpLen: 20
[Xref => http://www.securityfocus.com/bid/629]
[Xref => http://www.whitehats.com/info/IDS128]
[Xref => http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-0067]

・ディレクトリに作成された詳細なログ
[**] WEB-CGI phf access [**]
06/02-13:28:19.461358 192.168.1.2:52938 -> 192.168.1.4:80
TCP TTL:255 TOS:0x0 ID:19687 IpLen:20 DgmLen:136 DF
***AP*** Seq: 0x3A565E0F Ack: 0x1EA60EF2 Win: 0x8000 TcpLen: 20
47 45 54 20 2F 63 67 69 2D 62 69 6E 2F 70 68 66 GET /cgi-bin/phf
2E 63 67 69 2F 20 48 54 54 50 2F 31 2E 30 0D 0A .cgi/ HTTP/1.0..
55 73 65 72 2D 41 67 65 6E 74 3A 20 4D 61 63 50 User-Agent: MacP
6F 72 6B 20 33 2E 30 20 28 4D 61 63 69 6E 74 6F ork 3.0 (Macinto
73 68 29 0D 0A 48 6F 73 74 3A 20 69 2E 6D 2E 61 sh)..Host: i.m.a
6E 2E 65 6C 69 74 65 2E 63 6F 6D 20 0D 0A 0D 0A n.elite.com ....

(以下略)
※スキャンを行ったマシンのIPアドレスは192.168.1.2、ホストマシンは192.168.1.4。

 このログから、「192.168.1.2」のポート52938番から、「192.168.1.4」のポート80番に対してphfスキャン(すでに骨董品のように古いセキュリティホール)が行われたことが分かる。ここで、Alertログにある「[Xref => http://…]」を参照すると、どのような攻撃なのかを知ることができる。

●ルールセットのチューニングの必要性

 Snortを起動して記録されたログファイルを見ていくと、重要と思えないログが多いことに気付くだろう。車にたとえるならば、デコボコの山の中を走るラリー車のチューニングと、舗装されたレース場でレースを行うレースカーのチューニングが異なるように、Snortもそのユーザーの環境に合わせたチューニング、つまりルールセットの設定が必要になってくる。また、作成されたログもできればもう少し見やすい形で閲覧したいと感じるだろう。

 今回はSnortの導入について簡単に紹介したが、次回はSnortのルールセットの設定や記述などの方法、そしてSnortのログファイルをHTMLファイルにして、ブラウザで閲覧できるようにしてくれる「SnortSnarf」(写真1)といったツールの導入について解説する予定だ。

写真1■Snortのログをブラウザで参照できるSnortSnarf
写真1

[TTS、ITmedia]

PREV 4/4