DNS - 垃圾邮件递归查询

DNS - 垃圾邮件递归查询

我在本地 ISP 环境中使用 PowerDNS Recursor。仅允许从我们的 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 域,但其余域名不断变化。最简单的解决方案是在 iptables 上添加基于哈希限制的规则,但客户端位于 NAT 后面,因此进入 DNS 的流量会标有集中器 IP。我也尝试过使用 spywaredomains 区域,但远程域不断变化,所以我无法真正阻止它。带有 SPAM 域的请求数量导致 PowerDNS Cache 过度增长,并且还大大增加了 remote_timeout 计数。有没有办法防御此类流量并让 DNS 再次正常工作?

答案1

这是近期在野外发现的针对权威 DNS 服务器的分布式攻击之一。(不要与更流行的 DNS 放大攻击混淆)受害者是负责最接近 TLD 的域名的名称服务器—— tpa.net.cnsf97.net等等。攻击策略是生成不会被缓存的查询。

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

  • 您正在操作一个“开放解析器”,这是一个可供一般互联网访问的缓存 DNS 服务器。
  • 您的客户正在操作开放解析器并将查询转发到您的名称服务器。(这比大多数人想象的更常见)

根据我的经验,您需要确定是哪种情况,并采取措施减少进入您网络的滥用媒介。

答案2

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

Linux 上的许多 PowerDNS 安装配置为消耗比实际可用的多得多的文件描述符...要解决此问题,有四个选项:

  1. 将 max-mthreads 减少到 512(或将线程数减少到 1,将 max-mthreads 减少到 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 head 安装 recursor(文章中列出的各种 URL 上的快照,或者自己在https://autotest.powerdns.com/),或及时发布 3.5.4 或更高版本。然后设置server-down-max-fails为合适的数字。我们建议 32,或在受到严重攻击时设置为 16。

答案3

您可以做的是阻止该客户端访问名称服务器。另一种解决方案是清理客户端系统。我个人建议做第二件事,第一件事只有在您将客户端重定向到具有警告页面并帮助他们解决问题的 IP 时才会很好。

相关内容