DNS RPZ 初学笔记

最近读了ISC关于DNS RPZ的一个草案,做一些笔记。

概述

DNS RPZ也和其他的普通区域一样,是一个区域文件,区域文件中的内容也有SOA记录和NS记录,SOA记录用于区域传输,NS没有太大的意义,主要用于占位。

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

触发器

触发器一共有五种类型,分别是:

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中描述的一致。

NSDNAME,owner name 为:以.rpz-nsdname结尾。用于匹配应答记录中NS的名字,可以在回答部分,授权部分。

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

执行动作

动作一共有六种类型,分别是:

NXDOMAIN,rdata为:. 。动作为回复NXDOMAIN类型的应答。

NODATA,rdata为:*. 。动作为回复NODATA类型(rcode为noerror但是answer个数为0)的应答。

PASSTHRU,rdata为:rpz-passthru. 。动作为透传,即RPZ白名单,不走RPZ策略规则。

DROP,radata为:rpz-drop. 。动作为丢弃,即不做应答。

TCP-ACTION,rdata为:rpz-tcp-only. 。动作为将应答中的TC标志置1,强制用户发起TCP的DNS请求,用于攻击防护。

LOCAL DATA,rdata为:正常域名 。动作为回复指定预先配置好的解析结果。

策略优先级

触发器有优先级,优先级顺序为:Client IP Address > QNAME > Response IP Address > NSIP > NSDNAME

执行的动作中PASSTHRU的优先级最高。

域名遵循最长label优先。

IP地址遵循前缀长度细化优先。

其他:按照顺序匹配,遇到disabled的策略会执行下一条,否则根据匹配中的策略给用户做回复。

详情见:《DNS Response Policy Zones (RPZ) draft-ietf-dnsop=dns-rpz-00》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 百度百科中的DNS介绍DNS介绍 DNS(Domain Name System,域名系统),万维网上作为域名和i...
    Smi1e_阅读 4,594评论 1 10
  • 在使用consul做docker容器服务化的过程中,使用到了dnsmasq做DNS请求转发,于是研究了下DNS协议...
    __七把刀__阅读 4,012评论 2 13
  • 为什么需要DNS解析域名为IP地址? 网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算...
    後来的後来hugh阅读 850评论 1 1
  • 目录: 一些基本概念主机名DNS名称解析DNS 解析的后端存储名称解析总结 大规模域名解析的体系架构DNS 解析需...
    C86guli阅读 12,531评论 3 34
  • 1、前言 在当下互联网时代,我们日常生活和工作基本都离开不域名和 DNS ,如通过一个网址打开一个网站进行购物、使...
    cinder_lv阅读 3,595评论 1 27