导读:
分别从IP、TCP、UDP、ICMP、DNS、HTTP几种协议分类并介绍常见的ddos攻击。
IP攻击
攻击者故意发送大于65536比特的ip数据包给对方。
TCP/ip的特征是碎裂,允许单一IP包分为几个更小的数据包,进入一个使用碎片包可以将整个ip包大小增加到ip协议允许的65536比特以上 。许多操作系统收到一个特大ip包,不知道怎么做,因此服务器冻结、宕机、重启。ping of death。
发送极小的分片绕过包过滤系统或者入侵检测系统的一种攻击手段。通过恶意操作将TCP报头(20字节)分布在2个分片,这样一来,目的端口在第二个分片。对于包过滤设备或者入侵检测系统来说,首先通过判断目的端口号来采取允许/禁止措施。但是由于通过恶意分片使目的端口号位于第二个分片中,包过滤设备通过判断第一个分片,决定后续的分片是否允许通过。但是这些分片在目标主机上进行重组之后将形成各种攻击。通过这种方法可以迂回一些入侵检测系统及一些安全过滤系统。
利用TCP的RST位,使用IP欺骗,迫使服务器把合法用户的链接复位,影响合法用户的链接。如用户a已建立正常连接,攻击者构造tcp数据伪造自己是用户a的ip,发送带了RST位的tcp数据段。服务器接收到这样的数据后,认为从原用户a发送的连接有错误,就会清空缓冲区中已建立好的连接。用户再发送数据就没有连接,只能重新建立连接
TCP攻击:
ack报文在第三次握手,服务器接收后,查表、回应ACK/RST没有SYN Flood冲击打,一般大流量ACK小包冲击(或和syn Flood连用) 。如果没有开放端口,服务器将直接丢弃,这将会耗费服务器的CPU资源。如果端口开放,服务器回应RST。
对称性判断:收包异常大于发包,因为攻击者通常会采用大量ACK包,并且为了提高攻击速度,一般采用内容基本一致的小包发送。因为很少单纯ACK攻击——易误判
syn报文是第一次握手 ,如果客户端发送了SYN报文后掉线死机,那么服务器发出SYN+ACK后无法收到应答,三次握手无法完成,一般服务器会重试,等待一段时间(SYN timeout)后丢弃连接,当大量这样的半连接出现——消耗过多cpu时间、内存。
如果TCP/IP栈不够大,会堆栈溢出崩溃,够大则也会疲于相应攻击者连接,而没时间响应正常连接。
缩短SYN Timeout
设置SYN Cookie,给每个连接请求的地址设置Cookie,如果连续收到ip重复SYN报文就视为攻击,丢弃。
SYN-ACK报文是第二次握手,是用来确认第一次握手的。
收到SYN-ACK报文后,首先判断该报文是不是三次握手范畴之内的报文。如果没有进行第一次握手就直接收到了第二次握手的报文,就发送RST报文,
攻击者向目标服务器发送大量的SYN-ACK报文,这些报文都属于凭空出现的第二次握手报文,服务器忙于回复RST报文,导致资源耗尽,无法响应正常的请求。
攻击者发送一个伪造的FIN包给服务端,这个伪造的FIN包源地址是正常用户的地址,服务端收到后就会断开与正常用户的连接,随后正常用户发送的数据服务器会认为是网络错误而忽略掉
与 FIN flood 攻击类似,攻击者发送一个伪造的RST包给服务端,服务端就会直接断开与正常用户的连接
Push标志位
fin、rst、psh、ack危害都不如SYN Flood
UDP攻击
利用一些协议的请求数据包和响应数据包比例不平衡的特点,就是响应包大于请求包,攻击者通过伪造受害者的 IP 地址、向开放性的服务器发送构造的请求报文,开放服务器会将大量的响应数据包发送受害者 IP,间接形成 DDoS 攻击,如dns reflect flood /snmp reflect flood/ ntp reflect flood
因为软件缺陷+UDP无连接特性,越来越普遍,容易发起,且可得到数十、千倍攻击放,攻击者可发送大量伪造源IP地址的小UDP包。
只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。
ICMP攻击
短时间大量发送ping包,消耗资源
禁止ping
结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。通过使用 将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包,来淹没受害主机,最终导致该网络的所有主机都对此ICMP应答请求做出答复,导致网络阻塞。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃。
现在的网络环境已经大多免疫该类攻击
DNS攻击
攻击者欺骗DNS服务器相信伪造的DNS响应的真实性。这种类型攻击的目的是将依赖于此DNS服务器的受害者重定向到其他的地址。
典型应用是钓鱼攻击
随机构造并查询被攻击域名的二级域名,绕过递归DNS服务器的解析记录缓存,各地区地市的递归DNS服务器向权威DNS服务器发起大量的DNS查询请求,如果被攻击域名所在的权威DNS服务器性能和带宽无法支撑查询所需要的带宽,那么就会直接瘫痪,并影响这个权威DNS服务器上的其他域名。
HTTP攻击
很大一部分的攻击软件甚至都可以完全模拟用户行为,真真假假很难分辨。
攻击规模不大的,可以考虑将被攻击的页面静态化,避开数据库查询,和动态语言。
如果攻击规模巨大的:大量的服务器和带宽,以及专业的硬件负载均衡设备做负载均衡;专业的DDoS云清洗和云防御服务商的服务ddos攻击:
原文链接:https://blog.csdn.net/qiqi_w/article/details/109810071
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/7284