Page 374 - 《软件学报》2026年第4期
P. 374

张宾 等: 基于大型    DNS  递归服务的域名访问模式测量与分析                                             1815



                                                                                    根名字服务器

                                            RPZ:
                                            白名单    递    恶意攻
                                            …      归    击实时
                         用户     查询/应答       …      服    检测模     查询/应答              顶级域名字服务器
                         主机                 黑名单    务   块: 只检
                                            …      器    测出口
                                            …           端流量

                                                                                   权威名字服务器
                                             图 19 大型   DNS  服务商检测框架方案

                    沿此思路, 将前面一段历史         DNS  流量通过已有的异常检测方法如           DNSMap [34] 等把记录分成正常和异常两个
                 部分, 那些不确定的去除掉, 带有正常和异常标记的记录写入递归服务器, 解析器通过一种机制优先处理用户请
                 求, 匹配到正常的部分直接应答, 异常的部分应答              NXDOMAIN   或者一个警告网站       (实现阻断功能), 未能匹配的请
                 求将经由权威侧端口进行迭代查询, 这样就可以在权威侧部署传统的异常检测方法进行检测, 异常检测方法将检
                 测到的异常和正常记录进一步更新到递归服务器中. 这样就实现了从递归器用户侧端口转移到权威侧端口的检
                 测, 极大地减少了待检测的流量, 使得大型服务商的实时检测成为可能.
                    这种机制本文称为域名黑白名单机制, 具体使用响应策略区域                     (response policy zone, RPZ) 技术实现. RPZ  由
                 ISC  首度发明并在    BIND  中实现, 它是一个开放的厂商中立的标准, 用于交互              DNS  防火墙配置信息, 它是配置在
                 一种特殊的    DNS  区文件中的    DNS  防火墙策略, 目前大部分      DNS  服务软件都具有     RPZ  功能. RPZ  为  DNS  服务器
                 提供一种应答拦截机制, 匹配过滤特定的域名或               IP, 改变应答结果. RPZ   通过  RPZ  区文件设置记录拦截规则, 规则
                 包括匹配条件和执行相应的干预动作. 通过              RPZ  机制实现内网解析, 匹配到的域名直接由           RPZ  本地返回.
                    本文应用    RPZ  实现黑白名单机制, 创建      RPZ  区域以存储域名黑白名单, 白名单部分存储正常解析记录, 黑名
                 单部分存储恶意域名记录, 用户请求首先与递归服务器中的                   RPZ  区域存储的记录进行匹配, 匹配到的记录直接向
                 用户返回, 包括通过白名单返回正常解析记录, 和通过黑名单对恶意域名阻断或者转到一个提示网站, 具体使用
                 BIND  中的  RPZ  区域配置进行说明, 如下所示.

                 zone "rpz" {
                 type master;
                 file "/etc/bind/rpz.zone";
                 allow-query any; ;
                 allow-transfer localhost; ;
                 };
                 rpz.zone 文件配置如下:
                 ;whitelist part
                 www.hit.edu.cn A 32.23.32.34
                 A 23.4.45.6
                 nextcloud.your-domain.com A 192.168.0.103
                 www.facebook.com A 23.23.232.2
                 …
                 ;blacklist part
                 malicious1.org CNAME .
                 *.malicious1.org CNAME .
                 malicious2.org CNAME .
   369   370   371   372   373   374   375   376   377   378   379