跳到主要内容

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