MailData

DNSフォワーディングとは何ですか?

DNSフォワーディングとは何ですか?

2024年3月22日
著者: Ahona Rudra
翻訳: 逆井 晶子

この記事はPowerDMARCのブログ記事 What is DNS Forwarding? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


DNSフォワーディングは、ネットワークの速度を向上させるのに役立ちます。
ユーザがドメイン名をリクエストしても、DNSサーバがキャッシュ内で対応する IPアドレスを見つけられない場合、DNSフォワーディングを実装する必要があります。
多くのドメインやサブドメインを持つ企業で使用されます。

ブログを読み進めて、DNSフォワーディングとは何か、および外部アドレスと内部アドレスに使用する方法について学びましょう。

DNSフォワーディングとは?

DNSフォワーディングは、最初に問い合わせたサーバが答えを持っていないため、別の指定されたサーバ(ルートヒントサーバ)が解決できないアドレスまたは DNSクエリを処理するプロセスです。
一般に、ドメイン名をIPアドレスに変換するすべてのサーバには、解決できないすべてのリクエストを転送するための特定のDNSフォワーダが割り当てられています。
この手法は、複数のドメイン管理が必要な大企業や、他社のドメイン解決が必要な企業間で使用されます。

DNSフォワーディングの仕組み

DNSフォワーディングがどのように機能するかについて説明します。

内部のDNS情報が外部に漏れることを防ぐためには、内部ネットワークでDNSフォワーダを利用することが重要です。
もし内部DNSフォワーダがないと、ルートヒントサーバが公開されて内部情報がインターネット上に流出する可能性があります。
また、ISP料金が高かったり、接続が遅くなる場合にもDNSフォワーダが役立ちます。
内部DNSフォワーダがないと、外部へのトラフィックが増え、処理が複雑になるためです。

DNSフォワーダを使用することで、外部DNSデータの内部キャッシュが構築され、外部DNSトラフィックが削減されます。

Microsoft Windows Server 2008 R2および2016でのDNSフォワーダの設定方法

DNSフォワーディングを設定する前に、再帰的DNSサーバのIPアドレスをメモし、ルートファイルが設定されていることを確認してください。
IPアドレス検索ツールを利用すると、ドメインのIPアドレスを簡単に確認することができます。
ルートヒントファイルは、Active Directoryドメインが再帰クエリのために連絡するルートDNSサーバを一覧表示します。
Windows Serverのグラフィカルユーザインターフェイスまたはコマンドラインを使用して実行することができます。

グラフィカルユーザインターフェイス

以下の手順でWindowsのグラフィカルユーザインターフェイスを使用してDNSフォワーダを設定することができます。

  1. 「スタート」をクリックし、「管理ツール > DNS」に移動します。
  2. 設定するDNSサーバを右クリックします。
  3. 「アクション」メニューに移動し、「プロパティ」タブをクリックします。
  4. 「フォワーダ」タブを選択します。
  5. 「編集」をクリックします。
  6. 「編集フォワーダ」ダイアログボックスに、再帰的DNSサーバのプライマリIPアドレスを入力し、Enterキーを押します。
  7. 再帰的DNSサーバのセカンダリIPアドレスを追加し、Enterキーを押します。
  8. フォワーダとしてリストされている他のサーバを削除し、プライマリおよびセカンダリの再帰的DNSサーバのみを残します。
  9. 「フォワードクエリがタイムアウトするまでの秒数」セクションに値を追加し、DNSサーバが応答を待機する秒数を指定します。
  10. 「OK」をクリックします。
  11. 「フォワーダが利用できない場合はルートヒントを使用する」オプションを有効にします。
    これにより、指定のフォワーダが応答しない場合でも、DNSサーバがルートヒントを使って自動的に名前解決を行います。
  12. 「プロパティ」ダイアログで「OK」をクリックします。

コマンドラインインターフェイス

以下の手順でコマンドラインインターフェイスを使用してDNSフォワーディングを設定します。

  1. 管理者としてコマンドプロンプトを開きます。
  2. 次のコマンドを入力し、Enterキーを押します:
    
    dnscmd <サーバ名> /ResetForwarders <プライマリIPアドレス …> [/TimeOut <時間>] /noslave
    

ここで:

条件付きフォワーディング

条件付きDNSフォワーディングは、すべてのクエリを転送するのではなく、特定のドメイン名に対するクエリだけを転送するようにDNSサーバを設定する方法です。
クエリに記載されたホスト名に応じて、特定のDNSフォワーダにクエリを送信します。
この方法は、従来のフォワーディングを強化し、名前ベースの条件を追加することでより柔軟に動作します。

条件付きDNSフォワーディングのメリットとして、安全性、速度、信頼性が向上し、より良いインターネット接続が確立される点が挙げられます。
このプロセスでは、DNSサーバがフォワーダに対して再帰的なクエリを送信します。

外部アドレス用のDNSフォワーディング

DNSフォワーディングは、すべての外部クエリを処理する指定のDNSサーバがない場合、内部DNSサーバがすべてのリクエストを処理する必要があるため重要です。
これは次の理由で望ましくありません:

  1. DNSが外部と内部で明確に分離されていない場合、内部DNSデータが漏洩する可能性が高くなります。
  2. DNSフォワーディングを導入していない場合、トラフィック負荷が増加します。
    DNSフォワーダとしてDNSサーバを指定すると、すべての外部ドメインの名前解決を担当し、外部アドレスのキャッシュを作成して再帰クエリの回数を減らし、トラフィックを削減します。

小規模でネットワーク容量が限られている企業では、DNSフォワーディングを導入することでネットワークをより効率的で高速にすることができます。

内部アドレス用のDNSフォワーディング

専門家は、内部アドレスのサブセットをDNSフォワーディングで処理することを推奨しています。
また、複数のドメインとサブドメインを含む大規模なイントラネットの場合、それらのドメインのサブセットに対するDNSリクエストを専用サーバで制御することが実用的です。
これらのリクエストは一般的に条件付きフォワーディングの原則に従って転送されます。

DNSフォワーディングのベストプラクティス

DNSは今日のインターネット依存した世界において非常に重要です。
単一のDNSサーバを使用している場合、それをDNSフォワーダとして設定する必要があります。
複数のDNSサーバがある場合は、そのうちの1つ、いくつか、またはすべてをDNSフォワーダとして設定することができます。
以下に、DNSフォワーダが最適に動作するためのベストプラクティスを示します。

再帰を無効化する
再帰機能を有効にすると、DNSサーバはクライアントに代わって他のサーバにクエリを送信することができます。
この機能はDNSフォワーディングのプロセスをサポートしますが、ネットワークがセキュリティリスクにさらされる可能性もあります。
再帰を無効にすることで、攻撃を受ける可能性が減少し、トラフィック負荷が軽減され、ネットワークの速度が向上します。
DNSSEC検証を有効化する
DNSSEC(Domain Name System Security Extensions)は、DNSスプーフィングキャッシュポイズニング攻撃を防ぐセキュリティプロトコルです。
この機能を有効にすると、DNSフォワーダはデジタル署名を確認し、署名が一致しない場合には応答を破棄し、クライアントにエラーメッセージを送信します。
ただし、安全な接続でのみ使用するべきです。
そうでない場合、ハッカーにデータを傍受され、改竄されるリスクがあります。
DNSサーバを監視する
DNSサーバを定期的に監視することで、技術的な問題を早期に検出し、迅速な対応が可能になります。
これにより、ビジネスに大きな影響を及ぼす可能性のあるダウンタイムを減少させることができます。
また、DNSフォワーダのログを確認して、不審な活動や不適切なユーザの行動を特定することで、潜在的なセキュリティリスクに先回りすることができます。
訳注: DNSサーバの監視には、Spelldataが代理店販売しているCatchpointのDNS計測・監視でお役に立てます。
予備の設定を用意し動作確認する
予備の設定を用意しておくことで、DNSフォワーダが機能しなくなった場合に他のDNSフォワーダに切り替えられるようになります。
これにより、システム停止の時間を短縮し、リソースへのアクセスを確保することができます。
新しい設定を本番環境で使用する前に、必ず動作確認を行ってください。
DNSサーバデータを定期的にバックアップする
悪意のある攻撃者がサーバを攻撃し、データを改竄または削除しようとする場合があります。
DNSサーバデータをバックアップすることで、ネットワークのトラフィックフローを中断することなくデータを迅速に復元することができます。
バックアップがない場合、すべてを復元するために数時間または数日を要し、ビジネスに大きな影響を与える可能性があります。