论文部分内容阅读
近些年来,随着网络的飞速发展,网络攻击频繁发生,攻击方式更是层出不穷。分布式拒绝服务攻击DDoS是互联网环境下最具有破坏力的一种攻击方式,尤其以SYN Flood攻击方式为代表,它利用了传统TCP/IP协议中三次握手协议的不安全性,向互联网服务器发送大量的SYN报文。由于服务器接收大量无效的SYN报文,而使得正常的SYN报文无法得到及时响应。如何检测这种攻击发生以及如何降低这种攻击所带来的后果已成为目前Internet安全界研究的热点问题。 针对这一问题,本文在Linux环境下,通过在客户机与服务器之间构建防火墙来有效过滤SYN Flood攻击包,以实现有效地抵御SYN Flooding洪水攻击。利用TCP数据包流量的自相似性以及对网络流量的实时监控,当SYN洪水攻击发生时,我们可以作出迅速的响应。对于SYN连接数据包,在不同情况下采用不同的过滤方式:在正常情况下,采用TCP三次握手协议来建立连接,同时将合法ACK包的源IP存放到历史记录hash表中,以便于在发生DDoS攻击时作为参考;在被攻击情况下,首先通过MULTOPS方案确定被攻击的目标主机,采用数据包分炼机制,即对正常主机和被攻击主机的连接请求数据包,采用不同的方式进行连接:(1)对正常主机的连接请求仍然采用TCP三次握手协议进行连接:(2)对于被攻击主机的连接请求,首先提取SYN包中的源IP,利用此IP在历史记录hash表中进行查找,如果找到,则采用TCP三次握手协议进行连接:如果未找到,需要进一步确定攻击强度,若攻击强度为0级,则利用SYN Cookie机制来建立连接;若攻击强度为1级,则直接丢弃该SYN包。 最后对本系统进行抵御SYN Flood攻击测试,测试结果表明在同等攻击强度下,本系统较传统的防御方法在过滤能力和处理能力方面有了一定的提高。