Unrestricted DNS Zone Transfers
未受限制的DNS区域传送
描述
DNS区域传送(DNS Zone Transfers)是一种允许辅助DNS服务器从主DNS服务器接收DNS记录副本的机制。虽然此功能对于维持DNS冗余和负载分配至关重要,但配置不当的DNS服务器可能会允许未经授权的区域传送,从而潜在地暴露有关组织网络基础设施的敏感信息。
关于DNS区域传送的关键点:
-
目的:区域传送用于在多个名称服务器之间复制DNS数据,确保一致性并提供冗余。
-
安全风险:如果没有受到适当的限制,攻击者可以利用区域传送来收集有关组织网络拓扑的信息,包括内部IP地址、主机名和其他敏感数据。
-
信息泄露:成功的未授权区域传送可能会揭示:
- 内部网络结构
- 命名约定
- IP寻址方案
-
进一步攻击的潜在目标
-
AXFR协议:用于区域传送的主要方法是AXFR(权威传送)协议,该协议会传送整个区域文件。
-
IXFR协议:另一种选择是IXFR(增量区域传送)协议,该协议仅传送自上次更新以来所做的更改。
建议
为了缓解与未受限制的DNS区域传送相关的风险,请考虑实施以下建议:
-
限制区域传送:配置DNS服务器,使其仅允许来自经过授权的辅助名称服务器的区域传送。
-
使用访问控制列表(ACL):在DNS服务器上实施ACL,以指定允许哪些IP地址请求区域传送。
-
实施TSIG:使用事务签名(TSIG)对授权DNS服务器之间的区域传送进行身份验证和加密。
-
使用水平分割DNS(Split-DNS)架构:分离内部和外部DNS以最大限度地减少信息暴露。
缓解的具体步骤:
- 检查未受限制的区域传送:
使用
dig命令尝试进行区域传送:
dig axfr @ns1.example.com example.com
如果命令返回完整的区域文件,则说明传送未受到适当的限制。
- 配置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
};
- 实施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