什么是响应策略区(RPZ)?

响应策略区让递归解析器在返回结果前先查一份规则表,命中的域名可以被改成"不存在"、指向别处或者直接丢弃。规则表本身也是一份域名数据,靠区文件传送定期更新。

企业网络里的常见做法,是让所有设备用同一个递归解析器。第 31 期介绍过域名解析,而解析器平时只是个转手的角色——你问它一个域名,它去别处问来答案再交给你。如果在这一环上加一条规则,拦截就发生在连接建立之前。

响应策略区就是这份规则表。它在 2010 年由互联网系统协会提出,最早实现在主流名称服务器软件里,后来成为不绑定厂商的公开格式。规则写在域名数据里,每条规则由两部分组成:一个触发器,一个动作。什么条件触发,触发之后做什么。

触发器可以按被查询的域名、按查询客户端的地址、按解析结果里的地址,也可以按负责这个结果的名称服务器地址。动作有几种:回答"域名不存在"、回答"这个名字存在但没有你要的记录类型"、干脆不回、把结果替换成指定的数据,或者放行不做处理。

最常用的是第一组搭配:把已知的钓鱼或恶意域名一律回答成"不存在"。设备那边看到的是域名打不开,连接根本没机会建立。也可以换成指向一台本地服务器,由它显示一个提示页面。和第 96 期介绍的沉洞不同之处在于,这里动的是自家解析器给出的答案,公开的域名系统里那条记录没有被改过。

规则表不是一条条手敲的。安全厂商、行业组织各自维护威胁情报列表,编成响应策略区发布;使用方的解析器通过区文件传送定期拉取更新,和自己写的规则合并执行。一台解析器可以同时订阅几十份这样的规则表。

规则表把某个域名列为恶意,这个网络里的设备就都访问不了它;如果规则表封掉的是某台名称服务器下的全部域名,影响会顺着扩散。所以这套机制一般只在自己的网络里用,订阅谁的规则也是自己选的。