2026年10月8日
2026年10月8日
DNSのオープンリゾルバを無効にする方法
はじめに
DNSのオープンリゾルバは、外部からの任意のDNSクエリーに対応する機能です。しかし、この機能が悪用されると、サーバーは攻撃や不正アクセスの危険性を高める要因となります。特に、組織外からも容易にサーバーへのアクセスができる状況では、オープンリゾルバを無効にすることが重要です。
症状・背景
- サーバーが悪用され、外部からのDNSクエリーに対応している場合
- 既存の設定で安全確認が必要な場合
- DNSサーバーのセキュリティ強化を実施する必要がある場合
手順・設定方法
ステップ1: ネームサーバーソフトウェアの確認
# bind9の場合、ソフトウェアのインストール状況を確認します。
dpkg -l | grep bind9
# インストールされていない場合はインストールします。
apt-get install bind9
ステップ2: ネームサーバー設定ファイルの編集
# /etc/bind/named.conf.options を編集します。
nano /etc/bind/named.conf.options
# 以下のように、allow-queryとallow-recursionを無効にします。
options {
directory "/var/cache/bind";
// ネットワークからのクエリを許可するネットワークを定義
allow-query { localhost; };
// リカレントクエリーを外部からのクエリに対して拒否する
recursion no;
};
ステップ3: 配置ファイルの再読み込み
# 新しい設定を適用します。
systemctl reload bind9
ステップ4: 実践/トラブルシュート/監視
# ネームサーバーの状態を確認します。
tail -f /var/log/syslog | grep named
# または、Bind9のエラーログを確認します。
tail -f /var/log/syslog | grep bind
注意事項
- ネットワークからのクエリを許可するネットワークは適切に設定してください。
- 全てのサービスが影響を受けないように慎重に操作を行います。
- セキュリティ上の注意:無効化により外部からのDNSクエリーが制限されるため、内部ネットワークからの必要性のあるアクセスは確保することを確認します。
まとめ
1. ネームサーバーソフトウェアの確認: bind9のインストール状況を確認します。
2. 設定ファイルの編集: allow-queryとallow-recursionオプションを無効にします。
3. 配置ファイルの再読み込み: 新しい設定を適用します。
4. 実践/トラブルシュート/監視: ネームサーバーの状態やエラーログを確認します。
関連記事: