DoS(Denial of Service拒绝服务)和DDoS(Distributed Denial of Service分布式拒绝服务)攻击是大型网站和网络服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)的安全威胁之一。2000年2月,Yahoo、亚马逊、CNN被攻击等事例,曾被刻在重大安全事件的历史中。SYN Flood由于其攻击效果好,已经成为目前最流行的DoS和DDoS攻击手段。
SYN Flood利用TCP协议缺陷,发送了大量伪造的TCP连接请求,使得被攻击方资源耗尽,无法及时回应或处理正常的服务请求。一个正常的TCP连接需要三次握手,首先客户端发送一个包含SYN标志的数据包,其后服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)返回一个SYN/ACK的应答包,表示客户端的请求被接受,最后客户端再返回一个确认包ACK,这样才完成TCP连接。在服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)端发送应答包后,如果客户端不发出确认,服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)会等待到超时,期间这些半连接状态都保存在一个空间有限的缓存队列中;如果大量的SYN包发到服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)端后没有应答,就会使服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)端的TCP资源迅速耗尽,导致正常的连接不能进入,甚至会导致服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)的系统崩溃。
防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)通常用于保护内部网络不受外部网络的非授权访问,它位于客户端和服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)之间,因此利用防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)来阻止DoS攻击能有效地保护内部的服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)。针对SYN Flood,防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)通常有三种防护方式:SYN网关、被动式SYN网关和SYN中继。
SYN网关 防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)收到客户端的SYN包时,直接转发给服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器);防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)收到服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)的SYN/ACK包后,一方面将SYN/ACK包转发给客户端,另一方面以客户端的名义给服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)回送一个ACK包,完成TCP的三次握手,让服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)端由半连接状态进入连接状态。当客户端真正的ACK包到达时,有数据则转发给服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器),否则丢弃该包。由于服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)能承受连接状态要比半连接状态高得多,所以这种方法能有效地减轻对服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)的攻击。
被动式SYN网关 设置防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)的SYN请求超时参数,让它远小于服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)的超时期限。防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)负责转发客户端发往服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)的SYN包,服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)发往客户端的SYN/ACK包、以及客户端发往服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)的ACK包。这样,如果客户端在防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)计时器到期时还没发送ACK包,防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)则往服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)发送RST包,以使服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)从队列中删去该半连接。由于防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)的超时参数远小于服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)的超时期限,因此这样能有效防止SYN Flood攻击。
SYN中继防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)在收到客户端的SYN包后,并不向服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)转发而是记录该状态信息然后主动给客户端回送SYN/ACK包,如果收到客户端的ACK包,表明是正常访问,由防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)向服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)发送SYN包并完成三次握手。这样由防火墙(防止外部网络用户以非法手段通过外部网络进入内部网络)做为代理(网络信息的中转站突破自身IP访问限制)来实现客户端和服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)端的连接,可以完全过滤不可用连接发往服务器(文件传输协议支持HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP协议的服务器就是HTTP://www.cnpaf.net/class/ftp' target='_blank'>FTP服务器)。