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%以内,有兴趣的可以亲自去玩玩。
文章转载自 开源中国社区 [http://www.oschina.net]