递归解析器的少量改动可大幅改善 DNS 整体运行效率与抗攻击能力。全网约 1000 万活跃递归解析器中,前 7000 个处理 95% 查询负载,若它们支持 RFC8198 等机制,将从根本改变 DNS 环境。
RFC8198 与主动 NSEC 缓存:
RFC8198 定义的主动 NSEC 缓存机制改变了解析器处理不存在域名的缓存方式。DNSSEC 签名区域在响应不存在域名查询时,权威服务器返回 NSEC 记录,该记录以签名形式给出区域中最小跨度的两个标签,明确标识一段不存在的标签范围。解析器验证后可将该范围缓存,后续落入同一范围的随机名称查询直接由本地缓存应答,无需再向权威服务器发起查询。
随机名称攻击与缓存失效:
随机名称攻击利用僵尸网络每秒发送少量随机子域名查询,单节点流量低于检测阈值,但百万级节点汇聚可压垮权威服务器。常规缓存仅对固定查询名有效,随机字符串导致缓存未命中,查询穿透至权威服务器,并随解析器超时逐渐清空本地缓存,导致该权威服务器服务的所有域名解析失效。2016 年 10 月 Mirai 攻击即采用此手法。
部署规模与工程取舍:
全网约 1000 万活跃递归解析器若全面部署主动 NSEC 缓存,DNS 环境将彻底改观;即便仅前 7000 个处理 95% 负载的解析器支持,效果亦足以改变 DNS 本质。部署前提为区域已启用 DNSSEC 签名、解析器开启 DNSSEC 验证并请求凭据。原文未给出具体部署比例与性能提升量化数据。
运维工程应在递归解析器启用 DNSSEC 验证并部署 RFC8198 主动 NSEC 缓存,配合权威侧 DNSSEC 签名,可在不增加带宽成本前提下,从缓存层面化解随机名称洪水攻击,保护根区与权威服务器稳定性。
原文: APNIC Blog(2017-11-29)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog