首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将BIND9设置为DNS防火墙

将BIND9设置为DNS防火墙
EN

Server Fault用户
提问于 2014-08-05 14:07:51
回答 1查看 7.1K关注 0票数 6

随着OpenDNS现在需要一个在专业的软件包上有过滤打开,在一个紧张的预算,我们需要免费的DNS过滤。

在阅读了有关如何阻止具有绑定的域的链接。之后,我将SquidGuard黑名单和连接域收集到了一个大列表中。然后,我将其输入这个python脚本,生成一个包含大约200万个区域的文件。

named checkconf可以很好地解析它,但是重新加载命名只需要10分钟,然后它不会解决任何问题,服务器就会减速到爬行。删除“命名”中的包含结果,再次正常工作。

怎样才能有效地设置BIND9作为DNS防火墙?如果可能的话,也可以阻止解决特定IP地址的任何域,这将解决整个问题。

我以非权威的方式运行bind,只是一个缓存服务器。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-08-05 14:45:31

这对目前的技术来说已经过时了。在绑定世界中,响应策略区域(RPZ)现在是DNS防火墙的同义词。

RPZ区域是正常的DNS区域,但用于定义服务器的策略操作。区域“后缀”并不重要,因为这不是一个真正的DNS域。它只是一个区域文件,包含一个特殊格式化指令的列表。

代码语言:javascript
复制
options {
          ...
          response-policy { zone "whatever.anytld";} };
};

记录的左侧定义匹配规则,记录类型和右手侧定义要采取的操作。注意以下示例的左侧没有尾随点。

代码语言:javascript
复制
$ORIGIN whatever.anytld.

; destination IP rewrite
baddomain1.example.com       A     198.51.100.1
*.baddomain1.example.com     A     198.51.100.1

; send them to an existing A record
baddomain2.example.com       CNAME mywebserver.example.org.
*.baddoman2.example.com      CNAME mywebserver.example.org.

; NXDOMAIN it
baddomain3.example.com       CNAME .
*.baddomain3.example.com     CNAME .

; reply with NODATA
baddomain4.example.com       CNAME *.
*.baddomain4.example.com     CNAME *.

诸若此类。您可以对此做很多工作,包括可能影响无辜共享托管站点的更严厉的措施:按名称阻塞名称服务器、通过IP阻止名称服务器、对返回记录的IP地址而不是名称执行操作等等。

RPZ将做很多事情,这并不意味着作为详尽的文档。推荐的阅读内容包括BIND ARM的第6章(这个答案的底部),以及在线Zytrax书的第九章

克里夫从我的个人经历中注意到,为了节省你的时间:

  • 使用区域传输可以使用IXFR移动RPZ区域。启用主服务器上的ixfr-from-differences以方便这一点。如果使用BIND9.9或更高版本来防止基于通知的DoS尝试,则使用基于密钥的区域传输。
  • 只允许管理IP查询RPZ区域。
  • 除非运行Bind9.10,否则不要使用多个RPZ文件。在该版本之前,多个区域都存在性能问题。
  • RPZ不能用来阻止2014年流行的基于NS记录的攻击,因为RPZ的默认设计是为了尝试权威的查找,而不是将您的记录劫持“背叛”到上游的名称服务器源。
    • qname-wait-recurse no是在BIND 9.10中添加的,可能允许您为此目的使用RPZ。我一直想试一试。
    • 即使qname-wait-recurse no工作,仍然需要一种记录类型,它可以用于离线攻击域而不需要额外的配置。我已经和Paul谈过了,我们可能会在RPZ格式规范的未来版本中看到它。

  • NXDOMAINNODATA操作将在回复的AUTHORITY部分泄露RPZ区域的名称。假设人们会知道它的名字。

绑定ARM第6章链接:

  • 绑定9.10
  • 绑定9.9
  • 绑定9.8 (警告: BIND 9.8在2014年9月到达EOL )
票数 7
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/618106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档