入れっぱなしだったSnortとBASEをきちんとセットアップしました。
MySQL database, user作成
% echo "CREATE DATABASE snort"|mysql -u root -p % echo "GRANT ALL PRIVILEGES on snort.* to snort@localhost IDENTIFIED BY PASSWORD('hogehoge')"|mysql -u root -p
snortだけならユーザ権限はもっと少なくてよいのですが、BASEのセットアップ時にテーブルをCREATEする権限が必要になってくるため、全権限を付与しています。
Debianパッケージ設定実行
dpkg-rconfigureを実行して、作成したdatabseとuserをSnortとBASEに設定してあげます。
# dpkg-reconfigure snort-mysql # dpkg-reconfigure acidbase
結果、MySQL接続情報が以下の設定ファイルに反映されます。
- /etc/snort/snort.conf
- /etc/acidbase/database.php
これでsnortのアラートがMySQLデータベースに記録されるようになり、BASEもそれを使うようになります。
BASEの追加設定
http://localhost/acidbase/にアクセスすると、テーブルをCREATEするボタンがあるので、そちらを押下すれば終了です(このためsnortユーザにALL PRIVILEGESを与えてます)。
初期状態ではlocalhost以外からのアクセスは許可されないので、必要に応じて/etc/acidbase/apache.confのdeny,allow定義を変更します。
除外ルールの設定
debianでは、ユーザが追加するためのルールファイルが/etc/snort/rules/local.rulesとして用意されています。
うちの場合、/etc/snort/rules/misc.rulesにある”MISC UPnP malformed advertisement”をルータが出して検知されてしまうので($HOME_NETはanyにしています)、以下のようにして除外しました。
# cd /etc/snort/rules # grep 'MISC UPnP malformed advertisement' \ > |sed 's#^alert #pass #' \ > |sed 's#$EXTERNAL_NET#192.168.0.1/32#' >>local.rules
ルールの先頭alertをpassに変更すれば、無視されるようになります(192.168.0.1はルータのIPアドレスです)。
ただし、この方法はルールセットのテスト順を”Pass->Alert->Log”に設定した場合のみ有効です(snortを-oオプションで起動)。
“Alert->Pass->Log”にしている場合は、alertが定義されているルールファイルを直接編集して無効にする必要があります。
BASEでグラフ表示するために – 2006-11-13追記
BASEでのグラフ表示時に「Image/Color.phpがない」とエラーになりました。
Warning: main(Image/Color.php): failed to open stream: No such file or directory in /usr/share/php/Image/Canvas/Color.php on line 33
Debianパッケージは見つけられなかったので、pearでインストールして解決。
# pear install Image_Color
Sorry, the comment form is closed at this time.