DNS – 垃圾邮件recursion查询

我在本地ISP环境中使用PowerDNS Recursor。 recursion只允许从我们的IP范围,但我有一个奇怪的问题。 我们自己的客户PC持续攻击我们的DNS服务器,例如:

15:43:38.473842 IP [CLIENT_IP].51097 > [DNSSERVER_IP].domain: 42318+ A? qhmrazabkvghwtgv.www.dl26.com. (47) 15:43:38.474161 IP [CLIENT_IP].40825 > [DNSSERVER_IP].domain: 14848+ A? yzqxqtklodgzuv.www.dl26.com. (45) 15:43:38.474443 IP [CLIENT_IP].34094 > [DNSSERVER_IP].domain: 35692+ A? inahybijsvqt.www.sf97.net. (43) 15:43:38.474953 IP [CLIENT_IP].39432 > [DNSSERVER_IP].domain: 7105+ A? kpkfgrsxihst.www.tpa.net.cn. (45) 

远程域几乎总是.cn一个,但域名的其余部分不断变化。 最简单的解决scheme是在iptables上添加基于hashlimit的规则,但是客户端在NAT后面,所以到达DNS的stream量被标记为集中器IP。 我也试过使用spywaredomains区域,但远程域不断变化,所以我不能真正阻止它。 具有SPAM域的请求数量导致PowerDNS Cache过度增长,并且也大大增加了remote_timeout计数。 有什么办法来防止这种stream量,并使DNS像魅力再次工作?

这是最近在野外见到的针对权威DNS服务器的分布式攻击之一。 (不要与更受欢迎的DNS放大攻击相混淆)受害者是负责离TLD最近的域名的域名服务器 – tpa.net.cnsf97.net等。攻击策略是生成不会是caching。

这不仅仅是阻止个人客户的问题。 如果您看到这一点,通常是以下因素之一的症状:

  • 您正在运行一个“开放的parsing器”,一个互联网可访问的cachingDNS服务器。
  • 您的客户正在使用开放式parsing器并将查询转发给您的域名服务器。 (这比大多数人想象的更普遍)

根据我的经验,您需要确定哪些是这种情况,并采取措施将滥用媒介减less到您的networking中。

http://blog.powerdns.com/2014/02/06/related-to-recent-dos-attacks-recursor-configuration-file-guidance/

Linux上的许多PowerDNS安assembly置为消耗(远)更多的文件描述符比实际可用…要修复,有四个选项:

  1. 将max-mthreads减less到512(或线程为1,最大线程数为1024)(max-mthreads在Recursor 3.2中引入;但如果你运行的是旧版本,请升级它!)
  2. 在启动之前运行“ulimit -n 32768”(也许把它放在/etc/init.d/脚本中)。 没有理由跳过这个号码。
  3. 研究/etc/security/limits.conf中的默认值
  4. https://github.com/Habbie/pdns/commit/e24b124a4c7b49f38ff8bcf6926cd69077d16ad8申请补丁

http://blog.powerdns.com/2014/04/03/further-dos-guidance-packages-and-patches-available/ (释义):

从git头部安装recursor(快照在文章中列出的各种url或自己find一个在https://autotest.powerdns.com/ ),或者及时,发布版本3.5.4或更高版本。 然后将server-down-max-fails设置为合适的数字。 我们build议32或16在重度攻击下。

你可以做的是阻止客户端到达名称服务器。 另一种解决scheme是清理客户端系统。 我个人build议做第二件事,第一件事情只有当你将客户端redirect到一个有警告页面的IP并帮助他们解决问题时才会很好。