我们大多数人第一眼看到这个DDOS都不懂。事实上,简单通俗地说,DDOS攻击就是利用带宽流量来攻击服务器和网站。
比如服务器当前的带宽是100M,突然有200M带宽的流量从外部进来,服务器根本承受不了这200M带宽的流量,服务器的网络瞬间就会瘫痪,这会让服务器无法连接,甚至会让服务器中的网站无法打开,因为200M带宽的流量已经占用了整个服务器的100M带宽。
再举一个更通常的例子:一家餐厅通常可以容纳100人用餐。因为同行竞争,对面餐厅的老板雇了200个社会小混混在餐厅吃饭,导致餐厅里顾客爆满,无法接受正常客人来餐厅吃饭。这就是DDOS攻击,利用流量占用服务器的带宽,导致没有额外的带宽为用户提供网站访问
DDOS流量攻击的种类很多,包括UDP-flood流量攻击、TCP-flood流量攻击、ICMP-flood流量攻击、TCP/UPD/ICMP分片流量攻击、SYN-flood流量攻击、ACK-flood流量攻击、zeroWindow攻击、SSL-flood攻击、SSLkeyrenego攻击、DNS反射放大流量攻击、NTS反射、NTP反射和SNMP。
UDP-flood是UDP协议中的一种流量攻击,其特点是伪造大量真实IP,向被攻击服务器发送少量数据包。只要服务器打开UDP端口,就会受到流量的攻击。如何防御这种流量攻击,设置UDP的数据包数据大小,严格控制要发送的数据包大小,丢弃超过一定值的数据包。另一种防御方法是只能发送带有TCP链接的IP,否则可以直接拦截该IP。
Icmp是一种利用ICMP协议PING服务器,放大ICMP的长度和数据包的字节来攻击服务器的攻击。TCP-flood攻击是一种使用TCP三次握手协议的攻击。特殊攻击是伪造大量真实的IP连接到被攻击的服务器,导致服务器无法承载更多的TCP连接,服务器瘫痪。
SYN-Flood使用SYN协议在客户端协议上发送SYN数据,服务器接收并响应SYN和ACK响应。攻击者利用这种方法模拟大量客户端连接发送数据包,导致服务器瘫痪。
ACK-Flood的攻击类似于上面SYN的攻击。向服务器发送数据包也是同样的方式。攻击者使用确认包进行攻击。只要服务器接受ACK包,就会导致ACK连接过多,从而导致服务器资源耗尽。服务器没有额外的资源来接收确认包,因此无法打开服务器。
SSL-Flood是利用客户端不断的与SSL通道握手,SSL的资源比普通的用户访问HTTP网站消耗的资源还要多,会多出几十倍,配置低的服务器根本无法承载SSL的多次请求与握手,导致服务器的CPU占用到百分之90,没有多余的CPU去处理用户的访问。SSL流量攻击如何防御:禁用Renegotiating的安全机制来防御大量的SSL流量攻击。
反射放大性流量攻击
反射性的攻击,不管是DNS反射还是NTP反射,都是使用的UDP协议攻击,UDP协议里访问用户发送请求的数据包到服务器,服务器再反馈给用户端,那么用户端发送到服务器里的请求数据包里,用户的IP可以进行伪造,可以伪造成服务器的IP,服务器IP发送数据包到服务器IP里,这样就造成了反射攻击。
DNS反射攻击也是一样的道理,利用DNS服务器的解析进行攻击,伪造要攻击的服务器IP,进行DNS查询,并查询到DNS服务器里,DNS服务器返回数据包到要攻击的服务器IP中去,一来一去形成了反射流量攻击。