高防服务器租用之ddos攻击详解
DDOS全名是Distributed Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击,DDOS最早可追溯到1996年最初,在中国2002年开始频繁出现,2003年已经初具规模。
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS 攻击,从而成倍地提高拒绝服务攻击的威力。
通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在Internet上的许多计算机上。
代理程序收到指令时就发动攻击。
利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
本文将会简单讲解DDoS攻击的现象、类型、特征、预防及防御手段。
一、DDoS攻击时的现象
●被攻击主机上有大量等待的TCP连接。
●网络中充斥着大量的无用的数据包,源地址为假。
●制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。
●利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务
请求,使受害主机无法及时处理所有正常请求。
●严重时会造成系统死机。
讯,代理程序已经被安装在Internet上的许多计
算机上。
代理程序收到指令时就发动攻击。
利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
二、DDoS攻击类型
从层次上可分为网络层攻击与应用层攻击
网络层攻击
●SYN-flood
SYN Flood 攻击是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负载或内存不足)的攻击方式。
建立TCP连接,需要三次握手(客户端发送 SYN 报文、服务端收到请求并返回报文表示接受、客户端也返回确认,完成连接)。
SYN Flood 就是用户向服务器发送报文后突然死机或掉线,那么服务器在发出应答报文后就无法收到客户端的确认报文(第三次握手无法完成),这时服务器端一般会重试并等待一段时间(至少 30s)后再丢弃这个未完成的连接。
一些简单的防御方法包括调整内核参数的方法,可以减少等待及重试,加速资源释放,在小流量syn-flood的情况下可以缓解,但流量稍大时完全不抵用。
防御syn-flood的常见方法有:syn proxy、syn cookies、首包(第一次请求的syn包)丢弃等。
●ACK-flood
DDOS的一种原始方式。
ACK Flood 攻击是在TCP连接建立之后进行的。
所有数据传输的TCP报文都是带有ACK标志位的,主机在接收到一个带有 ACK 标志位的数据包的时候,需要检查该数据包所表示的连接四元组是否存在。
如果存在则检查该数据包所表示的状态是否合法,然后再向应用层传递该数据包。
如果在检查中发现该数据包不合法(例如:该数据包所指向的目的端口在本机并未开放),对于虚假的ACK包,目标设备会直接回复RST包丢弃连接,所以伤害值远不如syn-flood。
●UDP-flood
使用原始套接字伪造大量虚假源地址的UDP包,以DNS协议为主,所以此种
攻击属于大流量攻击。
该类型攻击因为国内大部分机房是屏蔽UDP协议的,所以实际威胁并不大。
●ICMP-flood
此攻击属于大流量攻击,在短时间内向目的主机发送大量ping包,消耗主机资源,主机资源耗尽后就会瘫痪或者无法提供其他服务,如果服务器是禁PING 的,那么次攻击将无效。
应用层攻击
●CC攻击
CC攻击通过僵尸网络或大量匿名代理服务器,向目标发起大量真实的http 请求,最终消耗掉大量的并发资源,拖慢整个网站,造成拒绝服务。
CC 攻击的原理就是借助代理服务器针对目标系统的消耗资源比较大的页面不断发起正常的请求,造成对方服务器资源耗尽,一直到宕机崩溃。
相比其它的DDoS 攻击 CC 更有技术含量一些,这种攻击你见不到真实源 IP。
见不到特别大的异常流量,但造成服务器无法进行正常连接。
●DNS-flood
伪造源地址向目标DNS服务器发送大量DNS解析请求,而且查找的域名通常不存在。
DNS服务器首先会查找是否有对应的缓存,如果查找不到并且该域名无法直接由服务器解析的时候,DNS服务器会向其上层DNS服务器递归查询域名信息。
域名解析的过程给服务器带来了很大的负载,最终大量请求导致拒绝服务。
●慢速连接攻击
针对http协议,以知名的slowloris攻击为例:先建立http连接,设置一个较大的content-length,每次只发送很少的字节,让服务器一直以为http头部没有传输完成,这样的连接一多很快就会出现连接耗尽。
目前出现了一些变种,http慢速的post请求和慢速的read请求都是基于相同的原理。
其他包括JavaScript-based DDoS、WordPress pingback DDoS和Joomla反射攻击。
三、DDoS攻击常见分类(另一角度)
●流量攻击
通过使网络过载来干扰甚至阻断正常的网络通讯,这种叫大流量攻击。
通俗理解就是流量攻击是直接打带宽的。
●CC攻击(攻击系统/应用)
通过向服务器提交大量请求,使服务器超负荷,这种叫CC攻击。
CC攻击都是打的某个应用或服务的固定端口。
●混合攻击
流量与技巧并用
四、DDoS攻击的特征
●反射型
反射型攻击的本质是利用“质询-应答”式协议,将质询包的源地址通过原始套接字伪造设置为目标地址,则应答的“回包”都被发送至目标,如果回包体积比较大或协议支持递归效果,攻击流量会被放大,成为一种高性价比的流量型攻击。
例如,通过将SYN包的源地址设置为目标地址,然后向大量的真实TCP服务器发送TCP的SYN包,而这些收到SYN包的TCP服务器为了完成3次握手把SYN|ACK包“应答”给目标地址,完成了一次“反射”攻击,攻击者隐藏了自身。
●流量放大型
通过递归等手法将攻击流量放大的攻击类型,比如:以反射型中常见的SSDP 协议为例,攻击者将Search type设置为ALL。
搜索所有可用的设备和服务,这种递归效果产生的放大倍数是非常大的,攻击者只需要以较小的伪造源地址的查询流量就可以制造出几十甚至上百倍的应答流量发送至目标。
●混合型
在实际情况中,攻击者只求达到打垮对方的目的。
发展到现在,高级攻击者已经不倾向使用单一的攻击手段。
而是根据目标系统的具体环境灵动组合,发动多种攻击手段。
●脉冲型
由于其攻击流量展现出来的图形看起来很像不连贯的重复的脉冲状。
这类攻击通常呈现一个有上有下的斜三角形的形状,这个过程体现了攻击者正在慢慢地组装机器人并将目标对准待攻击的目标。
一次新的脉冲波攻击从零开始,在很短的时间跨度内达到最大值,然后归零,再回到最大值,如此循环重复,中间的时间间隔很短。
脉冲波型DDoS相对难以防御,因为其攻击方式避开了触发自动化的防御机制。
●链路泛洪
随着 DDoS攻击技术的发展,又出现了一种新型的攻击方式 Link Flooding Attack,这种方式不直接攻击目标而是以堵塞目标网络的上一级链路为目的。
对于使用了 IP Anycast的企业网络来说,常规的DDoS攻击流量会被分摊到不同地址的基础设施,这样能有效缓解大流量攻击。
所以攻击者发明了一种新方法,攻击至目标网络traceroute的倒数第二跳,即上联路由,致使链路拥塞。
五、DDoS攻击的预防
●定期检查服务器漏洞:定期检查服务器软件安全漏洞,是确保服务器安全的
最基本措施。
●系统资源优化,升级服务器硬件位置:有网络带宽保证的前提下,尽量提升
硬件配置,起关键作用的主要是CPU和内存,配置越高,处理能力越强,效率越快。
●关闭不必要的服务和端口:只开放服务端口成为目前很多服务器的流行做法,
例如WEB服务器只需要开放80而将其他所有端口关闭或在防火墙上做阻止策略。
●屏蔽特定的流量:如海外流量。
六、DDoS攻击的防御
●扩充带宽硬抗
网络带宽直接决定了能抗受攻击的能力,所以相对较高的带宽能更好的应对攻击。
●分布式集群防御
这是目前网络安全界防御大规模DDOS攻击的最有效办法。
分布式集群防御的特点是在每个节点服务器配置多个IP地址(负载均衡),并且每个节点能承受不低于10G的DDOS攻击,如一个节点受攻击无法提供服务,系统将会根据优先级设置自动切换另一个节点,并将攻击者的数据包全部返回发送点,使攻击源成为瘫痪状态,从更为深度的安全防护角度去影响企业的安全执行决策。
●异常流量的清洗过滤
通过DDOS硬件防火墙对异常流量的清洗过滤,通过数据包的规则过滤、数据流指纹检测过滤、及数据包内容定制过滤等顶尖技术能准确判断外来访问流量是否正常,进一步将异常流量禁止过滤。
●选用高性能设备
要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。