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 再次像魅力一样工作吗?
这是最近在野外看到的针对权威 DNS 服务器的分布式攻击之一。(不要与比较流行的DNS放大攻击混淆)的受害者负责最靠近TLD域名的域名服务器- tpa.net.cn,sf97.net等攻击的策略是产生不被缓存查询。
这不仅仅是阻止单个客户端的问题。如果您看到这种情况,通常是以下因素之一的症状:
根据我的经验,您需要确定属于哪种情况,并采取措施减少滥用媒介进入您的网络。
Linux 上的许多 PowerDNS 安装被配置为消耗(远)比实际可用的文件描述符更多......要修复,有四个选项:
- 将 max-mthreads 减少到 512(或将线程数减少到 1,将 max-mthreads 减少到 1024)(在 Recursor 3.2 中引入了 max-mthreads;但如果您运行的是旧版本,请升级它!)
- 运行'ulimit -n 32768?在开始之前(也许把它放在 /etc/init.d/ 脚本中)。没有理由跳过这个数字。
- 调查 /etc/security/limits.conf 中的默认值
- 在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 在受到重击时。
| 归档时间: |
|
| 查看次数: |
457 次 |
| 最近记录: |