DNS (Domain Name System) は、IP アドレスを持つコンピュータにドメイン名を割り当てることで、たとえば、IP アドレス 207.46.193.254 を持つコンピュータは Microsoft サーバー www.マイクロソフト。 DNS は適切に設計されており、ほとんどの場合、非常にうまく機能します。ただし、常に満足のいかない状況が発生し、管理者は頭を痛めます。では、失敗の手がかりを見つけるにはどうすればよいでしょうか? DNS システムのどの部分が理想的とは言えませんか?
従うべきパターンはありますか?答えは「はい」です。参考までに、DNS サーバーの 7 つの罪を示します。
1. 古いバージョンの BIND を使用します。
Bind は、オープン ソースの DNS サーバー ソフトウェアとして、現在世界で最も広く使用されている DNS サーバー ソフトウェアです。 BIND のほとんどの古いバージョンには、深刻な既知の脆弱性があります。攻撃者はこれらの脆弱性を悪用して、DNS ネーム サーバーをダウンさせ、DNS ネーム サーバーを実行しているホストを侵害する可能性があります。したがって、必ず最新の BIND を使用し、適時にパッチを適用する必要があります。
2. すべての重要なドメイン ネーム サーバーを同じサブネットに配置します。
この場合、スイッチやルーターなどの機器に障害が発生するか、ネットワーク接続に障害が発生すると、インターネット ユーザーは Web サイトにアクセスしたり電子メールを送信したりできなくなります。
3. 権限のないクエリーへの再帰を許可します。
次の状況に設定されている場合:
(再帰はい|いいえ; [はい] 許可再帰 { address_match_list } [すべてのホスト] |
安全ではありません。ここで、再帰オプションは、named がクライアントに代わって他のドメイン ネーム サーバーにクエリを実行するかどうかを指定します。通常、ネームサーバーは再帰をオフにするように設定されていません。少なくとも、独自のクライアントに対しては再帰を許可する必要がありますが、外部クエリに対しては再帰を無効にする必要があります。なぜなら、任意のクライアントに対する再帰クエリを処理できる場合、ネーム サーバーがキャッシュ ポイズニングやサービス拒否攻撃にさらされることになるからです。
4. 無許可のセカンダリ ネーム サーバーによるゾーン転送の実行を許可します。
ゾーン転送とは、複数の DNS サーバー間でゾーン データベース ファイルをコピーするプロセスを指します。ゾーン転送サービスを任意のクエリアに提供すると、ドメイン ネーム サーバーが攻撃者に公開され、サーバーがクラッシュすることになります。
5. DNS フォワーダーは使用されません。
DNS フォワーダーは、他の DNS サービスに代わって DNS クエリを実行するサーバーです。 Microsoft の DNS サーバーや一部の古い BIND ネーム サーバーを含む多くのネーム サーバー ソフトウェアは、キャッシュ ポイズニングから適切に保護されておらず、他の DNS サーバー ソフトウェアにも、悪意のある応答によって悪用される可能性のある脆弱性があります。しかし、多くの管理者は、フォワーダーをまったく使用せずに、これらのネーム サーバーがインターネット上の他のネーム サーバーに直接クエリを実行できるようにしています。
6. Start of Authority (SOA) 値を誤って設定します。
SOA はゾーン データの始まりをマークし、ゾーン全体に影響を与えるパラメータを定義します。多くの管理者はゾーン値を低く設定しすぎるため、フラッシュ クエリやゾーン転送が失敗し始めるとシステムの中断を引き起こす可能性があります。 RFC が SOA を再定義して以来、一部の人がネガティブ キャッシュ TTL をリセットし、値が高くなりすぎました。
7. 認証データとゾーンデータの NS レコードが一致しません。
一部の管理者は、プライマリ ネーム サーバーを追加または削除しますが、ゾーンの委任データ (いわゆる委任データ) に対応する変更を加えるのを忘れます。これにより、ドメイン名の解決にかかる時間が長くなり、柔軟性が低下します。
もちろん、これらは管理者が犯しやすい間違いの一部にすぎませんが、DNS サーバーを構成するための基本的な参考として役立ちます。