Ddos的***方式有很多种,最基本的Dos***就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。

在信息安全的三要素——“保密性”、“完整性”和“可用性”中,DoS(Denial of Service),即拒绝服务***,针对的目标正是“可用性”。该***方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。

DDos***

Ddos的***方式有很多种,最基本的Dos***就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。单一的DoS***一般是采用一对一方式的,当***目标CPU速度低、内存小或者网络带宽小等等各项指标不高的性能,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS***的困难程度加大了-目标对恶意***包的"消化能力"加强了不少。这时候分布式的拒绝服务***手段(DDoS)就应运而生了。DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。

一、***方式

  1. Synflood
    该***以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYN ACK后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK一直维护着这些队列,造成了资源的大量消耗,最终导致拒绝服务。

  2. Smurf
    该***向一个子网的广播地址发一个带有特定请求(如ICMP回应请求)的包,并且将源地址伪装成想要***的主机地址。子网上所有主机都回应广播包请求而向被***主机发包,使该主机受到***。

  3. Land-based
    ***者将一个包的源地址和目的地址都设置为目标主机的地址,然后将该包通过IP欺骗的方式发送给被***主机,这种包可以造成被***主机因试图与自己建立连接而陷入死循环,从而很大程度地降低了系统性能。

  4. Ping of Death
    根据TCP/IP的规范,一个包的长度最大为65536字节。尽管一个包的长度不能超过65536字节,但是一个包分成的多个片段的叠加却能做到。当一个主机收到了长度大于65536字节的包时,就是受到了Ping of Death***,该***会造成主机的宕机。

  5. Teardrop
    IP数据包在网络传递时,数据包可以分成更小的片段。***者可以通过发送两段(或者更多)数据包来实现TearDrop***。第一个包的偏移量为0,长度为N,第二个包的偏移量小于N。为了合并这些数据段,TCP/IP堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动。

  6. PingSweep
    使用ICMP Echo轮询多个主机。

  7. Pingflood
    该***在短时间内向目的主机发送大量ping包,造成网络堵塞或主机资源耗尽。

二、防御方法

  1. 按***流量规模分类
    (1) 较小流量:
    小于1000Mbps,且在服务器硬件与应用接受范围之内,并不影响业务的: 利用iptables或者DDoS防护应用实现软件层防护。
    (2) 大型流量:
    大于1000Mbps,但在DDoS清洗设备性能范围之内,且小于机房出口,可能影响相同机房的其他业务的:利用iptables或者DDoS防护应用实现软件层防护,或者在机房出口设备直接配置黑洞等防护策略,或者同时切换域名,将对外服务IP修改为高负载Proxy集群外网IP,或者CDN高仿IP,或者公有云DDoS网关IP,由其代理到RealServer;或者直接接入DDoS清洗设备。
    (3) 超大规模流量:
    在DDoS清洗设备性能范围之外,但在机房出口性能之内,可能影响相同机房的其他业务,或者大于机房出口,已经影响相同机房的所有业务或大部分业务的:联系运营商检查分组限流配置部署情况并观察业务恢复情况。

  2. 按***流量协议分类
    (1) syn/fin/ack等tcp协议包:
    设置预警阀值和响应阀值,前者开始报警,后者开始处理,根据流量大小和影响程度调整防护策略和防护手段,逐步升级。
    (2) UDP/DNS query等UDP协议包:
    对于大部分游戏业务来说,都是TCP协议的,所以可以根据业务协议制定一份TCP协议白名单,如果遇到大量UDP请求,可以不经产品确认或者延迟跟产品确认,直接在系统层面/HPPS或者清洗设备上丢弃UDP包。
    (3) http flood/CC等需要跟数据库交互的***:
    这种一般会导致数据库或者webserver负载很高或者连接数过高,在限流或者清洗流量后可能需要重启服务才能释放连接数,因此更倾向在系统资源能够支撑的情况下调大支持的连接数。相对来说,这种***防护难度较大,对防护设备性能消耗很大。
    (4) 其他:
    icmp包可以直接丢弃,先在机房出口以下各个层面做丢弃或者限流策略。现在这种***已经很少见,对业务破坏力有限。