linux – 阻止BIND DNS缓存上错误配置的DNS条目
我正在运行带有自己的BIND DNS缓存的Web爬虫.我们的代码使用我们的DNS缓存解析,并使用
Python的请求库发出GET请求.
问题是许多FQDN配置错误,它们指向RFC1918 IP地址或环回IP,如127.0.0.1或10.0.0.0/8.因此,我们的抓取工具正在尝试连接这些IP,并以我们数据中心的扫描报告结束. 我们对爬虫进行了更改,现在它首先解析了FQDN的ip,如果IP处于私有/环回/保留范围,则跳过它. 在使用tcpdump嗅探后,我发现仍有流量进入私有IP地址.我认为它们是因为HTTP重定向而发生的,因为我们检查原始FQDN但是我们不检查重定向主机,因为这部分发生在Python的请求库中. BIND是否有阻止解析私有,环回或保留IP地址的选项?我可以将其设置为返回某种“未解决”的错误吗? 编辑:我试图将BIND缓存转储到文件并检查它,现在我确定它是因为HTTP重定向而发生但是更改代码并不容易,我正在寻找像配置BIND的快捷方式或者我会在防火墙上阻止它们. 解决方法
使用BIND,您可以使用
Response Policy Zone (RPZ)功能来阻止指向某些地址的地址记录(A / AAAA)的解析.
具体而言,RPZ-IP类型的条目是相关的:
作为示例用例,手册使用: ; IP policy records that rewrite all responses containing A records in 127/8 ; except 127.0.0.1 8.0.0.0.127.rpz-ip CNAME . 32.1.0.0.127.rpz-ip CNAME rpz-passthru. 关于配置在手册中总结的一般概念如下:
请仔细阅读详细信息,以了解RPZ区域内的整体设置以及相当具体的语义! (它具有正常的区域语法,但正如您所看到的,一些特殊名称具有非常特定的含义.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |