跳转至

Unrestricted DNS Zone Transfers

未受限制的DNS区域传送

描述

DNS区域传送(DNS Zone Transfers)是一种允许辅助DNS服务器从主DNS服务器接收DNS记录副本的机制。虽然此功能对于维持DNS冗余和负载分配至关重要,但配置不当的DNS服务器可能会允许未经授权的区域传送,从而潜在地暴露有关组织网络基础设施的敏感信息。

关于DNS区域传送的关键点:

  • 目的:区域传送用于在多个名称服务器之间复制DNS数据,确保一致性并提供冗余。

  • 安全风险:如果没有受到适当的限制,攻击者可以利用区域传送来收集有关组织网络拓扑的信息,包括内部IP地址、主机名和其他敏感数据。

  • 信息泄露:成功的未授权区域传送可能会揭示:

  • 内部网络结构
  • 命名约定
  • IP寻址方案
  • 进一步攻击的潜在目标

  • AXFR协议:用于区域传送的主要方法是AXFR(权威传送)协议,该协议会传送整个区域文件。

  • IXFR协议:另一种选择是IXFR(增量区域传送)协议,该协议仅传送自上次更新以来所做的更改。

建议

为了缓解与未受限制的DNS区域传送相关的风险,请考虑实施以下建议:

  1. 限制区域传送:配置DNS服务器,使其仅允许来自经过授权的辅助名称服务器的区域传送。

  2. 使用访问控制列表(ACL):在DNS服务器上实施ACL,以指定允许哪些IP地址请求区域传送。

  3. 实施TSIG:使用事务签名(TSIG)对授权DNS服务器之间的区域传送进行身份验证和加密。

  4. 使用水平分割DNS(Split-DNS)架构:分离内部和外部DNS以最大限度地减少信息暴露。

缓解的具体步骤:

  1. 检查未受限制的区域传送: 使用 dig 命令尝试进行区域传送:
dig axfr @ns1.example.com example.com

如果命令返回完整的区域文件,则说明传送未受到适当的限制。

  1. 配置BIND DNS服务器: 编辑 /etc/named.conf 文件以限制区域传送:
zone "example.com" {
    type master;
    file "example.com.zone";
    allow-transfer { 192.168.1.2; };  // Only allow transfers to this IP
};
  1. 实施TSIG身份验证: 生成TSIG密钥:
dnssec-keygen -a HMAC-SHA256 -b 256 -n HOST example-transfer-key

将密钥添加到您的DNS配置中:

key "example-transfer-key" {
    algorithm hmac-sha256;
    secret "BASE64_ENCODED_SECRET";
};

zone "example.com" {
    type master;
    file "example.com.zone";
    allow-transfer { key example-transfer-key; };
};

链接

标准

  • SOC2_CONTROLS:
    • CC_6_1
    • CC_6_6
    • CC_6_7
    • CC_7_1
  • GDPR:
    • ART_32
  • CCPA:
    • CCPA_1798_150
  • HIPAA_CONTROLS:
    • SECURITY212
    • SECURITY213
    • SECURITY259