DNS - 垃圾邮件递归查询

sih*_*ill 3 domain-name-system powerdns

我在本地 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)
Run Code Online (Sandbox Code Playgroud)

远程域名几乎总是 .cn 之一,但域名的其余部分不断变化。最简单的解决方案是在 iptables 上添加基于 hashlimit 的规则,但客户端位于 NAT 之后,因此进入 DNS 的流量被标记为集中器 IP。我也尝试过使用 spywaredomains 区域,但远程域一直在变化,所以我无法真正阻止它。SPAM 域的请求数量会导致 PowerDNS Cache 过度增长,并且还会大大增加 remote_timeout 计数。有什么办法可以抵御这种流量,让 DNS 再次像魅力一样工作吗?

And*_*w B 5

这是最近在野外看到的针对权威 DNS 服务器的分布式攻击之一。(不要与比较流行的DNS放大攻击混淆)的受害者负责最靠近TLD域名的域名服务器- tpa.net.cnsf97.net等攻击的策略是产生不被缓存查询。

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

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

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


Hab*_*bie 5

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)(在 Recursor 3.2 中引入了 max-mthreads;但如果您运行的是旧版本,请升级它!)
  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 安装递归(文章中列出的各种 URL 的快照或在https://autotest.powerdns.com/ 上自行查找),或者及时发布 3.5.4 或更高版本。然后设置server-down-max-fails一个合适的数字。我们推荐 32 或 16 在受到重击时。