ドメインネームシステム(DNS)は、example.com のような人間が読みやすいドメイン名を、コンピュータがネットワーク上で相互に通信するために使用する IP アドレスに変換する分散型ネーミングサービスです。インターネットのディレクトリとしての役割を果たす DNS は、毎日数十億件ものクエリを処理しており、これによりユーザーは数値のアドレスを覚えることなく、サイトやサービスにアクセスすることができます。
主なポイント
- DNSは、ドメイン名を、ネットワークが経路決定を行う際に使用するIPアドレスに変換します。
- 解決処理は、リゾルバー、ルートサーバー、TLDサーバー、および権威サーバーを経て行われます。
- A、AAAA、MX、CNAME などのレコード種別は、それぞれ異なる役割を果たしています。
- DNS over TLS および DNS over HTTPS は、平文で送信されていたクエリを暗号化します。
- VOSデバイスは、SD-WANポリシーに基づいて、DNSトラフィックのプロキシ、フィルタリング、およびルーティングを行います。
このページの内容: その重要性仕組み種類DNSとVersaよくある質問
なぜDNSは重要なのでしょうか?
DNSはインターネットの基盤となるプロトコルのひとつです。基本的に、DNSの検索なしには、ブラウジングセッション、API呼び出し、クラウド接続のいずれも開始されません。DNSが存在するのは、ユーザーが名前でナビゲートし、ネットワークがアドレスでルーティングを行うためであり、これら2つをグローバルな規模で相互変換するには、単一の中央ディレクトリではなく、分散型でキャッシュ可能な命名システムが必要となるからです。
この分散構造こそが、DNSの拡張性を支えている理由でもあります。単一のサーバーがすべてのマッピングを保持しているわけではなく、権限はルートからトップレベルドメインを経て、個々のゾーンを運用する組織へと階層的に委譲されており、各層でのキャッシュにより、ほとんどのクエリが広域インターネットに流出することを防いでいます。しかし、この信頼モデルこそが、DNSを攻撃の標的として好まれる理由にもなっています。キャッシュポイズニング、スプーフィング、トンネリングといった攻撃はすべてこの仕組みを悪用するものであり、そのため、暗号化された通信やDNSを意識したフィルタリングは、現在ではセキュリティアーキテクチャ の標準的な構成要素となっています。
DNSとは何ですか?
DNSの検索は、クライアント側のスタブリゾルバから開始され、スタブリゾルバはクエリを再帰リゾルバ(多くの場合、ISP、企業、またはパブリックプロバイダによって運用されている)に転送します。キャッシュにまだ保存されていない場合、再帰リゾルバは階層構造を順にたどります。まず、ルートサーバーに、そのサフィックスに対して権威を持つトップレベルドメイン(TLD)サーバーを問い合わせ、次にそのTLDサーバーに、そのゾーンを管理する権威サーバーを問い合わせ、最後にその権威サーバーに対してレコードを問い合わせます。
各レコードには、リゾルバーが再度問い合わせを行うまでのキャッシュ保持期間を規定する「有効期間(TTL)」が設定されています。レコードにはいくつかの種類があり、Aレコードはホスト名をIPv4アドレスに、AAAAレコードはホスト名をIPv6アドレスに、CNAMEレコードはあるホスト名を別のホスト名に、MXレコードはメールサーバーを、NSレコードはゾーンを委任し、TXTレコードはSPFやDKIMなどのレコードに使用されるテキストを格納します。
DNSの種類
DNSの解決には、いくつかのサーバーの役割が関わっています。再帰的リゾルバーは、クライアントに代わって処理を行い、階層を辿りながら結果をキャッシュします。権威サーバーは、ゾーンの実際のレコードを保持しています。ルートサーバーとTLDサーバーは、クエリを適切な権威サーバーへ転送することのみを目的としており、個々のドメインに対する回答を行うことはありません。
通信方式も多様化しています。従来のDNSはUDP上で暗号化されずに動作し、応答サイズが大きい場合はTCPに切り替わります。この設計では、通信経路上でクエリが可視化されてしまいます。DNS over TLS(DoT) やDNS over HTTPS(DoH)は、クエリをTLSでカプセル化することでこの脆弱性を解消しますが、その代償として追加の接続確立が必要となります。一方、互換性が追加の暗号化よりも優先される場合は、引き続きプレーンなUDPやTCPがデフォルトとして使用されます。
DNS &Versa
VOS デバイスは、DNS プロキシとして機能し、「DNS プロキシの設定」で説明されているように、クライアントからの DNS 要求を傍受し、設定可能なルールに基づいて適切なリゾルバーにリダイレクトすることができます。一般的なパターンとして「スプリット DNS」があります。これは、内部ドメインのパターンは企業の DNS サーバーで解決され、それ以外はすべてパブリックリゾルバーに送信されることで、企業サーバーからの再帰的検索の負荷を軽減するものです。 Director の DNS プロキシプロファイルは、フェイルオーバーまたはラウンドロビン方式のリゾルバ、SNAT プール、および(リリース 23.1.1 以降)DoH および DoT 接続をサポートしています。
SD-WANによるダイレクトインターネットアクセス(DIA)の場合、「SD-WANトラフィックステアリングを使用したDNSプロキシの設定(DIA向け)」により、DNSクエリがSD-WANトラフィックステアリングポリシーを参照できるようになり、それに続くアプリケーショントラフィックに対して、緩やかな、あるいは厳格なパスアフィニティを設定できます。 セキュリティ面では、「DNSフィルタリング(NGFW)の設定」により、許可リスト、拒否リスト、新たに検出されたドメインに対するレピュテーションベースの照会、およびDNSトンネリングの検出が適用され、セッションが確立される前に悪意のある解決をブロックします。
よくある質問
ドメイン名とDNSレコードの違いは何ですか?
example.com のようなドメイン名は、人間が読みやすいラベルです。DNSレコードとは、権威サーバーがそのドメイン名に対して返すデータ(IPアドレス、メールサーバー、テキスト値など)のことで、通常、1つのドメインには複数の種類のレコードが同時に登録されています。
DNSリゾルバーとは何ですか?
リゾルバーは、クライアントに代わって検索を行います。デバイス上のスタブリゾルバーは、クエリを再帰型リゾルバーに転送します。再帰型リゾルバーは、ルートサーバー、TLDサーバー、そして権限サーバーを順にたどって検索を行い、結果をキャッシュして再利用できるようにします。
DNSキャッシュとTTLとは何ですか?
すべてのDNSレコードには、タイム・トゥ・ライブ(TTL)が設定されています。これは、リゾルバーが再度クエリを送信する前に、キャッシュされた応答を再利用できる秒数を示します。各層でのキャッシュ機能により、DNSは、すべてのルックアップが権威サーバーに到達することなく、世界規模のクエリ量を処理することができるのです。
DNS over HTTPS(DoH)とは何ですか?
DoHは、DNSクエリをHTTPS接続内にカプセル化し、暗号化することで、中間者がリクエストを読み取ったり改ざんしたりできないようにします。DoTは、専用のTLS接続を介して同じ目的を達成します。どちらも、平文のUDPまたはTCPによるDNSトラフィックに取って代わるものです。
DNSフィルタリングとは何ですか?
DNSフィルタリングは、DNSリクエストを許可リスト、拒否リスト、およびレピュテーションデータと照合し、接続が確立される前に、既知の悪意のあるドメインや新たに検出されたドメインの解決をブロックします。また、DNSクエリ内にデータを隠蔽する攻撃である「DNSトンネリング」を検出することも可能です。
DNSに関する詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| RFC 1034: ドメイン名 — 概念と機能 | RFC 1035: ドメイン名 — 実装と仕様 |
|---|---|
| DNSの概念、命名階層、およびシステムの動作原理を定義した、IETFの初期仕様書。 | メッセージ形式、レコードタイプ、およびサーバーの実装詳細について規定した、関連するIETF仕様書。 |
関連用語
DNSについて読んでいるなら、次はこれらもぜひチェックしてみてください。
| トランスポート層セキュリティ | Versa Director |
ボーダー・ゲートウェイ・プロトコル |
|---|---|---|
| DNS over TLS や DNS over HTTPS の基盤となる暗号プロトコルであり、かつて平文で送信されていたクエリを暗号化するものです。 | VOSデバイス上で、DNSプロキシプロファイル、リダイレクトルール、およびDNSフィルタリングポリシーを設定するためのコンソール。 | アプリケーショントラフィックとのパスアフィニティを維持するために、DNSクエリがたどることができる経路決定を行うSD-WANルーティングプロトコル。 |