我使用我的 Ubuntu 14.04 和 16.04 笔记本进行开发,并定期在无法通过互联网访问的网络地址上运行各种服务器(例如 Web 服务器)。
如果有人将其域名重新绑定到私有 IP,我该如何避免通过我的网络浏览器向全世界公开此类服务器?
此次攻击的进一步描述如下 https://en.wikipedia.org/wiki/DNS_rebinding
答案1
Ubuntu 默认dnsmasq
作为缓存 DNS 服务器。
你可以检查自己是否受到影响(有些 DNS 服务器默认启用了这种保护,因此通过您当前的连接你可能已经安全了)
$ dig +short 2.0.0.127.zen.spamhaus.org
127.0.0.10
安装域名系统将自动设置您的 /etc/resolv.conf 以将所有名称解析指向本地 dnsmasq 实例。
sudo apt-get install dnsmasq
可以轻松添加拒绝上游服务器的私有 IP 的选项:
echo "stop-dns-debind" | sudo tee /etc/dnsmasq.d/stop-rebinding
更改选项后,请不要忘记重新启动 DNS 服务器:
sudo restart dnsmasq
测试配置如上,不应返回 127.0.0.0/8 答案。
如果您的机器由于任何原因确实需要查询 RBL(例如上面测试中提到的 RBL),请参阅 dnsmasq 手册 - 可以部分免除保护。