DDos防护系列之1--什么是DDos?

一、什么是DDos

DDoS:Distributed Denial of Service即分布式拒绝服务。攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

二、DDos攻击类型
有以下一些类型,但不限于: 畸形报文、传输层(4层)DDoS攻击、Web应用DDoS攻击、DNS DDoS攻击、连接型DDoS攻击。
1. 畸形报文
非标准的报文格式,有些机器解析这些报文时耗时很大,甚至出错,更甚至崩溃。大量的这种报文对目标机器构成很大威胁。
有以下畸形包种类: frag flood,smurf,land flood攻击,ip畸形包、tcp畸形包、udp畸形包等。
(1)frag flood:链路层MTU限制了数据帧的最大长度,不同网络类型都有一个上限值。以太网MTU是1500,可以用netstat -i命令查看。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就会对数据包进行分片,使每一片长度小于或等于MTU。IP首部有两个字节表示数据包的大小,所以IP数据包最长只能为0xFFFF,就是65535字节。如果发送总长度超过65535字节的IP碎片,一些老的系统内核在处理的时候就会出现问题,导致崩溃或拒绝服务。如果分片之间偏移量经过精心构造,一些系统就无法处理。
(2)smurf:修改目的地址,并发送ICMP echo广播报文到一个网络中,此网络中的所有机器都发送ICMP echo-reply到目的地址机器,此机器遭到攻击
(3)land flood:源目IP相同的IPv4报文,一个特别打造的SYN包中的源地址和目标地址都被设置成某一个服务器地址,这时将导致接受服务器向它自己的地址发送SYN一ACK消息,结果这个地址又发回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时掉。对Land攻击反应不同,许多UNIX系统将崩溃,而 Windows NT 会变的极其缓慢(大约持续五分钟)。
(4)ip畸形包:数据包中的总长度、版本等错误
(5)tcp畸形包:syn/syn-ack里的option和payload有错误
(6)udp畸形包:包长度和payload有错误

2. 传输层DDos攻击:
通过大流量的方式对目标机器造成攻击。有以下攻击类型: syn flood,syn-ack flood,ack flood,fin/rst flood,udp flood,icmp flood(这个属于网络层)等。
(1)syn flood:一个用户向服务器发送syn报文后,如果服务器在发出sys+ack报文后无法收到客户端ack报文,这种情况下服务器端一般会重试(再次发送syn+ack给客户端),并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为syn timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分)。一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量的模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行syn+ack的重试。
(2)syn-ack flood:SYN-ACK报文出现在第二次握手中,是用来确认第一次握手的。一方收到SYN-ACK报文后,首先会判断该报文是不是属于三次握手范畴之内的报文。如果都没有进行第一次握手就直接收到了第二次握手的报文,那么就会向对方发送RST报文,告知对方其发来报文有误,不能建立连接。SYN-ACK Flood攻击正是利用了这一点,攻击者利用工具或者操纵僵尸主机,向目标服务器发送大量的SYN-ACK报文,这些报文都属于凭空出现的第二次握手报文,服务器忙于回复RST报文,导致资源耗尽,无法响应正常的请求。
(3)ack flood:在收到一个ACK报文时,如果目的端口未开放,那么端系统会直接向源IP发送RST报文。如果端系统的相关端口是对外开放的,那么其在收到ACK报文时,首先会检查这个ACK报文是否属于TCP连接表中的一个已有连接(这个过程会对端系统主机CPU资源造成一定的消耗),如果是的话,则正常处理,如果不属于任何一个已有连接,那么端系统会向源IP发送RST报文。
(4)fin/rst flood:TCP交互过程中还存在FIN和RST报文,FIN报文用来关闭TCP连接,RST报文用来断开TCP连接。这两种报文也可能会被攻击者利用来发起DDoS攻击,导致目标服务器资源耗尽,无法响应正常的请求。
(5)udp flood:利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。攻击者发送大量的伪造源IP地址的小UDP包,因为是无连接性的协议,所以只要开了一个UDP的端口提供相关服务的话,那么就可以针对相关的服务进行攻击。
(6)icmp flood:通过向目标发送大量的大包。

3. Web应用DDoS攻击
现在Web应用如此的多,攻击类型分为: http get flood, http post flood, cc攻击等。
(1)http get flood:攻击者利用攻击工具或者操纵僵尸主机,向目标服务器发起大量的HTTP GET报文,请求服务器上涉及数据库操作的URI或其它消耗系统资源的URI,造成服务器资源耗尽,无法响应正常请求。
(2)http post flood:攻击者利用攻击工具或者操纵僵尸主机,向目标服务器发起大量的HTTP POST报文,消耗服务器资源,使服务器无法响应正常请求,这就是HTTP POST Flood攻击。
(3)cc攻击:CC攻击利用代理服务器向网站发送大量需要较长计算时间的URL请求,如数据库查询等,导致服务器进行大量计算而很快达到自身的处理能力而形成DOS,而攻击者一旦发送请求给代理后就主动断开连接,因为代理并不因为客户端这边连接的断开就不去连接目标服务器,因此攻击机的资源消耗相对很小,而从目标服务器看来,来自代理的请求都是合法的。

4. DNS DDoS攻击
域名作为广大民众访问互联网的起点和入口,是全球互联网通信的基础。域名解析系统作为承载全球亿万域名正常使用的系统,是互联网的基础设施。而域名系统又是一种公开服务,很容易被黑客作为攻击的对象。域名系统的故障会导致互联网陷入瘫痪,所以保护域名系统也变得至关重要。DNS DDoS攻击类型有: DNS Request Flood、DNS Reply Flood和缓存投毒等。
(1)DNS Request Flood:黑客伪造客户端源IP发送大量的DNS请求报文,造成DNS request flood攻击。DNS request flood是当前最常见的DNS攻击,这类攻击可以针对缓存服务器,也可以针对授权服务器。
(2)DNS Reply Flood:DNS服务器收到DNS reply报文时,不管自己有没有发出去过解析请求,都会对这些DNS reply报文进行处理。DNS reply flood就是黑客发送大量的DNS reply报文到DNS缓存服务器,导致缓存服务器因为处理这些DNS reply报文而资源耗尽,影响正常业务。
(3)DNS反射攻击:DNS反射攻击是DNS reply flood的一种变异,顾名思义,黑客伪造源地址发起request,reply都返回到目标机器上。
(4)DNS缓存投毒:缓存投毒攻击就是黑客伪造了恶意的DNS reply报文,导致缓存服务器无意中将恶意的域名和IP地址映射关系存储到自己的缓存中。当客户端再通过缓存服务器请求这个域名解析时,就会被指向恶意主机。

5. 连接型DDoS攻击
连接型攻击类型分为: TCP连接耗尽攻击,TCP慢速连接攻击,连接耗尽攻击,loic, hoic, slowloris, Pyloris, xoic等慢速攻击。
(1)TCP连接耗尽攻击:攻击者与被攻击目标完成三次握手后,立刻发送FIN或RST报文,释放本端连接,同时快速发起新的连接,以此来消耗被攻击目标的系统资源。
(2)TCP慢速连接攻击:攻击者与被攻击目标完成三次握手后,发送很少的报文来维持连接状态,通过这种异常的TCP连接来消耗被攻击目标的系统资源。攻击者还会使用一些其他的攻击手段,比如构造大量的并发连接、设置很小的TCP窗口、发送重传报文等,其目的都是消耗被攻击目标的系统资源。
(3)loic, hoic, slowloris, Pyloris, xoic等都是攻击工具。


  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值