Unrestricted DNS Zone Transfers
制限されていないDNSゾーン転送
説明
DNSゾーン転送(DNS Zone Transfers)は、セカンダリDNSサーバーがプライマリDNSサーバーからDNSレコードのコピーを受信できるようにするメカニズムです。この機能はDNSの冗長性と負荷分散を維持するために不可欠ですが、不適切に構成されたDNSサーバーは不正なゾーン転送を許可し、組織のネットワークインフラストラクチャに関する機密情報を漏洩させる可能性があります。
DNSゾーン転送に関する重要なポイント:
-
目的: ゾーン転送は、複数のネームサーバー間でDNSデータを複製するために使用され、一貫性を確保し、冗長性を提供します。
-
セキュリティリスク: 適切に制限されていない場合、攻撃者はゾーン転送を悪用して、内部IPアドレス、ホスト名、その他の機密データなど、組織のネットワークトポロジに関する情報を収集する可能性があります。
-
情報漏洩: 不正なゾーン転送が成功すると、以下の情報が明らかになる可能性があります。
- 内部ネットワークの構造
- 命名規則
- IPアドレス割り当てスキーム
-
さらなる攻撃の潜在的なターゲット
-
AXFRプロトコル: ゾーン転送の主な方法はAXFR(Authoritative Transfer)プロトコルであり、ゾーンファイル全体を転送します。
-
IXFRプロトコル: 代替としてIXFR(Incremental Zone Transfer)プロトコルがあり、これは最後の更新以降に行われた変更のみを転送します。
推奨事項
制限されていないDNSゾーン転送に関連するリスクを軽減するために、以下の推奨事項の実装を検討してください。
-
ゾーン転送の制限: 承認されたセカンダリネームサーバーからのゾーン転送のみを許可するようにDNSサーバーを構成します。
-
アクセス制御リスト(ACL)の使用: DNSサーバーにACLを実装して、ゾーン転送を要求できるIPアドレスを指定します。
-
TSIGの実装: トランザクション署名(TSIG)を使用して、承認されたDNSサーバー間のゾーン転送を認証および暗号化します。
-
Split-DNSアーキテクチャの使用: 情報の漏洩を最小限に抑えるために、内部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