我最近遭受了一次攻击,攻击速度非常小,大约 70MBPS,但导致大量上传...所有迹象都指向 ICMP。我意识到我的防火墙中有在 CentOS 上运行的 CSF 防火墙,我对传出的 ICMP 速率没有限制...哎呀。:P
还有什么我应该阻止的吗?我们主要是游戏服务器,所以显然阻止所有传入的 ICMP 流量是不行的。还是说不行?这就是我来这里的原因 :D
谢谢你的建议,
杰里米
**另外快速编辑,我们位于 100MBPS 端口上,当前防火墙能够轻松阻止超过 600MB 的一般 DDoS 攻击。
答案1
阻止所有 ICMP 绝对不是不行的,所以我会选择这样做,至少当一些客户/游戏玩家抱怨他们无法 ping 通你的服务器时,可以作为一种临时解决方案。
如果您使用 ping 来监控服务器,阻止 ICMP 也不是一个好主意 - 但我想您已经知道这一点 ;-)
答案2
如果您看到大量流量流出,这听起来像是反射/放大攻击。不幸的是,您无法对进入防火墙的 70mbit 采取太多措施,但您可以尝试将流出网络的流量降至最低。我已经有一段时间没有看到 ICMP 用于此目的了。通常是 DNS。
但是,如果您发现 ICMP 被滥用,我会对其进行速率限制。此外,这类攻击通常似乎来自单个 IP 或网络块。这些攻击是伪造的,因此回复会淹没目标。您可以非常轻松地阻止这些 IP 地址和网络块。
我还会仔细检查您是否没有看到使用 DNS 的东西,因为它似乎是此类攻击最常被滥用的系统。验证您是否不允许来自 WAN 的 DNS 查询到达您的本地递归 DNS 服务器。
一旦您控制了出站流量,如果问题仍然存在,您可以与您的 ISP 合作,尝试阻止滥用流量。
答案3
iptables -t 过滤器 -I 输入 -i 接口 -p icmp --icmp-type any -m 限制 --limit 1/s -j 接受
iptables -t 过滤器 -I OUTPUT -p icmp --icmp-type any -m limit --limit 1/s -j ACCEPT
这会将任何类型的 icmp 传入和传出请求限制为 1/s,或者您可以通过指定“8”或“echo”来仅指定 echo 请求
当然,它不能阻止攻击,但可以最大限度地减少传入和传出的请求。
答案4
我们使用 Cisco 硬件防火墙,但会屏蔽所有内容(包括 ICMP,实际上是所有内容),然后只允许特定的 IP 和端口。这显然需要付出更多努力才能确保一切正常,但也绝对能让我睡个好觉。