我想创build一个文件iptables.loglogging所有的DROP和入侵企图。 以下是我所做的一步一步:
1)在我的iptables规则文件中,我把以下内容:
-A INPUT -j LOG --log-level 4 --log-ip-options --log-prefix "iptables: " -P INPUT DROP -P OUTPUT DROP -P FORWARD DROP # and then the other rules to open up SSH
然后我使用iptables-restore来应用更改。
2)我在/etc/rsyslog.d/创build了一个iptables.conf文件,里面有这个规则:
:msg, startswith, "iptables: " -/var/log/iptables.log & ~
3)在/etc/rsyslog.d/50-default.conf ,我把这个:
#iptables kern.warning /var/log/iptables.log
4)我重新启动rsyslog守护进程。
但这似乎不足以实现我的目标。 还有什么需要做的?
另外,我应该为-A OUTPUT -j LOG制定一个规则,还是没用?
这不是一个直接的项目,而是更多的“清理”方面,这只是一个好习惯。
我build议configuration日志轮换,以便不会用新的日志文件填满logging分区。 大多数服务在/etc/logrotate.d/中放置一个configuration文件。 而数据包日志logging可以是非常健谈的。
由于这是一个新的日志文件,您必须将其添加到现有的日志文件,例如/etc/logrotate.d/rsyslog.conf。
它为我们(Debian 6)工作,只是在/etc/rsyslog.d/中包含了额外的规则,并且没有触及rsyslog.conf文件。
我们确认目录规则在核心rsyslog.conf之前“执行”,“&〜”使得匹配项停止search以下规则。
这是/etc/rsyslog.d/中的一个文件
:msg, startswith, "Firewall: " -/var/log/firewall.log & ~
做了这个工作也有kern.warning条目,我明白会重复规则。
在我们的例子中,iptables规则是由CSF防火墙创build的,所以问题可能出在那里。 防火墙规则看起来像
19 2140 113K LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *TCP_IN Blocked* '