跳到主要内容

5. 授权 (Authorization)

区域传输可能暴露有关区域结构和内容的敏感信息, 从而帮助攻击者进行侦察. 因此, AXFR servers 通常采用授权机制, 将区域传输限制给受信任 clients.

本节描述 AXFR implementations 中常见的授权技术. 注意, 本文档不强制任何特定授权方法; 实现者和操作员可自由选择最符合其安全需求的方法.

常见授权技术 (Common Authorization Techniques)​

  1. Access Control Lists (ACLs): AXFR server 可以使用基于 IP 地址的 ACLs 来限制允许哪些 clients 请求区域传输. 服务器会根据已配置的允许地址或网络列表检查传入 TCP 连接的源 IP 地址.

    • Advantages: 实现和配置简单.
    • Limitations: 易受 IP address spoofing 影响 (尽管 TCP three-way handshake 提供一定保护). 不适合使用动态 IP 地址的 clients.
  2. TSIG (Transaction Signature): TSIG [RFC2845] 使用共享密钥提供 DNS messages 的密码学认证. AXFR server 可以要求区域传输请求使用 TSIG authentication.

    • Advantages: 提供强认证和消息完整性. 不依赖 IP 地址.
    • Limitations: 需要在 client 和 server 上配置预共享密钥. 大规模部署中的密钥管理可能具有挑战.
  3. SIG(0) (Signature): SIG(0) [RFC2931] 提供基于公钥的 DNS messages 认证. AXFR server 可以使用 SIG(0) 认证 AXFR queries.

    • Advantages: 使用 public key cryptography, 避免预共享密钥需求. 适合 TSIG 密钥管理不切实际的场景.
    • Limitations: 相比 TSIG, 实现和配置更复杂. 需要 public key infrastructure.
  4. TLS/SSL: 虽然本文档未规定, AXFR server 可以使用 TLS 或 SSL 对用于区域传输的 TCP connections 进行加密和认证. 这种方式尚未针对 DNS 区域传输标准化, 但可用于私有或受控环境.

  5. VPN 或 Private Networks: 在某些部署中, 区域传输在公众 Internet 无法访问的 private networks (例如 VPNs [RFC2764]) 上进行. 此方法依赖网络层安全, 而不是应用层认证.

授权策略 (Authorization Policy)​

AXFR server 应该实现可配置的授权策略, 用于决定哪些 clients 允许请求区域传输. 该策略应该至少支持上述授权技术之一.

AXFR server 必须使用包含 RCODE REFUSED (5) 的 DNS response message 响应未授权的 AXFR queries. 这会告知 client 区域传输因策略限制而被拒绝.

默认行为 (Default Behavior)​

本文档不规定 AXFR server 关于授权的默认行为. 实现者应该选择安全的默认行为, 例如:

  • 默认拒绝所有区域传输请求, 要求显式配置后才允许特定 clients, 或
  • 仅允许来自配置为 secondary servers 的特定 IP 地址的区域传输.

AXFR server 不得默认允许任意 clients 进行无限制区域传输, 因为这会造成重大安全风险.

多种授权方法 (Multiple Authorization Methods)​

AXFR server 可以同时支持多种授权方法. 例如, server 可能要求同时满足基于 IP 地址的 ACL 匹配和 TSIG authentication, 才允许进行区域传输. 如何组合多种授权方法的细节取决于实现.

授权失败 (Authorization Failures)​

如果 AXFR query 未通过授权检查, AXFR server 应该以 RCODE REFUSED 响应. 服务器可以记录失败的授权尝试以供审计.

AXFR server 不得泄露授权失败原因的细节 (例如针对不同失败原因返回不同错误代码), 因为这可能向潜在攻击者提供有用信息.