SYNPROXY:廉价的抗DoS攻击方案
- - 博客园_新闻DoS 攻击是一个永恒的问题,虽然专业厂商的防火墙,负载均衡类的网关设备能比较有效的防御 DoS 攻击,但黑客们更倾向于 x86+GNU/Linux 的组合,原因很简单:足够的廉价.
DoS 攻击是一个永恒的问题,虽然专业厂商的防火墙,负载均衡类的网关设备能比较有效的防御 DoS 攻击,但黑客们更倾向于 x86+GNU/Linux 的组合,原因很简单:足够的廉价。
在 linux 内核 3.13 里终于加入了 SYNPROXY 的新功能,这个模块是一个基于链接跟踪的 netfilter 扩展,主要干的工作就是把来自客户端的初始 SYN 包标记成 UNTRACKED 然后直接导入 iptables 的"SYNPROXY"的动作(类似 ACCEPT,NFQUEUE 和 DROP),这时内核会扮演网关设备的角色继续跟客户端进行 TCP 的常规握手流程,SYNPROXY 会等到最终的 ACK (三次握手)的 cookie 被验证合法后才会开始让包真正的进入目标端,开发者 Jesper Dangaard Brouer 的 数据表明 SYNPROXY 对于对抗 SYN FLOOD DOS 攻击是非常有效的,笔者今天也在 Debian 和 SLES-12-beta2 对 SYNPROXY 进行了 DoS 测试,大致结果是在使用 hping3 和 metasploit 进行测试,开启 SYNPROXY 后 ksoftirq 占用会从8% 降低到3% 以内,有兴趣的 solidoter 可以亲自去玩玩。