2026年10月29日

2026年10月29日

BINDのACLでゾーン転送を制限する方法

はじめに

DNS(Domain Name System)は、インターネット上のホスト名とIPアドレスの相互変換を担っています。 BIND(Berkeley Internet Name Domain)は最も広く利用されているオープンソースのDNSソフトウェアで、多くの組織や個人が自身のドメイン管理に使用しています。しかし、不正なゾーン転送によりプライベートのDNS情報が漏洩するリスクがあります。そこでこの記事では、BINDのACL機能を使ってゾーン転送を制限する方法について詳しく説明します。

症状・背景

  • ネットワークに外部からの不正なゾーン転送が懸念される場合
  • 様々なDNSサーバー間で信頼関係を持たない状況において、特定のサーバーのみにゾーン転送を許可する必要がある場合
  • プライベートのレコードや内部ネットワーク向けのDNS情報を外部から非公開にする必要がある場合

手順・設定方法

ステップ1: ゾーンファイルとACLEntry定義

# /etc/bind/named.conf.options の中で以下のように記述します。
options {
    directory "/var/cache/bind";
    recursion no;  # 証拠なしの再帰的なリクエストを拒否します(推奨)
    allow-transfer { none; };  # デフォルトではゾーン転送は許可されていません
};

# /etc/bind/named.conf.local または /etc/bind/zones/ 目錄下的某个文件中定义ACL规则如下:
zone "example.com" {
    type master;
    file "/etc/bind/db.example.com";
    allow-transfer { key "secret-key"; };  # 具体的关键字需要根据实际情况设定
};

ステップ2: 認証キーの設定

# /etc/bind/named.conf.options の中で以下のように記述します。
key "secret-key" {
    algorithm hmac-md5;
    secret "your-secret-hmac-key";
};

# 重要:hmac-md5は推奨されません。2018年以降は使用を避けるべきです。代わりに,hmac-sha256, hmac-sha384, hmac-sha512などのより安全なアルゴリズムを使用することをお勧めします。

ステップ3: ゾーン転送許可先の追加

# /etc/bind/named.conf.local または /etc/bind/zones/ 目錄下的某个文件中定义ACL规则如下:
zone "example.com" {
    type master;
    file "/etc/bind/db.example.com";
    allow-transfer { key "secret-key"; 192.0.2.254; };  # 允许从IP为192.0.2.254的服务器进行转送
};

# 注意:允许从特定IP地址或网络范围进行转送。

ステップ4: ネットワーク設定と監視

# /etc/bind/named.conf.options の中で以下のように記述します。
options {
    directory "/var/cache/bind";
    recursion no;  # 証拠なしの再帰的なリクエストを拒否します(推奨)
    allow-transfer { key "secret-key"; 192.0.2.254; };  # 具体性的地允许的转送源
};

# 检查配置是否正确,确保没有拼写错误。
named-checkconf

# 启动或重新启动BIND服务以应用更改。
systemctl restart named

注意事項

  • BINDの設定は非常に重要なセキュリティタスクです。誤った設定によりサービスが停止したり、不正なアクセスが許可される可能性があります。
  • 有効な認証キーの生成と管理は不可欠です。鍵を適切に保管し、定期的に更新することをお勧めします。
  • 構成ファイルの誤りやバグによりサービスがダウンする場合があるため、変更直後には監視を行いましょう。

まとめ

1. ACLを使用してゾーン転送を制限:特定のサーバーのみにゾーン転送を許可することができます。

2. 認証キー設定:セキュリティ上重要であり、適切なハッシュアルゴリズムを使用することをお勧めします。

3. 有効なIPアドレスの指定:許可するサーバーのIPアドレスを明示的に指定することで、ゾーン転送をより厳格に制御することができます。

4. サービス再起動と確認:変更後はBINDサービスを再起動し、設定が正しく反映されていることを確認してください。

5. 監視と定期的なレビュー:セキュリティ設定は常に最新の状態であるべきです。定期的に検討を行い、必要に応じて調整を行いましょう。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲