五、SYN洪泛攻击及防御
在TCP三次握手过程中服务器首先向客户端发送请求报文,服务器发送确认报文后等待客户端发送确认报文。若客户端不发送确认报文服务器将在一点时间后断开该半连接并回收资源。
SYN洪泛攻击:依靠TCP建立连接时的三次握手的漏洞,即攻击者发送大量的请求连接报文段但不完成第三次握手,会使得服务器端不断响应请求并为半连接分配资源导致资源被耗尽。SYN洪泛攻击是DOS攻击的其中一种。
- 直接攻击 :攻击者用他们自己的没有经过伪装的IP地址快速地发送SYN数据包,这就是所谓的直接攻击。
- 欺骗式攻击:攻击者使用有效的IP和TCP报文头去替换和重新生成原始IP报文。
- 分布式攻击:攻击者运用在网络中主机数量上的优势而发动的分布式SYN洪泛攻击
防御方法:
-
SYN缓存:
-
SYN Cookies:
相反,服务器生成一个初始TCP序列号,该序列号是SYN报文段的源IP地址和目的IP地址,源端口号和目的端口号以及仅有服务器知道的秘密数的复杂函数(散列函数)。这种精心制作的初始序列号称为为“cookie”。服务器则发送具有这种特殊初始序号的SYNACK报文分组。服务器并不记忆该cookie或任何对应于SYN的其他状态信息。
如果该客户是合法的,则它将返回一个ACK报文段。当服务器收到该ACK报文段,需要验证该ACK是与前面发送的某个SYN相对应。由于服务器并不维护有关SYN报文段的记忆,所以服务器通过使用SYNACK报文段中的源和目的IP地址与端口号以及秘密