二、调整TCP/IP协议,修改TCP协议实现
第一种限制SYN攻击的方式要依赖于思科等特定的产品,如防火墙、路由器等等。除此之外,我们还可以通过调整TCP/IP协议栈,修改TCP协议实现来达到防止SYN攻击。如可以通过增加最大半连接和缩短超时时间、SYN Cookies技术等来实现我们需要的目标。不过这个调整技术难度比较大。同时,调整TCP/Ip协议栈,会使得某些应用功能受到影响。所以,管理员在做类似的修改之前,要进行充分了解,并进行详细、充分的测试才能够进行部署。
如在微软的操作系统中,提供了一种SynAttackProtec的机制。这也是通过调整TCP/IP协议栈的方式来限制SYN的攻击。他主要是通过关闭某些Socket选项,同时增加额外的连接指示和减少超时时间,让系统恩能够处理更多的SYN连接,以达到防范SYN攻击的目的。在通常情况下,系统不会启用这个保护机制。需要网络管理员进行手工的配置。
不过笔者一般不建议采用这种方式。因为它会对现有的应用服务产生比较大的影响,会对现有的网络应用产生不利的影响,如降低网络、服务器的稳定性等等。所以笔者还是建议通过专门的网络设备,如路由器或者防火墙来防范SYN攻击。
不过要注意一点,就是无论采用上面的哪一种实现方式,要想彻底的杜绝SYN攻击是一件不可能完成的任务。除非完全更改TCP实现方式。不过到目前为止,这是不可能的。所以网络管理员应该对此有一个清醒的认识。任何想试图杜绝SYN攻击的尝试都将无功而返。我们现在所能够做的,就是想尽一切可行的方法,把SYN攻击所造成的不利影响控制在一个比较小的范围之内;或者说,保护一些关键应用与设备,减少SYN攻击对其造成的不利影响。