snortには以下の書式により様々なパラメータを指定することが可能であ
る。
snort -[options]
例えば -A オプションを使用すると、アラートをファイルに出力する時の書式を変更することができる。-A fast と指定すれば最低限のアラート情報をsyslog形式で記録する。また -A full であればすべてのアラート情報を記録するといった具合である。
以下で最低限知っておくべきオプションを紹介する。
-c <ルールセットファイル>:-c オプションに続いてルールセットを収めたファイルを指定することにより、そのファイルがsnortのルールセットとして有効になる。
-D:このオプションによりsnortはバックグラウンドで実行される。また、-lオプションを与えない場合は、ログは/var/log/alermに記録される。
-d:アプリケーションレイヤのデータをログディレクトリ内に記録する。アプリケーションデータフィールド内を参照することにより、誤検知か否かの最終的な判断が可能となる。
-e:レイヤ2のヘッダーデータを記録する。
-h:ホームネットワークを192.168.0.0/24のように指定することにより、ログ上で表記されるホストとパケットの方向を示す矢印を統一できる。
-i <インターフェース>:複数インターフェースを持つホストで運用する場合に、どのインターフェースを使用するか指定できる。
-l <ログディレクトリ>:ログを保存するディレクトリを指定できる。
-p:このオプションによりプロミスカスモードをオフにすることができる。自ホストに向けられた攻撃のみを検知する場合などに使用する。
-s:アラートメッセージをsyslog経由で記録する。linux環境の多くでは、/var/log/secureや/var/log/messagesなど記録される。
さらに常用するのに便利なオプションセットをいくつか紹介しよう。
自ホストが送受信するパケットのみを監視し、デーモンとしてsnortを運用し、/var/log/snortに全てのログを記録する。
/usr/local/bin/snort -Ddep -A full -c snort.conf -h 192.168.0.1/32 -l /var/log/snort
NICを複数装備する環境下で、一方のNICに接続されたネットワーク上のパケットを全て監視する。またデーモンとして運用し、syslog経由で記録する。
/usr/local/bin/snort -Ddes -A full -i eth1 -c snort.conf -h 192.168.0.0/24
また汎用性のある便利なオプションとして -o オプションがある。このオプションを利用することにより、通常はAlert->Pass->Logの順で適用されるものを、Pass->Alert->Logの順に変更し、アラートを発生させたくないホストやネットワーク、サービスなどをルールセット内に記述することが可能となる。
例えば、172.16.0.0/16のネットワークからのHTTPリクエストを無視したい場合には以下のようなルールをルールセット内の適当な所に記述する。
pass tcp 172.16.0.0/16 any > 192.168.0.1 80
office
office@ukky.net
http://www.office.ac/
みっきー
micky@office.ac
http://www.hawkeye.ac/micky/
詳しくはScan本誌をご覧下さい。
http://www.vagabond.co.jp/c2/scan/