DNS request Flood 攻击
DNS Reply Flood 攻击
DNS 查询通常基于 UDP 协议,而 UDP 协议是无连接的,当 DNS 服务器收到 DNS reply报文时,不管自己有没有发出过解析请求,都会对 DNS reply 报文进行处理。DNS Reply Flood 就是黑客发送大量 DNS reply 报文给 DNS 服务器,导致消耗大量缓存服务器资源,无法正常解析 DNS 授权服务器发送的 DNS reply报文。
源认证
DNS Reply Flood 的源 IP 地址通常是伪造的,所以可以通过判断源 IP 地址的真假来防范攻击。这种方式通过构造一个 DNS request报文进行认证。
- DNS reply 报文超过阈值,收到 DNS reply 报文后会重新构造一个 DNS request 报文,并记录构造查询报文的Query ID和源端口号。
- 如果是真实源,则会回应 DNS reply 报文,如果与之前记录的 Query ID 和源端口号匹配成功,则加入白名单,认证成功。之后发送的报文直接通过。
- 如果是虚假源,则不会回应这个 DNS request 报文,认证不通过。
DNS 反射攻击
一种更高级的 DNS Reply Flood,攻击目标是客户端而不是 DNS 缓存服务器,并且 DNS 请求是真实的
利用限速防范 DNS Request Flood 和 DNS reply攻击
域名限速
如果某个域名的DNS请求或回应报文速率过高,可以针对这个域名进行限速。
源 IP 地址限速
如果某个源IP地址域名解析的速率过大,就可以有针对性的对这个源IP地址进行限制,这样也不会对其他源有影响。