一.DDoS攻击是什么
DDoS攻击:dos是服务器拒绝提供服务的意思,最前面的D是分布式的意思,所以说这个大概可以理解为分布式的机器攻击服务器,占用服务器资源,使得服务器拒绝提供服务的一种攻击手段,虽然原理简单,但是攻击的成本低,效果明显,危害大。
二.DDoS攻击的分类
1.体积型攻击
也就是疯狂的向一台服务器发送很多的请求报文,使得服务器忙不过来,也就是消耗服务器的资源,使得别的正常请求来到的时候,服务器无法提供正常的响应
常见的体积型攻击有:
UDP洪流攻击:攻击者向目标发送大量UDP数据包,目标系统会尝试处理这些数据包,从而耗尽资源。
ICMP洪流攻击:攻击者发送大量ICMP回显请求(ping请求),目标系统需要处理这些请求,导致带宽耗尽。
DNS放大攻击:攻击者利用开放的DNS服务器,发送伪造源IP地址的小型请求,DNS服务器返回大量响应数据,放大攻击流量,这个也被称为反射攻击
2.协议型攻击
攻击者通过对于网络协议的漏洞进行攻击,比如TCP协议的三次握手和对于TCP协议的超时重传机制的答复机制,这样消耗服务器的连接资源
常见的协议型攻击有:
SYN洪流攻击:攻击者利用TCP三次握手过程,发送大量SYN请求,但不完成握手,使服务器资源耗尽。这样也可以实现反射攻击,当源IP地址为某一个攻击目标时
ACK洪流攻击:攻击者发送大量ACK数据包,干扰服务器的正常通信(ACK洪流攻击是一种针对TCP协议的DDoS攻击方式。攻击者通过僵尸网络向目标服务器发送大量带有ACK标志的TCP数据包。这些数据包通常伪造源IP地址,且没有合法的连接状态。目标服务器在接收到这些ACK数据包后,会尝试处理它(也就是判断这个ACK报文是否是建立了连接的),从而消耗大量资源,导致服务器无法正常响应合法请求。)。
Ping of Death攻击:攻击者发送超大或格式错误的ICMP数据包,导致目标系统崩溃(Ping of Death攻击是一种利用ICMP协议漏洞的DoS攻击。攻击者构造一个超大(超过65535字节)的ICMP Echo请求数据包,并将其分片发送到目标系统。目标系统在重组这些分片数据包时,会因超出其处理能力或存在软件缺陷而崩溃或重启。)
3. 应用层攻击
应用层攻击针对特定的应用程序或服务,通常通过看似合法的请求来消耗服务器资源
HTTP洪流攻击:攻击者发送大量HTTP GET或POST请求,使服务器无法处理合法请求
DNS查询洪流攻击:攻击者向DNS服务器发送大量查询请求,使其无法响应合法请求
其实我个人感觉这里的应用层攻击也属于体积型攻击,只是发生在应用层而已
三.DDoS攻击的防治
1.由于DDoS攻击的大多数手段都要伪造IP地址,因此我们可以在运营商的网络设备阶段查询源IP地址,看看这个IP地址是不是属于本地的网段,如果不是,则就丢弃。
2.由路由器检测出不属于这个路线的IP地址,这就是说明了这个IP是被伪造的,然后将这个报文进行丢弃
3.在服务器和设备之间加入一台流量清洗机,将不对的报文进行检测和丢弃,再将合理的报文返回给服务器