Dos攻击的方式及解决方案

1-死亡之ping

ping实用程序使用的ICMP包很大(如65535字节),远远大于普通大小(32字节)时,它就会被分片,分割为网络可以处理的大小。服务器处理大量ICMP包时会消耗大量系统资源,最终资源耗尽,导致瘫痪。

解决办法:可以禁止使用ping,或者防火墙配置ICMP协议的访问规则。

2-着陆攻击 Land Attack

请求TCP连接发送SYN包时,SYN包具有相同源地址与目的地址,均设置为服务器地址。这样,服务器回送SYN/ACK包时,发现目的地址就是自己,导致服务器不断向自己发送SYN/ACK包,最终造成系统崩溃。

解决办法:在给服务器之前加一道防线,设定规则抓包分析,如果发现源地址与目的地址相同则丢弃。

3-TCP SYN Flood

该攻击利用了TCP连接中的安全缺陷。客户机向服务器发送SYN包时,服务器会向客户机发送SYN/ACK包。然后,客户机向服务器ACK包建立TCP连接。如果最后一步客户机不向服务器发送ACK包,则服务器一直等待,处于SYN received状态。不断重复这一过程,服务器的缓冲将被全部耗尽,从而瘫痪。

可以购买高防服务,服务中常见的SYN Flood防御算法有:

• SYN Cookies[1]

原理是根据SYN包计算出一个cookie值,判断为合法才发送给服务端进行处理。虽然SYN-Cookie避免了内存空间被爆掉,但是却引来了CPU时间被爆掉的机会,这又是一种时间-空间之间的权衡!如果攻击者发送大量的ACK包过来,那么被攻击机器将会花费大量的CPU时间在计算Cookie上,造成正常的逻辑无法被执行,同时即便是大量的SYN包也可以将CPU爆满。

• SYN Proxy

原理就是在给源站之前部署一个代理,发送到服务端的请求,如果完成了三次握手就原封不动的转发给源站,如果没有,则不提交请求给源站了。需要注意的是TCP使用的序号要进行重新设置才能正常发送。

• SYN Reset

原理是防火墙模拟服务端回复错误的ACK,当客户端收到错误的ACK会返回一个reset,那么这样防火墙就知道客户端是一个正常的请求。下一次客户端再请求时就可以进行放行。

4-Slowloris Attack

黑客向服务器发送非正常的HTTP请求头,服务器认为请求部分没有结束,保持连接不释放,继续等待完整请求。随着这种开放状态的连接数量增加,服务器连接数会很快达到上限,从而无法处理新的请求。

正常的HTTP头以/r/n/r/n结束。web服务器通过查找/r/n/r/n判断HTTP头结束,然后继续后面的服务请求处理工作。Slowloris攻击使用的HTTP头只以/r/n结尾,所以web服务器认为HTTP还没有结束,保持连接。攻击开始后数分钟内,web服务器就会陷入瘫痪,无法继续对外提供服务。

解决办法:

  • 升级硬件配置,增加允许的最大连接数;
  • 限制来自同一IP的连接个数;
  • 安装防火墙,拦截有错误的HTTP头。

5-Tear Drop攻击

传送大数据包时,会先对数据包进行分片,这些分片达到目的地时再重新组装。分片数据包含分片的偏移量,可以通过操纵偏移量,使其大于实际值,造成重叠偏移。这会引发服务器溢出问题,使服务器陷入瘫痪。

解决办法:

将收到的分片报文放入缓存中,根据源地址IP和目的IP进行分组,相同源和目的IP的为一组,然后对每组IP报文的分片进行检查,如果偏移量正确则传送给服务端,否则丢弃。如果缓存满了,则直接丢弃后续分片报文。

6-Smurf 攻击

类似于着陆攻击,利用ICMP包的特性,发送ICMP包之前,先将ICMP包的源地址改为目标服务器地址。这样,每个接收到ICMP请求的主机都会做出答复,导致服务器被大量ICMP响应吞没,网络发生阻塞,从而拒绝为正常请求服务。

常见解决方法包括:

  • 如果是在内网发起:配置路由器禁止IP广播包进网。

在路由器上禁止ICMPECHOREPLY包进入,几乎在所有的情况下,这种功能是不必要的。应该在网络的所有路由器上都禁止这个功能,而不仅仅在与外部网络连接的路由器上禁止。例如,网络上有5个路由器连接着10个LAN,则应该在这5个路由器上都禁止IP广播包通过。

配置网络上所有计算机的操作系统,禁止对目标地址为广播地址的ICMP包响应。虽然对路由器进行了禁止网外ICMP广播包的进入,但是攻击者可能已经攻破了网络内部的某台主机,攻击者仍然可以使用网络上这台被他控制的主机发起Smurf攻击。

  • 如果是外网发起:与ISP协商

对被攻击的目标而言,要防止接收到大量的ICMPECHOREPLY包的攻击没有一个简单的解决办法。虽然可以对被攻击网络的路由器进行配置,禁止ICMPECHOREPLY包进入,但这并不能阻止网络路由器到其ISP 之间的网络拥塞。

ISP也就是网络服务提供商,国内基本上就是三大运营商:电信、联通、移动。部分可以提供这类抗D服务。或者购买专业的抗D厂商(这些厂商也购买了运营商的服务),好处就是厂商会摊薄成本,因为购买一次性投入大,如果大家共享使用,就可以按需付费,减少支出成本。

国外有的是自建网络,比如云厂商会有自己的网络,那么他们可以控制网络上的策略,也是购买抗D服务进行配置即可。

7-HTTP洪水攻击

黑客操控大量僵尸主机,利用这些僵尸主机大量调用正常服务,使服务瘫痪。这种使用大量主机发送攻击的成功率更高。也被称为ddos攻击。

解决办法:很难针对这种ddos攻击进行有效防御,需要接入高防机房,结合威胁情报进行过滤。

8- DNS Query Flood

通过向被攻击的服务器发送海量的域名解析请求,并且这些域名都是不存在的,被攻击的DNS服务器在接收到域名解析后,首先会在服务器上查找是否存在,没有的时候会向上层DNS服务递归查询域名信息。大量不存在的域名解析请求会给服务器带来很大的负载,造成DNS服务器域名解析超时。DNS服务器崩溃后,依赖DNS服务器的其他web应用也就无法正常提供服务了。

解决办法:在流量入口网关处建立已有域名白名单,首先跟名单中的域名比对,如果一致,则放行,不一致则拦截。域名白名单人力维护不现实,如果有资产管理系统可以结合应用起来,通过同步资产管理系统的域名,自动更新域名白名单。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值