//

iptables

IPTables Log Analyzerのススメ。

IPTables Log Analyzerのススメ。別にオススメするわけじゃありませんが、iptablesのログをWebブラウザから
閲覧できるようにすることが可能です。

構成としては下記のような感じ。
iptables -> ULOG -> MySQL -> IPTables Log Analyzer <- Webブラウザ

わざわざサーバにログインする必要がなくなるので、個人的に愛用しています。

■環境
 CentOS 5 + yum標準インストールのhttpd, php, mysql-server
 ※所謂LAMP構成なので、php-mbstringやphp-mysql等のモジュールもインストールしておくこと。
 ※mysql-develのインストールが必要です。

■前提条件
 ・httpdの構築が完了していること
 ・mysql-serverの構築が完了していること
 ・インストール先は/usr/local 配下としています。

■インストール手順
(1) IPTables Log Analyzerをダウンロードします。

# wget http://jaist.dl.sourceforge.net/sourceforge/iptablelog/iptablelog-v0.9.tar.bz2
# tar jxvf iptablelog-v0.9.tar.bz2
# mv iptablelog /usr/local/

(2) IPTables Log Analyzer用のデータベース及び接続ユーザの作成

# mysql -u root -p
Enter password: (MySQLのrootユーザのパスワード)

### iptablelogデータベース作成
mysql> create database iptablelog;
Query OK, 1 row affected (0.00 sec)

### iptableslogデータベース管理ユーザとして iptablelogユーザをlocalhostに作成し、パスワードをPASSWORDとして設定
mysql> grant all privileges on iptablelog.* to iptablelog@localhost identified by 'PASSWORD';
Query OK, 0 rows affected (0.00 sec)

### ユーザ作成確認
mysql> select user,host,password from mysql.user;
~snip~
| iptablelog | localhost    | ************ |
~snip~

mysql> exit

<IPTables Log Analyzerが利用するテーブル情報の流し込み>
# mysql -u iptablelog -p iptablelog < /usr/local/iptablelog/conf/iptables.mysql
Enter password: (iptableslogユーザのパスワード)
# mysql -u iptablelog -p iptablelog
Enter password: (iptableslogユーザのパスワード)

### テーブル作成確認
mysql> show tables;
+----------------------+
| Tables_in_iptablelog |
+----------------------+
| host_cache           |
| ports                |
| protos               |
| ulog                 |
+----------------------+
4 rows in set (0.00 sec)

mysql> exit

(3) ulogdのインストールとセットアップ

# wget ftp://ftp.netfilter.org/pub/ulogd/ulogd-1.24.tar.bz2
# tar jxvf ulogd-1.24.tar.bz2
# cd ulogd-1.24
# vi configure
<1731行目>
MYSQLLIBS=`$d/mysql_config --libs`
--- (以下の通り追記修正)
MYSQLLIBS=`$d/mysql_config --libs | sed 's/-rdynamic//g'`
<1750行目>
MYSQL_FUNCTION_TEST=`strings ${MYSQLLIBS}/libmysqlclient.so | grep mysql_real_escape_string`
--- (以下の通り修正)
MYSQL_FUNCTION_TEST=`strings /usr/lib/mysql/libmysqlclient.so | grep mysql_real_escape_string`

# ./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/local/lib --with-mysql
# make
# make install
# cp -p ulogd.init /etc/init.d/ulogd
# vi /etc/ulogd.conf
<41行目>
(以下を追記する)
plugin="/usr/local/lib/ulogd/ulogd_LOCAL.so"
<44行目>
plugin="/usr/local/lib/ulogd/ulogd_LOGEMU.so"
--- (コメントアウト)
#plugin="/usr/local/lib/ulogd/ulogd_LOGEMU.so"
<461行目>
#plugin="/usr/local/lib/ulogd/ulogd_MYSQL.so"
--- (アンコメントアウト)
plugin="/usr/local/lib/ulogd/ulogd_MYSQL.so"
<61行目~63行目>
pass="changeme"
user="mysql"
db="ulogd"
--- (pass, user, dbを修正)
pass="PASSWORD"    # iptablelogユーザのパスワード
user="iptablelog"
db="iptablelog"

(4) ulogdの起動

# service ulogd start
# chkconfig --add ulogd
# chkconfig --list ulogd
ulogd           0:off   1:off   2:off   3:on    4:on    5:on    6:off

(5) IPTables Log Analyzer の設定

# cd /usr/local/iptablelog/conf
# cp -p config.php.default config.php
# vi config.php
<31行目>
$db_user="iptablelog_user";
--- (以下の通り修正)
$db_user="iptablelog";
<34行目>
$db_password="changeme";
---
$db_password="PASSWORD";
<44行目>
$url_base="/iptablelog/";
---
$url_base="/iptablelog";
<47行目>
$file_base="/path/to/iptablelog"; # i.e. "/var/www/html/iptablelog"
---
$file_base="/usr/local/iptablelog"; # i.e. "/var/www/html/iptablelog"

# cp -p iptables_resolve.default /etc/cron.hourly/iptables_resolve
# vi iptables_resolve.default
<4行目>
$iptablelog_path = "/var/www/html/iptablelog"; # Change this
---
$iptablelog_path = "/usr/local/iptablelog"; # Change this
<7行目>
db_connect("localhost","dbname","dbuser", "dbpass");  # Change these db settings
---
db_connect("localhost","iptablelog","iptablelog", "PASSWORD");  # Change these db settings

(6) Apacheの設定

# vi /etc/httpd/conf.d/iptables.conf
<新規追加>
Alias /iptablelog "/usr/local/iptablelog"
<directory "/usr/local/iptablelog">
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from xxx         # 接続を許可するIPまたはネットワークを指定
</directory>

# service httpd graceful

Instagr.am

Recent Posts

土山茜さん@ポートレート撮影
1月 6, 2013
By RISLIM
2013年。
1月 1, 2013
By RISLIM
神奈川県・滝『本棚』
10月 17, 2012
By RISLIM
神奈川県・滝『下棚』
10月 10, 2012
By RISLIM
神奈川県・滝『飛竜の滝』
10月 7, 2012
By RISLIM
にほんブログ村 IT技術ブログへ
Get Adobe Flash player