首页 > 代码库 > 使用bind新功能rate-limit防止DNS放大攻击和流量攻击
使用bind新功能rate-limit防止DNS放大攻击和流量攻击
目前好多做DNS解析的服务,都采用了bind开源软件。好处就不多说了。但是在安全方面是个软肋,遭受DDOS流量攻击和放大攻击是常有的事情。在14年12月isc发布了最新的bind9.10-p1稳定版,同时对rate-limit默认支持(之前bind9.9的扩展支持版本,同样支持处于开发功能,需要在编译安装的时候./configure --enable-rrl开启rate-limit功能)。rate-limit可以有效防止放大攻击和DDOS流量攻击。
DDOS流量攻击就不多说了,关于放大攻击原理,大家可参考博文:
http://blog.sina.com.cn/s/blog_90bb1f200101iazl.html
http://blog.csdn.net/yatere/article/details/6418888
https://blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-attack/
isc官方对放大攻击的解释:
https://kb.isc.org/article/AA-00897/11/What-is-a-DNS-Amplification-Attack.html
正常DNS递归查询
DNS放大攻击示例
了解了DNS放大攻击后,我们来看下bind最新功能rate-limit的使用方法:
isc官方给出的说明:
https://kb.isc.org/article/AA-00994/189/Using-the-Response-Rate-Limiting-Feature-in-BIND-9.9-Subscription-Version.html
在我们的named.conf配置文件中,添加方法可参考如下配置方式:
options{ ....... rate-limit { ipv4-prefix-length 32; window 10; responses-per-second 20; errors-per-second 5; nxdomains-per-second 5; slip 2; }; .......... };
关于参数具体使用说明情况,大家可参考bind手册Page53-P59的说明情况。
同样,在此之前,或者不愿升级bind的,可通过iptables防止DDOS攻击和放大攻击
iptables -A INPUT -p udp --dport 53 -m recent --set --name dnslimit iptables -A INPUT -p udp --dport 53 -m recent --update --seconds 60 --hitcount 11 --name dnslimit -j DROP
效果也不错。大家可有选择性的去使用。
本文出自 “ComeFrom二龙山下/七道门” 博客,转载请与作者联系!
使用bind新功能rate-limit防止DNS放大攻击和流量攻击