BIND DNS 服务器添加了对 DNS-over-HTTPS 的实验性支持

BIND DNS 服务器的开发人员宣布增加对 DNS over HTTPS(DoH,DNS over HTTPS)和 DNS over TLS(DoT,DNS over TLS)技术的服务器支持,以及用于安全的 XFR-over-TLS 机制。在服务器之间传输 DNS 区域的内容。 DoH 可在版本 9.17 中进行测试,DoT 支持自版本 9.17.10 以来一直存在。 稳定后,DoT 和 DoH 支持将向后移植到稳定的 9.17.7 分支。

DoH 中使用的 HTTP/2 协议的实现基于 nghttp2 库的使用,该库包含在程序集依赖项中(将来计划将该库转移到多个可选依赖项)。 支持加密 (TLS) 和未加密的 HTTP/2 连接。 通过适当的设置,单个命名进程现在不仅可以服务传统的 DNS 查询,还可以服务使用 DoH (DNS-over-HTTPS) 和 DoT (DNS-over-TLS) 发送的查询。 客户端 (dig) 的 HTTPS 支持尚未实现。 XFR-over-TLS 支持适用于入站和出站请求。

通过将 http 和 tls 选项添加到 Listen-on 指令,可以启用使用 DoH 和 DoT 的请求处理。 要支持未加密的 DNS-over-HTTP,您应该在设置中指定“tls none”。 键在“tls”部分中定义。 DoT 的默认网络端口 853、DoH 的默认网络端口 443 以及 DNS-over-HTTP 的 80 可以通过 tls-port、https-port 和 http-port 参数覆盖。 例如: tls local-tls { key-file "/path/to/priv_key.pem"; 证书文件“/path/to/cert_chain.pem”; }; http local-http-server { 端点 { “/dns-query”; }; }; 选项 { https-端口 443; 监听端口 443 tls local-tls http myserver {any;}; }

在 BIND 中 DoH 实现的功能中,集成被认为是一种通用传输,它不仅可以用于处理向解析器发送的客户端请求,还可以在服务器之间交换数据、通过权威 DNS 服务器传输区域时以及处理其他 DNS 传输支持的任何请求时。

另一个功能是将 TLS 的加密操作移动到另一台服务器的能力,这在 TLS 证书存储在另一系统上(例如,在具有 Web 服务器的基础设施中)并由其他人员维护的情况下可能是必要的。 实现对未加密 DNS-over-HTTP 的支持,以简化调试并作为内部网络中的转发层,在此基础上可以在另一台服务器上组织加密。 在远程服务器上,nginx 可用于生成 TLS 流量,类似于为网站组织 HTTPS 绑定的方式。

让我们回想一下,DNS-over-HTTPS 可用于防止通过提供商的 DNS 服务器泄漏有关所请求主机名的信息、打击 MITM 攻击和 DNS 流量欺骗(例如,在连接到公共 Wi-Fi 时)、反击在 DNS 级别进行阻止(DNS-over-HTTPS 无法替代 VPN 来绕过在 DPI 级别实施的阻止)或在无法直接访问 DNS 服务器时(例如,通过代理工作时)组织工作。 如果在正常情况下 DNS 请求直接发送到系统配置中定义的 DNS 服务器,那么在 DNS-over-HTTPS 的情况下,确定主机 IP 地址的请求将封装在 HTTPS 流量中并发送到 HTTP 服务器,其中解析器通过 Web API 处理请求。

“DNS over TLS”与“DNS over HTTPS”的不同之处在于使用标准 DNS 协议(通常使用网络端口 853),封装在使用 TLS 协议组织的加密通信通道中,并通过经过认证的 TLS/SSL 证书进行主机有效性检查由认证机构。 现有的DNSSEC标准仅使用加密来验证客户端和服务器,但不能保护流量不被拦截,也不能保证请求的机密性。

来源: opennet.ru

添加评论