问题是许多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的快捷方式或者我会在防火墙上阻止它们.
解决方法
具体而言,RPZ-IP类型的条目是相关的:
RPZ-IP
IP triggers are IP addresses in an A or AAAA record in the ANSWER
section of a response. They are encoded like client-IP triggers except
as subdomains of 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.
关于配置在手册中总结的一般概念如下:
For example,you might use this option statement
06001
and this zone statement
06002
with this zone file
06003
请仔细阅读详细信息,以了解RPZ区域内的整体设置以及相当具体的语义! (它具有正常的区域语法,但正如您所看到的,一些特殊名称具有非常特定的含义.)