最新消息:阿里云双12优惠,史上最低折扣。

DDoS进行TCP攻击的缓解办法

服务器租用 aliyun 202浏览

python如何进行ddos攻击?

本文普及ddos python攻击的方法,帮助用户了解神秘的DDoS,更好的防御攻击。

什么是SYN泛洪攻击

TCP SYN泛洪(又称SYN泛洪)是一种分布式拒绝服务(DDoS)攻击,它利用部分正常的TCP三次握手来消耗目标服务器上的资源并使其无响应。

基本上,使用SYN flood DDoS,黑客利用TCP三次握手的原理,不断请求计算机资源,来达到服务器瘫痪的目的。

DDoS进行TCP攻击具体描述

当客户端和服务器建立正常的TCP“三次握手”时,交换看起来像这样:

客户端通过向服务器发送SYN(同步)消息来请求连接。

服务器通过向客户端发送SYN-ACK(同步 – 确认)消息来确认。

客户端使用ACK(确认)消息进行响应,并建立连接。

在SYN Flood攻击中,攻击者通常使用伪造的IP地址向目标服务器上的每个端口发送重复的SYN数据包。服务器不知道攻击,会收到多个显然是合法的建立通信的请求。它使用来自每个开放端口的SYN-ACK数据包响应每次尝试。

恶意客户端要么不发送预期的ACK,要么 – 如果IP地址被欺骗 – 从不首先接收SYN-ACK。无论哪种方式,受到攻击的服务器都会等待一段时间确认其SYN-ACK数据包。

想了解更多知识请阅读《如何通过PHP进行简单的DDoS防御》

DDoS进行TCP的过程

在此期间,服务器无法通过发送RST数据包来关闭连接,并且连接保持打开状态。在连接超时之前,另一个SYN数据包将到达。这使得越来越多的连接半开 – 实际上SYN泛洪攻击也被称为“半开”攻击。最终,当服务器的连接溢出表填满时,对合法客户端的服务将被拒绝,服务器甚至可能出现故障或崩溃。

虽然上面描述的“经典”SYN泛洪试图耗尽网络端口,但SYN数据包也可用于DDoS攻击,这些攻击试图用假数据包阻塞管道以实现网络饱和。数据包的类型并不重要。但是,经常使用SYN数据包,因为它们最不可能在默认情况下被拒绝。

缓解方法

虽然现代操作系统更适合管理资源,这使得连接表溢出更加困难,但服务器仍然容易受到SYN泛洪攻击。

有许多常见的技术可以缓解SYN泛洪攻击,包括:

Micro blocks –管理员可以为服务器内存中的每个传入SYN请求分配一个微记录(少至16个字节),而不是完整的连接对象。

SYNcookie-使用加密散列,服务器发送其SYN-ACK响应,其序列号(seqno)由客户端IP地址,端口号和可能的其他唯一标识信息构成。当客户端响应时,该哈希包含在ACK包中。服务器验证ACK,然后仅为连接分配内存。

RST cookie– 对于来自给定客户端的第一个请求,服务器故意发送无效的SYN-ACK。这应该导致客户端生成一个RST数据包,告诉服务器出了什么问题。如果收到此消息,则服务器知道请求是合法的,记录客户端,并接受来自它的后续传入连接。

堆栈调整 –管理员可以调整TCP堆栈以减轻SYN泛洪的影响。这可能涉及减少超时,直到堆栈释放分配给连接的内存,或选择性地丢弃传入连接。

显然,所有上述方法都依赖于目标网络处理大规模体积DDoS攻击的能力,其流量以每秒数十千兆比特(甚至数百千兆比特)的速度进行测量。

云抵抗DDoS的高防IP利用大规模的服务器集群来清洗中心网络之间平衡传入的DDoS请求的连接。凭借其强大的硬实力,云可以机房清理能力超过攻击者资源,使DDoS攻击无效。该服务按需扩展构建,提供充足的资源来处理即使是最大的容量DDoS攻击。

为了确保业务连续性,云的过滤算法持续分析传入的SYN请求,使用SYN cookie有选择地将资源分配给合法访问者。这样可以实现透明的DDoS缓解,无需停机,无任何业务中断的延迟。

转载请注明:小猪云服务器租用推荐 » DDoS进行TCP攻击的缓解办法