我的一台服务器遭受了 SYN 欺骗攻击。虽然服务器上有足够的资源(带宽、CPU、RAM),但新的合法请求却出错了Request time-out
。似乎积压队列已满,新请求在队列中超时。
如何在 Windows Server 2008 企业版(64 位)上启用 SYN cookie?
答案1
这里以下是 TechNet 上的一篇相关帖子:
“从 Windows Vista 开始,SynAttack 保护默认启用,并且无法禁用... 由于 TCPIP 驱动程序根据 CPU 核心数和可用内存量进入攻击状态,因此与资源较少的系统相比,资源较多的系统将开始较晚地放弃新的连接尝试。这是在 Vista 之前的系统上硬编码的(根据配置的注册表设置),无论系统有多少可用资源,系统都会进入攻击状态。“
答案2
如果您使用 Linux 防火墙,那么在进入 Windows 服务器之前,那里有几种 SYN DoS/DDoS 保护选项。
首先,您可以为所有不重要的 SYN 数据包设置快速回复规则,让防火墙代表 Windows 服务器进行回复。(对于未建立的连接,您应该为有效数据包安装过度积极的保持连接。几乎所有 Syn Flood 都属于这些类别之一。)然后,您可以在这些类型的数据包上设置 Syn Cookie 阈值。
对于标准频率的 Keep-alive 数据包,它们也应该快速回复,但也应该转发,并且应该捕获服务器的回复。
这将基本上使用 Linux 防火墙来保护您的 SYN cookie(老实说,Linux Syn cookie 协议要好得多。Windows 上的 Syn cookie 协议很糟糕,这就是为什么它默认是关闭的,而只是丢弃数据包。)