対象 OS は CentOS4 。
snort.org から snort-2.3.2 の tar ball をダウンロードしてビルド。
# ./configure --with-mysql=yes
# make; make install
当初 snort.org の download から snort , snort-mysql の rpm バイナリをインストールしてみたのだが、原因不明で snort から mysql へのレコード追加など DB アクセスがまったくされないという症状が発生し、設定上何の問題もないにも関わらず解消しなかった。 ML の記事を見つけたが、同様の構成で同様の結末になり解決していないようだ。 tar ball からソースをビルドして全く同じ設定にしたところ、何の問題もなくサクサク動作した。
ACID をインストール。GD , ADOdb, JpGraph など必要なモジュールがインストールされていなければしておく。
ACID 設定の注意点:acid_conf.php の $db_connect_method を 2 (normal connection) に変更する。初期設定の persistent connection だと、ブラウザで更新するたびに mysql への接続スレッドが1つ増えブラウザを閉じても永続的に残り続ける。何のためにこんなモードが初期設定されているのか全くわからないのだが、この設定のままだとリソースを圧迫して最悪システムダウンを招く原因となるので必ず変更しよう。
snort と ACID のインストールについては @IT の「Snortでつくる不正侵入検知システム」と、「とりあえず動く MySQL + Snort+ ACID(BASE)メモ」が参考になった。
snort の侵入検知ルールは *.rules という名前のファイルで管理されているが、これの最新版を入手したければ snort.org で Regist ( 無料 ) または Subscribe ( 有料 ) が必要となる。 Regist すると、最新ルールを入手できる URL が手に入る。
ルールの更新、 snort.conf への反映などの処理は oinkmaster が便利だ。grin 氏の blog の記事、情報が古いが、日本 snort ユーザー会の「oinkmaster を使う ~ 楽々簡単ルールファイルメンテナンス ~」が参考になった。