iptablesログ解析(IPTables log analyzer)

Linux標準のファイアーウォールソフトである「iptables」のログ解析ソフトを調べることになったので、備忘録がてら記述しておく。

初期設定

ulogd経由でmysqlへとログを吐き出してphpのページで解析するツールのようだ。そのため、もちろん以下をインストールする必要がある。

mysqlにデータベースの作成

iptables logを解凍すると「/conf/iptables.mysql」にデータベースの設定とテーブルの設定が入ってるみたいだからこいつを入れる。

cat /var/www/iptablelog/conf/iptables.mysql | mysql -u iptablelog_user -p iptablelog

iptablesの設定

次に、iptablesの設定を書き換えてulogdに吐き出すようにする。

iptables -A INPUT -m limit --limit 1/s -j ULOG --ulog-nlgroup 1 --ulog-prefix 'INPUT'

ulogdの設定

で、ulogをmysqlに吐き出させる。単純にコメントを外すだけで動くだろう。

plugin="/usr/local/lib/ulogd/ulogd_MYSQL.so"
[MYSQL]
table="ulog"
pass="パスワード"
user="iptablelog_user"
db="iptablelog"
host="localhost"

IPTables log analyzerの設定

データベースに接続できるようにデータベース接続用のパスワードを設定する

/conf/config.php
# Password of the MySQL database
$db_password="パスワード"; ← iptablelogデータベースアクセスユーザパスワード設定

/etc/cron.hourly/iptables_resolve
db_connect("localhost","iptablelog","iptablelog_user", "パスワード"); # Change these db settings

で、ウェブディレクトリの設定

/etc/cron.hourly/iptables_resolve
$iptablelog_path = "/var/www/iptablelog"; # Change this ← iptablelogWebディレクトリ名設定

これで動くはず。

総評

アナライズツールというから見てみたのにただのphpってのはがっかり。。。これくらいならあっさり作れるじゃない。どうせならexe形式で有るのが良かったなぁ。ファイルパスかなんか指定したら一括で見れるやつとか。もうちょっと探してみるかな?