标签:
本文介绍如何在 debian下,通过 ulogd 把 iptables 的日志保存到 MySQL 中。这样做的好处很多,最主要的好处莫过于以后的日志统计会非常的便利。
安装 ulogd 以及 ulogd-mysql
首先执行如下命令:
$ sudo apt-get install ulogd
$ sudo apt-get install ulogd-mysql
安装完毕后,下面开始配置 ulogd。
首先,需要把 ulogd 的数据库脚本导入到数据库中:
$ mysql
mysql> create database ulogd;
mysql> use ulogd;
mysql> source /usr/share/doc/ulogd-mysql/mysql.table
然后再修改 ulogd.conf 的配置文件:
$ sudo vi /etc/ulogd.conf
找到# output plugins.行的字样,大约在43行左右,找到plugin=”/usr/lib/ulogd/ulogd_LOGEMU.so”将其注释掉,并取消 plugin=”/usr/lib/ulogd/ulogd_MYSQL.so”行的注释,表示输出到 MySQL 中。接下来再找到配置文件中 MySQL 配置字段,大约在 59 行左右:
[MYSQL]
table="ulog"
pass=""
user="root"
db="ulogd"
host="localhost"
修改为相应选项即可。修改完毕,启动 ulogd 服务。
$ sudo /etc/init.d/ulogd restart
如果没有遇到什么错误提示,就说明已经成功了。
Step 2:配置 iptables
设置你要记录的 iptables 规则,比如要记录 80 端口的包。
-A INPUT -p tcp -m tcp –dport 80 -j ULOG
不过要注意的是,ULOG 不对包进行过滤,匹配上这一条规则之后,数据依旧继续往下匹配。
这样就基本配置完毕了,当服务器上的 80 端口有数据的时候,报文的一些信息就会被记录到 MySQL 中,便于以后的查看与统计。
下面是我的debian iptables配置脚本,使用ULOG做日志记录。
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ULOG
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ULOG
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
iptables -A INPUT -p tcp -m tcp --dport 20 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 25 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 139 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 445 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 631 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ULOG
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p all -m state --state INVALID,NEW -j ULOG
iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP
安装 ulogd 以及 ulogd-mysql
首先执行如下命令:
$ sudo apt-get install ulogd
$ sudo apt-get install ulogd-mysql
安装完毕后,下面开始配置 ulogd。
首先,需要把 ulogd 的数据库脚本导入到数据库中:
$ mysql
mysql> create database ulogd;
mysql> use ulogd;
mysql> source /usr/share/doc/ulogd-mysql/mysql.table
然后再修改 ulogd.conf 的配置文件:
$ sudo vi /etc/ulogd.conf
找到# output plugins.行的字样,大约在43行左右,找到plugin=”/usr/lib/ulogd/ulogd_LOGEMU.so”将其注释掉,并取消 plugin=”/usr/lib/ulogd/ulogd_MYSQL.so”行的注释,表示输出到 MySQL 中。接下来再找到配置文件中 MySQL 配置字段,大约在 59 行左右:
[MYSQL]
table="ulog"
pass=""
user="root"
db="ulogd"
host="localhost"
修改为相应选项即可。修改完毕,启动 ulogd 服务。
$ sudo /etc/init.d/ulogd restart
如果没有遇到什么错误提示,就说明已经成功了。
Step 2:配置 iptables
设置你要记录的 iptables 规则,比如要记录 80 端口的包。
-A INPUT -p tcp -m tcp –dport 80 -j ULOG
不过要注意的是,ULOG 不对包进行过滤,匹配上这一条规则之后,数据依旧继续往下匹配。
这样就基本配置完毕了,当服务器上的 80 端口有数据的时候,报文的一些信息就会被记录到 MySQL 中,便于以后的查看与统计。
下面是我的debian iptables配置脚本,使用ULOG做日志记录。
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ULOG
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ULOG
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
iptables -A INPUT -p tcp -m tcp --dport 20 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 25 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 139 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 445 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 631 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ULOG
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ULOG
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p all -m state --state INVALID,NEW -j ULOG
iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP
![]() |
冬日娜刻薄提问雷哭史冬鹏(图)
孙悦是本届奥运的最大收获
程菲终于走出了失望(图)
|
![]() |
花样游泳姐妹花私家生活照 盘点北京奥运会十大悲情英雄(图) |
![]() |
![]() |
![]() |


档案
日志
相册
视频








评论
想第一时间抢沙发么?