DNS(ドメインネームシステム)とは、example.com のような人間が読みやすいドメイン名を、コンピュータが互いを識別・検索するために使用する数値の IP アドレスに変換するシステムです。インターネット上でのウェブサイトの閲覧、データベースへのクエリ、電子メールの配信は、すべてこれらの名前を解決するための DNS 検索から始まります。
DNSとは何の略ですか?
DNSとは ドメインネームシステムの略称です。これは、インターネットの単一かつ一元化されたディレクトリではなく、世界中の何百万ものサーバーによって運用される、高度に分散化された階層型データベースであるため、しばしば「システム」と呼ばれます。また、エンドユーザー向けアプリケーションに対して行う名前解決機能を表す「ドメインネームサービス(DNS)」という呼び方を耳にすることもあります。
ドメインネームシステムの解説
本質的に、ドメインネームシステム(DNS)は、インターネットの電話帳のような役割を果たしています。人間は、powerdmarc.com のような覚えやすい名前を使ってウェブを閲覧しますが、コンピュータやネットワークルーターは、192.0.2.1 のような機械が読み取れる IP アドレスを使ってデータを転送する必要があります。
このギャップを埋めるため、DNSは裏側で、人間が理解しやすい名前を、機械が認識できる正しいアドレスに変換します。この複雑なグローバルディレクトリは、協力し合ういくつかの組織によって維持・運営されています:
- レジストラ: ドメイン名の販売および割り当てを行う権限を有する組織。
- DNSホスティングプロバイダー: ドメインのマスターディレクトリファイルを保持する権威ネームサーバーを運用する企業。
- リゾルバー: インターネットサービスプロバイダー(ISP)や、Google(8.8.8.8)やCloudflare(1.1.1.1)などのパブリックプロバイダーが運営するサーバーで、ユーザーに代わってDNSクエリを処理・取得するものです。
DNSの構成
DNSネームスペースは、厳格な逆さツリー構造で構成されています。最上部(ドットで表されるルートゾーン)から始まり、明確な階層構造に沿って下方向に分岐していきます。
- ルートドメイン (.):DNS階層の最上位を表す、目に見えない「根」。
- トップレベルドメイン (TLD):ドメイン名の末尾に付く拡張子(例:.com、.org、.netなど)で、ドメインの種類や原産国を分類するものです。
- セカンドレベルドメイン: 組織や個人が選択した固有の名前。例:example.com の「example」など。
- サブドメイン: メインドメインの下で個別のサービスを分類するために使用される、任意のプレフィックス。例:mail.example.com の「mail」など。
DNSの仕組みは?
Web上のリソースにアクセスする際、コンピュータは対象のIPアドレスを特定する必要があります。この解決プロセスは、一連の体系的な検索を通じて、ミリ秒単位で行われます。
- ユーザーのリクエスト: Webブラウザに「example.com」と入力します。
- ローカルキャッシュの確認: ブラウザとオペレーティングシステムはまず、ローカルキャッシュを調べて、example.com の IP アドレスが最近解決され、保存されているかどうかを確認します。
- 再帰的リゾルバークエリ: ローカルキャッシュにエントリが存在しない場合、コンピュータは指定された DNSサーバー(再帰的リゾルバと呼ばれる)にクエリを送信します。このサーバーは通常、ISP、Google、またはCloudflareによって管理されています。
- ルートサーバーの検索: 再帰的リゾルバーは、グローバルDNSルートサーバー(.)の1つにクエリを送信します。ルートサーバーはそのIPアドレスを把握していませんが、TLDを読み取り、リゾルバーを.comのTLDネームサーバーへと誘導します。
- TLDサーバーの検索: リゾルバーは .com TLD ネームサーバーにクエリを送信します。このサーバーは example.com のレジストリエントリを検索し、リゾルバーをそのドメインの特定の権威ネームサーバーへと誘導します。
- 権威ネームサーバーへの照会: リゾルバーは、example.com のマスターゾーンファイルを保持している権威ネームサーバーにクエリを送信します。このサーバーは、IP アドレスを含む要求されたリソースレコード(例:A レコード)を返します。
- キャッシュと応答: 再帰的リゾルバーは、このIPアドレスを特定の期間(Time to Live、略してTTLと呼ばれる)の間、ローカルキャッシュに保存し、そのIPアドレスをお使いのコンピュータに返します。
- 接続が確立されました: お使いのブラウザは、ウェブサイトを読み込むために、返されたIPアドレスに直接接続します。
注:WebトラフィックはAレコードに大きく依存していますが、電子メールの配信も同様に機能します。ただし、リゾルバーが特に MXレコード を特定して、ドメインに割り当てられたメールサーバーを見つけ出します。
これらの検索の具体的な仕組みについてさらに詳しく知りたい場合は、当社のガイド「 再帰的、反復的、および非再帰的なクエリに関するガイドをご覧ください。
DNSレコードとは何ですか?
DNSレコードとは、権威ネームサーバーのゾーンファイル内に保存されるデータベースのエントリのことです。これには、トラフィックのルーティング方法、電子メールの配信方法、およびドメインの所有権の確認方法などをDNSに指示する情報が含まれています。
各レコードは、正確かつ標準化された形式で構成されています:
example.com. 3600 IN A 192.0.2.1
- 名前(example.com.): レコードが属するホスト名またはドメイン名。
- TTL (3600): 残存時間(Time to Live)を秒単位で指定します。これは、リゾルバーがレコードをキャッシュできる期間を決定し、その期間が経過すると新しいレコードを取得します。
- クラス (IN): ネットワーククラス。ほとんどの場合、IN(インターネット)となります。
- タイプ (A): レコードのプロトコルタイプ。値の解釈方法を定義します。
- 値 (192.0.2.1): レコードに割り当てられた実際のIPアドレス、ホスト名、またはテキスト文字列。
最も一般的な5つの DNSレコードの種類 には、次のようなものがあります:
- 記録: ホスト名をIPv4アドレスに直接マッピングします。
- CNAMEレコード: エイリアスを作成し、あるドメイン名を別のドメイン名に紐付けます。
- MXレコード: そのドメイン宛ての受信メールを処理するメールサーバーを指し示します。
- TXTレコード: テキスト形式の管理データを格納し、SPF、DKIM、DMARC などの電子メール認証プロトコルで広く利用されています。
- NSレコード: ドメインのレコードを管理する権威ネームサーバーを指定します。
DNSレコードの変更履歴をすべて確認する
リアルタイムのイベントフィードでトラックレコードやネームサーバーの変更を把握し、未解決のCNAMEやDNSSECの障害を検知して、A~Fのセキュリティスコアを取得します。
DNSのセキュリティ:なぜDNSが標的となるのか
ドメインネームシステム(DNS)は、当初、暗号化機能や送信者認証機能が組み込まれていなかったため、依然として悪用されるリスクが非常に高い。攻撃者は、こうしたアーキテクチャ上の死角を頻繁に悪用して、トラフィックを乗っ取ったり、ユーザーを詐欺サイトに誘導したり、正当な組織を装ったりしている。
- DNSスプーフィング / キャッシュポイズニング: 攻撃者が再帰型リゾルバーのキャッシュに偽のルーティングデータを注入し、サーバーを乗っ取って、何も疑わないユーザーを悪意のある複製サイトへ誘導させる。
- DNSハイジャック: 攻撃者は、ドメイン登録業者のアカウントやネームサーバーのホスト設定を乗っ取り、権威レコードを完全に変更することで、すべてのWebおよび電子メールのトラフィックをリダイレクトします。
- DNS増幅攻撃: 公開されている再帰型リゾルバーに偽装されたクエリを大量に送りつけ、膨大なトラフィックで標的となるネットワークを機能不全に陥らせる分散型サービス拒否(DDoS)攻撃。
- 未処理レコードとサブドメインの乗っ取り: ドメインが(CNAME、A、またはMXレコードを介して)すでに運用を終了した外部サービスプロバイダーを引き続き指し続けている場合、攻撃者はその外部アカウントを登録し、あなたのサブドメインに対する管理権を掌握する可能性があります。
- メールのなりすまし: ドメイン所有者がDNSに有効なメール認証レコード(SPF、DKIM、DMARC)を公開していない場合、悪意のある攻撃者は、そのドメイン名から送信されたかのように装ったなりすましメールを送信することが可能になります。
これらの脅威を軽減するため、組織は以下を導入すべきである DNSSEC (ドメインネームシステムセキュリティ拡張)を導入すべきです。これは、DNSレコードに暗号署名を付加し、その完全性を検証するものです。当社の包括的な DNS攻撃の種類を精査し、既知の DNSの脆弱性を評価し、 DNSセキュリティのベストプラクティス を実施し、ドメインインフラストラクチャを保護してください。
ウェブサイトのパフォーマンスにおけるDNSの役割
DNSの設定は、デジタル資産の読み込み速度に直接影響します。ブラウザがWebサーバーから1つの要素でもダウンロードするには、まずDNSの検索が完了するのを待たなければなりません。
この遅延を最小限に抑えるため、システムでは積極的なキャッシュが活用されています。リゾルバーは、レコードのTTL(有効期間)で指定された期間、DNSレコードをローカルに保存するため、その後のページ読み込みのたびにルートサーバーやTLDサーバーにクエリを送信する必要がなくなります。
さらに、現代のDNSプロバイダーは、ゾーンファイルの複製を世界中のサーバーネットワークに分散させるアニキャストルーティングネットワークを運用しています。アニキャストは、ユーザーからのクエリを地理的に最も近い利用可能なネームサーバーにルーティングすることで、検索時間を短縮します。DNSレコードを更新しても、その変更は世界中で一斉に反映されるわけではありません。その場合は、 DNS伝播チェッカー を使用することで、変更内容が世界中のサーバーにどのくらいの速さで反映されているかを追跡できます。
DNSプロバイダーとは何ですか?
DNSプロバイダーとは、ドメインの権威ネームサーバーをホストし、管理するサービスのことです。ドメインレジストラはドメイン名を購入・登録する会社であるのに対し、DNSホスティングプロバイダーは、実際のDNSレコードのゾーンファイルを管理する場所です。
多くの場合、レジストラは基本的なDNSホスティングを購入時にセットで提供していますが、大企業では、パフォーマンスの向上やDDoS攻撃からの保護を目的として、レコードをCloudflare、AWS Route 53、NS1などのプレミアムなサードパーティ製ホスティングプロバイダーに移行することがよくあります。これは、Googleの8.8.8.8のようなパブリックリゾルバーとは別のものであり、パブリックリゾルバーは単に、ユーザーに代わって外部レコードを取得・キャッシュするためのサーバーに過ぎません。
その他、よく見かけるDNS用語
プライベートDNS
プライベートDNSは、隔離された企業内ネットワーク内、または仮想プライベートネットワーク(VPN)の背後で動作します。インターネット全体のレコードを解決するパブリックDNSとは異なり、プライベートDNSサーバーは社内のリソース(社内イントラネットや開発サーバーなど)のレコードのみを解決し、外部のパブリックWebからは完全にアクセスできません。
ダイナミックDNS
ダイナミックDNS(DDNS)は、基盤となるIPアドレスが変更された際に、DNSレコードをリアルタイムで自動的に更新します。これは、ISPが固定の静的IPアドレスではなく、定期的に変更される動的IPアドレスを割り当てる、家庭用インターネット回線を利用する在宅オフィス、遠隔地のカメラ、あるいは小規模な企業にとって非常に有用です。
DNSトラフィック
DNSトラフィックとは、UDPまたはTCPポート53を介して行われる送受信パケットのやり取りを指します。DNSトラフィックの監視はセキュリティチームにとって極めて重要です。予期せぬトラフィックの急増や異常なルックアップパターンは、データ流出の試み、トンネリング攻撃、あるいはコマンド&コントロールサーバーへの通信を行うマルウェアの存在を示唆している可能性があります。
DNS設定
DNS設定とは、ルーター、オペレーティングシステム、またはモバイルデバイス上の設定項目であり、デバイスがクエリを送信すべき再帰的リゾルバーを指定するものです。デフォルトでは、デバイスはISPから割り当てられたリゾルバーを自動的に使用します。しかし、これらの設定を変更して、信頼できるパブリックリゾルバー(CloudflareやGoogleなど)を使用するようにすると、ブラウジング速度の向上、ネットワークによるブロックを回避、およびウェブフィルタリングによる保護の強化が可能になります。
よくあるご質問
DNSはIPアドレスと同じものですか?
いいえ。IPアドレスとは、ネットワーク上の物理的な機器を識別するための一意の数値アドレスです。DNSとは、覚えやすいドメイン名をその数値のIPアドレスと照合する変換システムであり、これにより、人間が長い数字の列を覚える必要がなくなります。
DNSとDNSサーバーの違いは何ですか?
DNSとは、ドメイン名を体系化するために用いられる、包括的なプロトコル、インフラストラクチャ、およびデータベースのルールセットのことです。A DNSサーバー とは、DNSクエリの処理、ゾーンファイルの保存、または名前の解決を行うために設計されたソフトウェアを実行する、物理マシンまたは仮想マシンのことです。
8.8.8.8 と 1.1.1.1 とは何ですか?
これらは、セキュリティレベルの高いパブリックな再帰型DNSリゾルバーです。Googleは 8.8.8.8 を、Cloudflareは 1.1.1.1を運用しています。何百万人ものユーザーが、地元のISPが提供するサービスよりも高速な検索速度と優れたプライバシーを確保するために、これらの無料のパブリックリゾルバーを利用できるよう、手動でデバイスを設定しています。
DNSは有効にするべきでしょうか、それとも無効にするべきでしょうか?
DNSはインターネットの中核をなす基盤サービスであり、無効にすることはできません。もしDNSが無効化された場合、ウェブブラウザやメールクライアントはサーバー名を解決できなくなり、サービスにアクセスするにはアドレスバーにIPアドレスを数値のまま手動で入力しなければならなくなります。
ドメインのDNSレコードを確認するにはどうすればよいですか?
オンラインの DNSレコード検索 ツールにアドレスを入力することで、ドメインの現在のレコードを照会・確認できます。このツールは外部リゾルバーとして機能し、権威ネームサーバーにクエリを送信して、受信サーバーが実際に認識しているのと同じ形でパブリックレコードの値を表示します。
まとめ
ドメインネームシステム(DNS)は、現代のウェブへのアクセスを支える目に見えない基盤であり、毎秒、数百万もの複雑なサーバーのIPアドレスを、認識しやすいブランド名に変換しています。DNSゾーンファイルは、Web、メール、APIのトラフィックがどこへ送信されるかを正確に決定するため、このディレクトリのセキュリティを確保することは、実際の資産をホストすることと同様に重要です。高速なエニーキャストルーティング、適切なTTL管理、そしてDNSSECやDMARCといった堅牢なセキュリティプロトコルを組み合わせることで、組織は最適なパフォーマンスを維持しつつ、デジタルインフラストラクチャを保護することができます。