SYN flood
伪造大量的源IP地址,分别向服务器端发送大量的SYN包,此时服务器端会返回SYN/ACK 包,因为伪造的IP并不会答应,服务器端并没有收到伪造的IP的回应,会重试3~5次并等待一个SYN的时间(30s-2min),如果超时则丢弃。
1、应用层DDos
CC攻击
对一些消耗资源较大的应用页面不断发起正常的请求,已达到消耗服务器资源的目的。
1)爬虫爬死
2)入侵一个流量很大的网站,通过篡改页面,将巨大的用户流量分流道目标网站
措施:
1)在应用程序中为每个“客户端”做一个请求频率限制
如果IP地址不断发生变化(使用代理服务器),就不能有效防御
2)代码性能优化,数据库压力转到内存中,及时释放资源;网络架构上做好优化;实现对抗手段:显示每个IP地址的请求频率
2、验证码:
阻止自动化的重放行为
不是万能的,有识别软件,用户体验不好
3、预防应用层DDoS
让客户端解析一段JavaScript,并给出正确的运行结果
4、资源耗尽攻击
Slowloris:以极低的速度速度网服务器发送HTTP请求,由于Webserver对于并发的连接数都有一定的上限,当恶意地占用在这些资源不释放时,所有连接将被恶意占用,从而无法接受新的请求,导致拒绝服务。
HTTP Post DOS:类似于Slowloris,发送HTTP Post包
Server Limit DOS:Apache所能接受的最大的HTTP包头大小为8192字节(Request Header,若是Request Body默认大小是2GB),如果客户端发送的的HTTP包头超过这个大小,服务器就会返回一个错误4xx。
假如攻击者通过XSS攻击,恶意往客户端写入一个超长的Cookie。由于Cookie也是放在HTTP包头里发送的,二Web Server默认会认为这是一个长长的非正常请求,从而导致客户端的拒绝服务。
5、正则:ReDos
代码缺陷,遍历消耗