Nov 112006
 

入れっぱなしだった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.