前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Bind 响应策略区域 Response Policy Zones (RPZ)

Bind 响应策略区域 Response Policy Zones (RPZ)

作者头像
Kevin song
发布2022-11-19 09:44:22
2.2K0
发布2022-11-19 09:44:22
举报

响应策略区域(Response policy zones)

响应策略区域(RPZ)是使用递归DNS服务器控制查询者可以查询和不能查询的内容的一种方式。通过了解客户端正在查询的服务器和服务的信誉,可以确定递归服务器接收某些域名查询或在DNS响应中看到指向那些恶意服务器的信息时要采取的措施。

RPZ工作原理的总体思路是,可以为如何处理特定查询(或响应)创建策略,并选择要采取的一些可能操作(如将客户端重定向到内部安全页),然后将这些策略存储在DNS服务器上的特别权威区域中。还可以通过将这些区域从DNS服务器传输到(另外的)DNS服务器来共享这些区域。

RPZ中的记录也是由owner name,type和rdata组成。只是RPZ区域不会用于接收用户发起的请求,只在用户发起的请求时会匹配RPZ定义的规则。RPZ规则中owner name用于定义触发器,rdata用于定义动作,即满足触发器的请求会按照策略执行相应的动作。

RPZ 作用

  1. 劫持互联网恶意域名
  2. 丢弃指定域名的解析请求
  3. 指定域名解析到NXDOMAIN .
  4. 禁用恶意IP的DNS请求
  5. 封禁I域名对应IP解析

RPZ触发器

  • Client IP Address,owner name为:以.rpz-client-ip结尾。用于匹配发起请求的客户端的IP地址,双栈均可支持。定义IPv4地址段的客户端时,如B1.B2.B3.B4/prefix,在RPZ策略规则的书写规则中应当写成prefix.B4.B3.B2.B1;定义IPv6地址段的客户端时,如B1:B2:B3:B4:B5:B6:B7:B8/prefix,在RPZ策略规则的书写格式中应当写成prefix.B8.B7.B6.B5.B4.B3.B2.B1。如同IPv6地址可以使用双冒号缩写,此处的IPv6地址可以相应的使用zz替代。如2001::6:180/128可写成128.180.6.zz.2001。
  • QDNAME,owner name 为:正常域名,可带通配符。用于匹配发起请求包或应答包中请求域名字段的域名。
  • Response IP Address,owner name为:以.rpz-ip结尾。用于匹配应答记录中的的IP地址,双栈均可支持。IP地址段的编写格式与Client IP Address中描述的一致。

匹配到180.101.49.0/24IP段后,www.baidu.com将会返回NXDOMAIN。

  • NSDNAME,owner name 为:以.rpz-nsdname结尾。用于匹配应答记录中NS的名字,可以在回答部分,授权部分。
  • NSIP,owner name 为:以.rpz-nsip结尾。用于匹配应答记录中NS名字对应的IP地址(A或AAAA的数据),可以在回答部分,附加部分。

RPZ执行动作

  • NXDOMAIN,rdata为:. 。动作为回复NXDOMAIN类型的应答。当RPZ存在一个域名CNAME记录指向根域(.)的话,recursor不会向上游DNS进行查询,直接返回NXDOMAIN,即域名不存在。
  • NODATA,rdata为:*. 。动作为回复NODATA类型(rcode为noerror但是answer个数为0)的应答。当RPZ存在一个域名CNAME记录指向通配符顶级域名,recursor不会向上游DNS进行查询,直接返回NODATA,即空返回。
  • PASSTHRU,rdata为:rpz-passthru. 。动作为透传,即RPZ白名单,不走RPZ策略规则。ok.example.com CNAME记录指向rpz-passthru.,会正常返回查询结果,尽管example.com子域下其他域名会返回NXDOMAIN。
  • DROP,radata为:rpz-drop. 。动作为丢弃,即不做应答。当RPZ存在一个域名CNAME指向rpz-drop.,recursor会直接丢弃查询请求,查询客户端无法得到正确响应。
  • TCP-ACTION,rdata为:rpz-tcp-only. 。动作为将应答中的TC标志置1,强制用户发起TCP的DNS请求,用于攻击防护。当RPZ存在一个域名CNAME指向rpz-tcp-only.,recursor会引导客户的重新以TCP协议再次发起域名查询。
  • LOCAL DATA,rdata为:正常域名 。动作为回复指定预先配置好的解析结果。

Bind响应策略区域配置

vim /etc/named/named.conf

RPZ日志配置

RPZ zone 配置

vim named.rfc1912.zones

RPZ 区域主配置文件

vim /var/named/rpz.test.local

代码语言:javascript
复制
$TTL 10M
@         IN      SOA     kylin.zabbix.com.      dnsadmin.zabbix.com. (                        1   ;序列号                        1H  ;1小时后刷新                        5M  ;15分钟后重试                        7D  ;1星期后过期                        1D );否定缓存TTL为1天          IN      NS     kylin
www.jd.com IN A  192.168.100.161
*.google.com IN A  192.168.100.161
www.souhu.com   CNAME  www.baidu.com.
www.3399.com    CNAME  .

RPZ 区域域名dig测试

www.jd.com

*.google.com

www.souhu.com

www.3399.com

查看RPZ日志

代码语言:javascript
复制
tail -n 10 /var/named/data/rpz.log
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档