linux – 阻止BIND DNS缓存上错误配置的DNS条目

linux – 阻止BIND DNS缓存上错误配置的DNS条目,第1张

概述我正在运行带有自己的BIND DNS缓存的Web爬虫.我们的代码使用我们的DNS缓存解析,并使用 Python的请求库发出GET请求. 问题是许多FQDN配置错误,它们指向RFC1918 IP地址或环回IP,如127.0.0.1或10.0.0.0/8.因此,我们的抓取工具正在尝试连接这些IP,并以我们数据中心的扫描报告结束. 我们对爬虫进行了更改,现在它首先解析了FQDN的ip,如果IP处于私有/ 我正在运行带有自己的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类型的条目是相关的:

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.18.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区域内的整体设置以及相当具体的语义! (它具有正常的区域语法,但正如您所看到的,一些特殊名称具有非常特定的含义.)

总结

以上是内存溢出为你收集整理的linux – 阻止BIND DNS缓存上错误配置的DNS条目全部内容,希望文章能够帮你解决linux – 阻止BIND DNS缓存上错误配置的DNS条目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1036945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存