分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,用分布在网络的大量机器同时向服务器发起攻击,具体的攻击手段有下面四种:
1. SYN Flood攻击
先解释tcp三次握手的过程
Linux或者unix系统会对“未完成连接队列”和“已完成连接队列”有个总量限制,如果大量客户端同时发起连接,超过队列容量的会被拒绝,一般情况下,完成三次握手的过程是很快,不会填满队列。
但是如果攻击机伪造ip地址,导致被攻击机ack响应发送到一个虚无的地址,被攻击机无法收到客户端的ack,导致未完成连接队列堆积越来越多,当队列满后,来自正常用户机器的请求都被拒绝掉
2. ack Flood攻击
攻击机不断向被攻击机发送ack包,被攻击机检查本机是否开放ack包中端口是否开放,没有则响应rst包,如果端口已经开放,检查ack包是否是被攻击机中已经建立的连接,不是则响应rst包,是则把rst返回给上层应用处理。
整个rst的校验过程是比较快,可见rst攻击对服务器的影响比较小,rst包会占用服务器的内存,只会消耗部分内存资源
3. udp Flood攻击
攻击机同时向被攻击机发送很多大容量的udp包,占满被攻击机的带宽和服务器资源,导致无法响应正常用户的请求。
4. icmp Flood攻击
如第三点,不同的是发送icmp包