![记录来自 iptables 阻止的 IP 的连接尝试](https://linux22.com/image/87876/%E8%AE%B0%E5%BD%95%E6%9D%A5%E8%87%AA%20iptables%20%E9%98%BB%E6%AD%A2%E7%9A%84%20IP%20%E7%9A%84%E8%BF%9E%E6%8E%A5%E5%B0%9D%E8%AF%95.png)
我使用 阻止了来自 CentOS 服务器的滥用 IP iptables
,删除了所有服务/端口上的所有连接尝试。
事实上,具有该 IP 的服务器可能是僵尸网络的一部分,并且可能在我阻止它后已被清除。我想知道它是否仍在尝试攻击服务器,这样我就可以决定是否解锁IP...而不需要先解锁它。
我尝试在 /var/log 中搜索任何类似的内容iptables
,并用 grep /var/log/secure 查找有问题的 IP,但没有发现任何结果。
是否有记录断开的连接尝试的日志iptables
,或者是否有办法配置规则来记录尝试但仍将其丢弃?
答案1
除了其他答案之外,iptables -v -L
还列出了遍历给定规则的数据包和字节的计数,以便您可以看到您丢弃了多少流量,并且我不会太难编写一个解析和报告该信息的工具。
答案2
您需要使用LOG
目标显式记录数据包。您可以在链中添加一条规则,其条件与DROP
滥用 IP 的规则相同,但-j LOG
使用-j DROP
.
此外,您还可以使用 指定日志前缀--log-prefix
,并使用 指定日志级别--log-level
。指定速率限制以避免日志泛滥也很常见......请参阅iptables 文档了解详情。
答案3
您需要为丢弃的数据包设置一个日志链。有一个关于这样做的很好的教程http://www.thegeekstuff.com/2012/08/iptables-log-packets/归结为将类似于以下内容的内容添加到当前规则集中:
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP