共计 1305 个字符,预计需要花费 4 分钟才能阅读完成。
在 DDOS 防护过程中,流量清洗是必不可少的技术操作。那么精准的流量清洗具体是通过什么样的方式实现的呢? 其中会有多种的技术方式辨识。昨天给大家分享了流量清洗过程中必要的技术手段中的三个,攻击特征匹配、IP 信誉检查、协议完整性检测。今天的内容主要分享速度检查与限制、TCP 代理和验证、客户端真实性验证的技术手段。
1、通过对请求数据包发送的速度检查与限制来进行清洗。一部分攻击在数据包上是没有特别明显的攻击特性,同时也没有办法进行特征匹配。但在请求数据包发送的频率和速度上会有着明显的差异。比如在受到 SSL DDoS 攻击时,会在同一个 SSL 会话中进行加密密钥的多重协商。正常情况下是不会反复多重协商加密密钥的。所以在流量清洗的时候,如果发现 SSL 会话中的密钥协商次数超过了特定的阈值,会直接中断这个会话并且把来源加入黑名单中。或者是慢速的 POST 请求攻击时,客户端和服务器之间会以低速率进行互相数据传输。在清洗过程中发现 HTTP 请求长时间没有完成传输,就会中断会话,这种一般是通过速度检查和限制来进行清洗的。相比 UDP 洪水攻击等是没有明显的特征,此种是通过大流量攻击,流量清洗的缓解技术是限制流量速度。
2、针对 TCP 协议代理和验证:如 SYN Flood 洪水攻击的方式是利用了 TCP 协议的弱点,将被攻击的服务器连接表占满,使其无法创建新的连接而达到拒绝服务的目的。那么在 SYN 请求达到一定数量清洗后,就会回复一个 SYN+ACK 数据,等待客户端回复。确定 SYN 请求是正常的用户,客户端就会对 SYN+ACK 进行响应,同时流量清洗技术会代替用户并且保护服务器建立了 TCP 连接,然后将连接加入信任列表当中。这样用户端和服务端之间可以进行正常的数据通信。如果 SYN 请求来自攻击者,通常不会对 SYN+ACK 响应,所以只是单方面的连接,流量清洗技术会暂时保留一段时间这个单方面的连接,经过一定的短的时间就丢弃它。所以相比保护服务器,流量清洗技术会对连接表进行优化,也能处理很大的连接请求。因此清洗设备保护了服务器,也不会使其消耗任何的连接资源,性能不会受影响。
3、流量清洗过程中还会对客户端真实性验证,主要是对客户端的程序以及应答模式的相互验证。以此来检查客户端能否完成特定的功能和确认请求数据是否来自真实的客户端。在页面的 WEB 服务中,通过检查客户端是否支持 JavaScript 来验证请求来源是否是真实的浏览器客户端。在收到 HTTP 请求是,流量清洗技术会试用 JavaScript 等脚本语言发送简单的运算操作。一般对真实的浏览器请求会进行正确的运算结果返回,这个时候流量清洗将验证后的请求跳转到 Web 服务器上的正常资源位置,以此不影响正常的用户访问。如果是攻击工具发送的,是不会返回正常的运算结果,因此流量清洗技术会直接丢弃这样请求,不会让其跳转到 Web 服务器的连接,服务器也不会受到影响。
DDoS 攻击的防御技术随着攻击的提升也在增强中。从最初的拒绝服务变为了分布式拒绝服务,而且还在变异中,所以缓解的技术也是越来越深奥。墨者安全我力所能及的分享一些关于 DDOS 攻防的技术,网络安全方面的知识以及见解,对此大家有各自的观点可以相互交流。