为了让 iptables 登录到我创建的这个文件还需要什么?

为了让 iptables 登录到我创建的这个文件还需要什么?

我想创建一个文件iptables.log来记录所有 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)iptables.conf我在内创建了一个文件/etc/rsyslog.d/,其中包含以下规则:

: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?或者它没用?

答案1

这不是一个需要立即处理的事情,而是一个“清理”过程,这只是一个好习惯。

我建议配置日志轮换,这样就不会用新日志文件填满日志分区。大多数服务都会在 /etc/logrotate.d/ 中放置一个配置文件。而且数据包日志记录可能非常繁琐。

由于这是一个新的日志文件,您必须将其添加到现有日志文件,例如 /etc/logrotate.d/rsyslog.conf。

答案2

对于我们(Debian 6)来说,它只是在 /etc/rsyslog.d/ 中包含了附加规则,并且没有改变 rsyslog.conf 文件。

我们确认目录规则在核心 rsyslog.conf“之前”执行,并且“&~”使得匹配的条目停止搜索以下规则。

这是 /etc/rsyslog.d/ 中的一个文件,其中包含

:msg, startswith, "Firewall: " -/var/log/firewall.log
& ~

完成的工作就像有一个 kern.warning 的条目一样,我理解这会重复规则。

在我们的例子中,iptables 规则是由 CSF 防火墙创建的,所以问题可能就在这里。防火墙规则如下

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* ' 

相关内容