分布式拒绝服务攻击 - DDOS
07 Jan 2017
Reading time ~1 minute
DDOS
本文承接上文,尝试对 DDOS 进行概要的阐述。
DDOS 又称为分布式拒绝服务,全称是 Distributed Denial of Service。DDOS 将正常请求放大若干倍,通过若干个网络节点同时发起攻击,以达成攻击效应。
常见的 DDOS 攻击有 SYN flood、UDP flood、ICMP flood 等。
SYN flood 利用 TCP 协议设计中的缺陷,大量发送伪造源地址的 SYN 请求,服务器则消耗资源处理这种半连接以及 SYN + ACK 重试。最终导致服务器无暇理睬正常的连接请求,导致拒绝服务。
网络层的 DDOS 攻击一般使用各种算法,结合 DDOS 攻击的特征,对流量进行清洗。防御手段需要网络设备、集群扩展甚至网络运营商有关,在此不做深入讨论。
应用层 DDOS
CC 攻击
对一些消耗资源较大的应用页面不断发起正常请求,以达到消耗服务端资源的目的。
防御
- 应用代码做好性能优化。利用缓存,及时释放资源。
- 网站架构做优化。利用负载均衡分流,采用 CDN 等。
- 实现一些对抗手段。在应用中针对每个 “客户端” 做一个请求频率的限制。
资源耗尽攻击
Slowloris 攻击
以极低的速度往服务器发送 HTTP 请求。由于 Web Server 对并发的连接数都有一定得上限,因此若是恶意占用这些连接不释放,那么 Web Server 的所有连接都将被恶意连接占用,从而无法接受新的请求,导致拒绝服务。
参考文章: Secure Apache Server from DDoS, Slowloris, and DNS Injection Attacks
HTTP POST DDOS
在发送 HTTP POST 包时,指定一个非常大的 Content-Length 值,然后以很低的速度发包,保持住这个连接不断开。这样当客户端连接数多了以后,占住了 Web Server 的所有可用连接,从而导致 DDOS.
alcat2008
Dreamer, Practitioner, Incomplete Front-ender