我有人在关闭的随机端口上用随机数据包淹没我。
我的服务器正在使用 tcp-reset 数据包对此做出响应,我认为这也会占用出站带宽。
如何使用 iptables 来阻止 tcp-reset 数据包?
该DROP目标是一个你想要的。
如果您只有一个盒子并且网络中没有其他机器与之建立连接,则可以避免阻止所有RESET数据包。
-A OUTPUT -p tcp --tcp-flags RST RST -j DROP
Run Code Online (Sandbox Code Playgroud)
见包过滤-HOWTO-7的详细信息
如果您碰巧宕机,这对合法连接不是很礼貌,它可能会导致需要使用RESET数据包的已建立连接出现不必要的超时。这不是一个永久的好主意,但如果它允许您处理 DDoS,那么暂时应该没问题。
如果您对该框的正常使用依赖于RESET为普通用户工作的数据包,并且您只想阻止RESET攻击者的数据包,您将需要识别恶意数据包,以便我们只阻止那些。
这些数据包是真正随机的还是它们都有一些共同点?
-A INPUT -p tcp -j LOG
Run Code Online (Sandbox Code Playgroud)
如果LOG在 iptables 配置的末尾添加一行,则可以使用该日志来分析入站数据包以查看是否存在模式。源端口号和目标端口号的散点图可能会有用。在 IP 空间地图上绘制 IP 地址可能有助于识别恶意和良性范围,尽管我怀疑这不太可能产生有用的结果。简单地计算攻击 IP 地址的数量会很有用。如果它足够小,您可以简单地将它们全部添加到 iptables 配置中。
即使您没有找到模式,因为肯定存在基于“重置数据包过多”的模式,您可以创建一个 fail2ban 规则,该DROP规则将为任何RESET在 y 秒内导致超过 x 个数据包的IP 地址添加规则。
| 归档时间: |
|
| 查看次数: |
11295 次 |
| 最近记录: |