我正在管理 Windows 2008 服务器(64 位)。它正遭受一组集中的 DOS 攻击,其中 UDP 数据包被发送到特定端口并包含特定字符串。
我需要做的是针对每个 IP 限制到该端口的 UDP 流量,具体来说,如果我可以按字符串进行过滤,那么它将实现我想要的一切。例如,如果来自某个 IP 的速率大于每秒 5 次,则阻止来自该 IP 的任何包含字符串“status”的 UDP 流量,并允许所有其他流量。
这可以在 Linux 上使用 iptables 来完成,那么有没有办法在 Windows 上做到这一点,或者至少得到接近的答案?
答案1
如果这是真正的 DoS,那么这不会有太大帮助。无论你的服务器是否响应,这些请求仍会堵塞你的管道。通过丢弃这些流量,你只是在延迟不可避免的资源耗尽。
为了真正对抗真正的 DoS,您应该联系您的 ISP,并要求他们在有问题的流量接触您的连接之前,在其主干网上丢弃它。
话虽如此,Windows 中没有原生工具来处理这个问题。与 iptables 或 pf 相比,Windows 防火墙缺乏功能。2008 和 2008 R2 已经取得了长足的进步,但这组功能仍然不足。如果您希望实现这一点,您应该在它前面安装一个专用的硬件防火墙或 Linux/BSD 盒作为防火墙。