Snort のアラートを MySQLデータベースに出力させるためには、Snort を構築する際に MySQL のサポートオプションを指定しなければならない。
MySQL のサポートオプションは、以下の様に ─with-mysql=
ションを指定して Snort を構築することにより有効となる。(MySQLが /usr/local/mysql にインストールされている場合)
[work]$ tar -xvzf snort-1.7.tar.gz
[work]$ cd snort-1.7
[snort-1.7]$ ./configure ─with-mysql=/usr/local/mysql/
[snort-1.7]$ make
[snort-1.7]$ su
Password:
[snort-1.7]# make install
次に、以下に従って outputプラグインの指定を Snort のルールセットに追加する。これにより、前回作成したスキーマに対してアラートを出力させることができる。
output database: log, mysql, dbname=<スキーマ名> user=<ユーザ名> host=<サーバホスト> sensor_name=<このホストの識別名> detail=full
前回で解説した手順で使用したスキーマ名・ユーザ名・ユーザ権限とまったく同じ値を使用してMySQLスキーマを創成したのであれば、以下の行を snort.conf に書き加えるだけで良い。
output database: log, mysql, dbname=snort user=snort host=localhost port=3306 sensor_name=IDS1 detail=full
以上の設定が完了したなら、以下のように Snort を起動する。
上記で detail=full と指定しているが、これにより Snortのアラートと共にパケットペイロードの内容等の詳細情報が記録される。よって、これまで Snort の起動時に指定していた -d や -A などのオプションは不要になる。
[snort]# /usr/local/bin/snort -Do -c snort.conf -h 192.168.0.1/32
以上により Snort 側の構築・設定は完了した。今後発生するアラート類は全て SQL に対して出力される。
続けて Apache と PHP を構築しよう。すでに MySQL に対応した PHP-4.x 以上と共にApacheが導入されているのであれば再構築する必要は無い。各自で環境を確認し、再構築の必要が無ければ以下の解説は読み飛ばして構わない。
Apache と PHP は相互にモジュールがリンクするので、構築は少し複雑である。以下の手順に従って慎重に作業を行って欲しい。
office
office@ukky.net
http://www.office.ac/
みっきー
micky@office.ac
http://www.hawkeye.ac/micky/
詳しくはScan本誌をご覧下さい
http://www.vagabond.co.jp/c2/scan/