DDOS如何防御?

如题所述

第1个回答  2022-11-19
分类: 电脑/网络 >> 互联网
问题描述:

我的机房经常会死机或掉线,他们说是受到了DDOS攻击,请问他的详细攻击资料以及该如何防御呢?

解析:

对于DDOS攻击的详细分解

⒈TCP的工作原理

对于TCP的工作原理,最著名莫过于TCP的三次握手。图示,客户端A发送连接的请求数据报文,标识为SYN,并设定一个初始值得Seq=X,若服务器B答应连接,则返回相应数据报文确认为Ack=X+1,并同时发送逆向连接请求Y。A答应逆向连接返回确认Ack=y+1。

发送SYN,Seq=X

发送SYN,Seq=Y

ACK,Ack=X+1

发送ACK,Ack=Y+1

连接成功!

⒉SYN_FLOOD及ACK_FLOOD攻击

DDoS,也就是分布式拒绝服务攻击的缩写(Distributed denial of service )。

简单的说,拒绝服务就是用超出被攻击目标处理能力x的海量数据包消耗可用系统,带宽资源, 致使目标网络服务瘫痪的一种攻击手段。而分布拒绝服务攻击,就是发起攻击的源地址是分布的,而不是单一的或有规律的。

发送SYN

发送SYN

和ACK对方SYN

不发送ACK包对A确认

并继续发送SYN

不断循环

攻击成功!

简要分析:主机A在短时间内大量的发送该SYN请求连接包,服务器B会大量开辟空间以准备一个又一个的新连接,而A却不发送与服务器B第三次握手的确认数据包。导致B空间无法释放,最终B因为空间耗尽而无法响应其他合法主机的正常连接而导致“拒绝服务”。

在这个过程中,A还可以将发送给B的SYN请求连接包的源地址不断的更改,导致攻击难以追查,并且A还可以控制很多其他的“肉机”D,C等等同时发动攻击,加大攻击力度和攻击效果。

⒊CC攻击

对于大多数的WEB服务器和游戏服务器而言,CC攻击恐怕是最具危险性的了。他的具体工作过程如下图:

同时发送页面请求 对C发送页

面请求

攻击成功 !

简要分析:在CC攻击中,对于A而言,获取大量的代理服务器并非难事,发送页面请求后,会有很多代理服务器同时对C请求页面,由于所申请的页面开销较大,很容易导致C的流量超载和资源耗尽,最终走向“拒绝服务”的道路。而该攻击中,代理服务器其实是合法的,很多服务器都需要和他有相关的服务,所以很难屏蔽由他带来的“骚扰”,同时也导致了这种攻击的难以防范。

⒋UDP,ICMP和DRDOS攻击及其变种

控制肉机 发送请求

或连接

攻击成功!

简要分析:很多时候我们会听到有人说PING死某某。其实是用了ICMP的工作原理。他有如下功能:

0 响应应答(ECHO-REPLY)

3 不可到达

4 源抑制

5 重定向

8 响应请求(ECHO-REQUEST)

11 超时

12 参数失灵

13 时间戳请求

14 时间戳应答

15 信息请求(*已作废)

16 信息应答(*已作废)

17 地址掩码请求

18 地址掩码应答

左边的数字表示ICMP的类型值,后面是对该类型的简要理解,PING死某某,其实是发送了8号响应请求报文,在没有关闭0号响应应答的服务器会返回一个0号响应应答报文。这样一来,如果带宽或资源处理能力B+D+…>C的话,那么C就无法响应正常其他主机的请求而“拒绝服务”。这是最典型的一种ICMP_FLOOD而已。

如果从这种”比带宽,比资源”的角度来说,那么UDP_FLOOD和DRDOS_FLOOD就算是ICMP_FLOOD的一个变种了吧。所不同的是UDP是利用端口的应答回复。

然而更有趣的是DRDOS_FLOOD攻击,因为以上那些都是通过控制肉机来攻击C的话,DRDOS_FLOOD则是通过“欺骗”很多机器(可以不是肉机)去攻击C,这就好像一个“骗子”A告诉大家说C很有钱,然后大家都一起去C那“打劫”,攻击他。这看上去很玄乎,其实很简单,A发送大量的数据包(比如SYN请求包)给很多机器B,D,…,并伪造源地址为C,当B,D等机器收到报文后误以为是C发来的信息,就都不约而同的给C返回信息。这样就很容易达到“拒绝服务”的效果了!正因为A对各种肉机或机器发送的报文不一样,产生的攻击手段也可以不一样,但是最终效果都是“拒绝服务”,所以就有了很多DDOS攻击的变种。这里就不一一介绍了。

详情点击sharesec或QQ***********
相似回答