|
TCP SYN泛洪(又名握手溢出)是一种类型的分布式拒绝服务(DDoS攻击)攻击是利用正常的一部分,TCP三次握手消耗资源的目标服务器上,并使其反应迟钝。 从本质上讲,有SYN Flood DDoS攻击,罪犯发出的TCP连接请求比在目标机器可以更快地处理它们,造成网络饱和。 攻击说明当客户机和服务器建立正常的TCP“三次握手”的交换看起来像这样: - 客户请求通过发送SYN(同步)消息发送到服务器的连接。
- 服务器确认通过发送SYN-ACK(同步-确认)消息返回给客户端。
- 客户端响应一个ACK(确认)消息,并建立连接。
在SYN Flood攻击,攻击者发送重复的SYN数据包到每个端口的目标服务器上,通常使用假IP地址。服务器,不知道攻击的,接收多个,看似合法的请求建立通信。它响应每次尝试从每个开口的SYN-ACK分​​组。 恶意客户端或者不发送ACK预期,或者,如果IP地址是欺骗性的,从来没有在第一时间接收到SYN-ACK。无论哪种方式,受到攻击的服务器会等待它的SYN-ACK信息包了一段时间的确认。 Incapsula减轻38天的SYN Flood攻击和DNS洪水多向量DDoS攻击。 在此期间,该服务器无法关闭通过发送RST包的连接,该连接保持打开状态。建立连接之前,超时,另一个SYN包会到达。这使得越来越大量连接半开的 - 实际上SYN食品攻击也称为“半开”的攻击。最终,随着服务器的连接溢出表填写,服务于客户的合法将被拒绝,并且服务器甚至可能出现故障或死机。 缓解方法虽然现代操作系统可以更好地管理资源,这使得它更难以溢出连接表,服务器仍然容易受到SYN Flood攻击。 有许多的减轻SYN泛洪攻击,包括常见的技术: 微块 -administrators可以在服务器存储器为每个输入SYN请求,而不是一个完整的连接对象分配一个微记录(少至16个字节)。 SYN饼干 -使用密码散列,服务器发送其具有顺序号(SEQNO),其从客户端的IP地址构造,端口号,以及其他可能的唯一识别信息的SYN-ACK响应。当客户端的响应,此散列包含在ACK包中。服务器验证的ACK,然后才进行连接分配内存。 RST饼干 -对于从给定的客户机的第一请求,服务器故意发送一个无效SYN-ACK。这将导致客户产生RST包,告诉服务器什么是错的。如果此被接收时,服务器知道该请求是合法的,将记录在客户端,并接受来自其后续的传入连接。 堆栈调整 -administrators可以调整TCP协议栈,以减轻SYN洪水的影响。这可以包括减少超时直到堆栈释放分配给一个连接,或选择性地丢弃传入连接的内存。 显然,所有的上述方法依赖于处理大规模体积DDoS攻击,在几十吉比特(甚至数百千兆的)每秒的测量的业务量的目标网络的能力。 Incapsula DDoS防护利用任播技术来平衡在其全球的高性能洗涤中心网络传入的DDoS请求。凭借其全球网络的总容量,Incapsula可以经济高效地超过攻击者的资源,使DDoS攻击无效。该服务是建立在大规模的需求,提供足够的资源来处理,即使是最大的体积的DDoS攻击。
为了保证业务的连续性,Incapsula滤波算法连续分析传入的SYN请求,SYN使用Cookie来选择性地分配资源,以合法的游客。这使得透明的DDoS攻击防护,wtih无需停机,任何其他业务distruptions延迟。
|