gpt4 book ai didi

iptables - 在 IPTables 中记录丢弃的数据包?

转载 作者:行者123 更新时间:2023-12-02 07:27:58 35 4
gpt4 key购买 nike

我正在尝试在 iptables 中记录一些来自恶意 IP 地址的丢弃数据包,这些 IP 地址不断攻击我的服务器。

来自这个恶意 IP 的所有内容都被丢弃,我不再在 Web 服务器日志中看到它,这是一件好事。使用 tcpdump,我可以看到仍然来自该 IP 的流量,我想在 iptables 中记录丢弃的数据包,因为我知道它正在工作并且它们正在被丢弃。

我有一些 iptables 规则,但我不知道为什么日志记录不起作用。我确定我错过了什么。

-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A 输入 -i lo -j 接受

-A INPUT -m state --state INVALID -j DROP

-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP

-A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP

-A INPUT -s 80.82.65.0/24 -j DROP

-A INPUT -s 167.74.0.0/18 -j DROP

-A INPUT -s 167.87.0.0/16 -j DROP

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

-A 输入 -j 日志记录

-A FORWARD -m state --state INVALID -j DROP

-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

-A OUTPUT -m state --state INVALID -j DROP

-A LOGGING -s 80.82.65.0/24 -m limit --limit 5/min -j LOG --log-prefix "iptables 丢包"--log-level 7

$ grep iptables/etc/rsyslog.conf

kern.debug/var/log/iptables.log

最佳答案

您的配置的问题在于,指定应丢弃数据包的规则位于指定应在 LOGGING 链中处理该数据包的规则之前,该链将被记录。
一旦 iptables 将数据包与第一条规则(DROP 操作的规则)匹配,它就会停止搜索并且不会到达另一条规则。

我会改变规则的顺序并重写如下:

iptables -N LOGANDDROP
iptables -A INPUT -s 80.82.65.0/24 -j LOGANDDROP
iptables -A LOGANDDROP -m limit --limit 5/min -j LOG --log-prefix "iptables dropped packets " --log-level 7
iptables -A LOGANDDROP -j DROP

为了完整起见,我将建议一个替代解决方案,它不涉及创建新的临时链:

iptables -A INPUT -s 80.82.65.0/24 -m limit --limit 5/min -j LOG --log-prefix "iptables dropped packets " --log-level 7
iptables -A INPUT -s 80.82.65.0/24 -j DROP

此方法基于以下警告。如前所述,iptables 默认行为是查找手头包的第一个匹配项,一旦找到,就停止搜索其他匹配项。但是,此规则有一个异常(exception):

  • 匹配指定 LOG 操作的规则不会导致 iptables 停止搜索其他适用规则。

虽然此解决方案更短,因此乍一看可能更具吸引力,但不推荐使用,因为它不够强大。一旦有多个源需要相同的处理,则应为每个新源复制这两个配置行(而不是在以前的解决方案中仅添加一行)。此外,一旦完成,更改日志记录详细信息将需要更改多个规则(而不是之前解决方案中的单个规则)。
我还认为,由于此解决方案依赖于上述警告,因此不太容易遵循和理解,这是配置 iptables 时需要考虑的重要因素,但这只是我个人的看法。

注意 - 请参阅 this useful link iptables 的简明教程。

关于iptables - 在 IPTables 中记录丢弃的数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25692685/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com