クイックダウンロード:
プライベートDNSは、内部ネットワーク内にカスタムDNSネームスペースを作成することで、機密性の高い内部リソース名やIPマッピングをパブリックインターネットから隔離し、セキュリティと柔軟性を向上させます。
-
プライベートDNSは内部ネットワーク内でのみレコードを提供し、機密性の高いインフラストラクチャのホスト名やIPアドレスのマッピングがパブリックインターネットに公開されたり、パブリックインターネットから解決されたりするのを防ぎます。
-
スプリットホライズンDNSは、同じホスト名に対して内部クライアントと外部クライアントに異なるレコードを返します。これは、内部ユーザーを外部公開エンドポイントではなく内部リソースに誘導するのに役立ちます。
-
DNS over TLS(DoT)は、プライベートDNSトラフィックを暗号化することで、転送中の内部DNSクエリの盗聴や改ざんを防ぎます。これは、ゼロトラストネットワークアーキテクチャにとって非常に重要です。
-
AWS Route 53 ResolverやAzure Private DNSといったクラウドネイティブなプライベートDNSオプションは、VPCネットワークと直接統合されるため、実装の複雑さを大幅に軽減できます。
ほとんどのエンジニアは、DNSの設定に関する慣例やベストプラクティスに精通しています。しかし、プライベートDNSを使用することで得られる多くの改善点については、必ずしも全員が認識しているわけではありません。プライベートDNSは、内部リソース名を解決するために使用されるレコードを非公開(パブリックDNSでは解決できない)にすることで、レコードを処理する代替手段となります。組織のDNSレコードの使用における柔軟性の向上、高度なセキュリティ機能、そして豊富な構成オプションにより、プライベートDNSはシンプルなトポロジーにも複雑なトポロジーにも非常に魅力的な選択肢となります。
以下の記事では、プライベートDNSの仕組みを詳細に解説し、アーキテクチャの例や、プライベートDNSを効果的に実装するためのベストプラクティスを紹介します。
プライベートDNSキーの概念の概要
この記事で取り上げる内容の概要は以下のとおりです。
| プライベートDNSの仕組み | プライベートDNSは、パブリックDNSと全く同じように、一連のクエリとレスポンスを使用して動作します。主な違いは、レコードの維持管理方法と配布方法にあります。 |
| プライベートDNSアーキテクチャ | プライベートDNSアーキテクチャの例としては、専用DNS、スプリットホライズンDNS、DNSフォワーディング、SDN、クラウドベースDNSなどが挙げられる。 |
| DNS over TLS (DoT) | DoTは、トランスポート層セキュリティ(TLS)プロトコルを使用して、DNSトラフィックに暗号化レイヤーを追加します。 |
| プライベートDNSの利点 | プライベートDNSは、セキュリティの向上、パフォーマンスの改善、プライバシーの強化を実現します。 |
| プライベートDNSの実装 | 環境にプライベートDNSアーキテクチャを追加するには、アーキテクチャの選択、テスト、適切な監視、セキュリティとプライバシーに関するベストプラクティスの活用などを含む、徹底した計画プロセスが必要です。 |
| プライベートDNSにおけるIPv6 | プライベートDNSはIPv4とIPv6でほぼ同じように機能しますが、IPv6ではいくつかの追加的な考慮事項が必要です。 |
プライベートDNSの仕組み
プライベートDNSとは、内部ネットワーク内に独自のDNSネームスペースを作成する方法です。これにより、組織はパブリックDNSサーバーを使用することなく、内部ネットワーク上のデバイスで解決可能な独自のドメイン名を開発できます。
プライベートDNSの仕組みは以下のとおりです。
- 組織は、自社のプライベートネットワーク内にプライベートDNSサーバーを設置します。このDNSサーバーは、組織独自のドメイン名に対する権威DNSサーバーとして機能します。
- IPアドレスは、内部ネットワーク内のデバイスに割り当てられます。
- 組織は独自のドメイン名を作成し、それを自社デバイスのIPアドレスに関連付ける。
- IPアドレスとカスタムドメイン名に関する情報は、プライベートDNSサーバーのゾーンファイルに保存されます。
- プライベートネットワーク上のデバイスが、独自のドメイン名を使用して別のデバイスにアクセスする必要がある場合、プライベートDNSサーバーに問い合わせを行います。
- プライベートDNSサーバーは、ゾーンファイル内でドメイン名に関連付けられたIPアドレスを検索し、要求元のデバイスにそのIPアドレスを返します。
- 要求元のデバイスは、そのIPアドレスを使用して、プライベートネットワーク上の目的のデバイスとの接続を確立できます。
プライベートDNSの利点
セキュリティと制御の向上
公開DNSサーバーはインターネット上の誰でもアクセスできるため、攻撃を受けやすい。プライベートDNSサーバーを運用することで、組織はDNS攻撃などの外部からの脅威への露出を制限し、従来のDNS解決を妨害したり、機能不全に陥らせたりするリスクを軽減できる。
プライベートDNSを使用することで、組織はDNSレコードを完全に制御でき、独自のサブドメインの管理やアクセス制御の設定などが可能になります。これにより、不正アクセスやDNSレコードの変更を防ぎ、トラフィックのリダイレクトやフィッシング攻撃への悪用を回避できます。
この機能により、組織はDNSクエリと応答をパブリックDNSサーバーに送信するのではなく、自社のネットワーク内に保持することができます。これにより、サードパーティのDNSプロバイダーと共有されるデータ量を削減し、プライバシーを強化できます。
最後に、プライベートDNSを利用することで、組織は特定のドメインやトラフィックの種類をブロックするなど、独自のセキュリティポリシーを実装できます。これは、マルウェア感染やその他のセキュリティ問題の防止に役立ちます。
パフォーマンスを向上させる
プライベートDNSは、さまざまな方法でパフォーマンスを向上させることができます。
パブリックDNSサーバーは、特にトラフィックが多い時間帯には、DNSクエリへの応答が遅くなることがあります。組織のネットワーク内にプライベートDNSサーバーを設置することで、ローカルネットワーク経由でサーバーに直接接続できるため、ほとんどのクライアントはDNSエントリを非常に迅速に解決できるようになり、レイテンシが低減されます。これにより応答時間が短縮され、ユーザーエクスペリエンスが向上し、タイムアウトや接続エラーの発生頻度が低減されます。
プライベートDNSサーバーは、ユーザーを地理的に近いサーバーに誘導したり、複数のサーバー間でトラフィックを分散させたりすることで、トラフィックルーティングを最適化できます。また、プライベートDNSは、パブリックDNSサーバーでは不可能な、アドホックなカスタマイズ機能も提供します。これにより、ネットワーク遅延を低減し、応答時間を改善することで、アプリケーションやサービスのパフォーマンスを向上させることができます。
プライバシー
名前に「プライベート」という言葉が含まれていることからもわかるように、プライベートDNSは、それを利用する組織内のプライバシー保護を強化するのに役立つことは当然のことです。その仕組みを以下に説明します。
従来のDNSクエリは、インターネット上で送信されるネットワークトラフィックを監視する潜在的な攻撃者にとって、地図を作成するようなものになり得ることを考えてみてください。頻繁にアクセスされるWebサイトに関する傾向を検出したり、DNSレコードが変更される頻度を追跡したりすることで、その傾向を把握できます。同様に、DNSスクレイピングツールは、攻撃者が任意のドメインに関する非常に有用な情報を特定するために使用できます。
- サブドメイン
- ゾーン転送の脆弱性
- メールサーバーの一覧
- メールアドレス
- テクノロジースタック
組織がDNSクエリと応答を自社ネットワーク内に保持できるようにすることで、サードパーティのDNSプロバイダーと共有されるデータ量を減らし、プライバシーを強化することができます。
さらに、プライベートDNSを利用することで、組織はDNSデータをより詳細に制御できるようになります。独自のDNSサーバーとDNSレコードを管理し、アクセス制御を設定し、セキュリティポリシーをカスタマイズできます。これにより、DNSレコードへの不正アクセスや不正な変更を防ぐことができ、トラフィックのリダイレクトやフィッシング攻撃への悪用を防ぐことができます。
プライベートDNSアーキテクチャ
業界では、さまざまなプライベートDNS構成が用いられており、その構成や使用するハードウェアおよびソフトウェアコンポーネントはそれぞれ異なります。本節では、3つの異なるアーキテクチャについて見ていきます。なお、アーキテクチャの選択については、記事後半のベストプラクティスのセクションで解説していますので、そちらもご参照ください。
スプリットホライズンDNSサーバー
このアーキテクチャでは、パブリックDNSゾーンとプライベートDNSゾーンの両方を管理するために、同じDNSサーバーが使用されます。サーバーは、パブリックインターネットからのパブリックドメインへの要求に応答すると同時に、組織の内部ネットワーク内のデバイスからのプライベートドメインへの要求にも応答します。

クラウドベースのDNS
このアーキテクチャでは、クラウドベースのDNSソフトウェア・アズ・ア・サービス(SaaS)製品を使用して、組織のネットワークにおけるドメイン名解決プロセスを管理します。このサービスは、組織の内部ネットワーク向けにプライベートDNS解決を提供すると同時に、外部からのリクエストに対してパブリックDNS解決を提供するように構成できます。ただし、インフラストラクチャとセキュリティに関する責任はドメイン所有者ではなくクラウドプロバイダーが負うため、全く異なる一連の問題が発生する可能性があります。
ソフトウェア定義ネットワークを使用したプライベートDNS
このアーキテクチャでは、プライベートDNS解決は、ネットワーク仮想化やその他の高度な機能を提供するソフトウェア定義ネットワーク(SDN)に統合されています。プライベートDNS解決は、SDN内に展開される仮想DNSサーバーを使用して実装できます。これにより、ソフトウェアプラットフォームからDNSインフラストラクチャを管理できるという利点が得られます。これはクラウドベースのDNSに似ていますが、セキュリティとインフラストラクチャの責任はドメイン所有者が単独で負うことになります。
プライベートDNSの実装とベストプラクティス
以下の手順は、プライベートDNSの実装を支援し、それを効果的に活用するための最良の可能性を引き出すのに役立ちます。
慎重に計画する
DNSの導入を設計する際には、以下の点を考慮することが重要です。
Windowsサーバー環境では、DNSはドメインコントローラー(DC)上で動作する必要があります。通常、DCはペアで配置され、多くの組織では冗長性を確保するために、少なくとも1台の物理サーバーと任意の数の仮想サーバーを作成します。
選定するソフトウェアは、計画プロセスにおいて最も重要な部分となるでしょう。Windows標準のDNS機能は、おそらく最も設定が容易であり、理論的には設定ミスが発生する可能性も低くなります。Windows DNSはWindows Active Directoryと統合され、ネットワーク上で稼働するサービスのデータベースを作成します。
Windows の標準 DNS サービスが使用されていない場合、代替手段として次のようなものがあります。 バインド9 実装される予定であれば、Linuxサーバーが必要です。仮想化の観点から言えば、これは検討する良い機会です。 デッカー コンテナをあなたの環境でも活用する事例として検討してみてください。
適切なアーキテクチャを選択する
先に述べた各DNSアーキテクチャには様々なユースケースが存在するため、組織全体を考慮し、要件を評価することが重要です。
通常、選択するアーキテクチャは、クライアントと拠点の両方の成長に対応できるものでなければなりません。たとえば、ある組織が現在1つの物理的な拠点で事業を展開しており、100~200程度のクライアントを抱えているものの、アプリケーションのほとんどを社内でホストしているとします。このようなシナリオでは、スプリットホライズンDNSが最適な選択肢となります。クライアントの所在地に応じて、ローカルドメイン名とパブリックドメインを使用して異なる場所に解決できる柔軟性を提供するからです。たとえば、組織内のクライアントは、次のような場所からアクセスすることができます。 www.example.com そして、ローカルネットワーク外のユーザーが同じURLを解決しようとした場合とは異なるWebサーバーのIPアドレスに誘導される。
組織が複数の拠点(場合によっては大陸をまたいで)に分散している場合、クラウドベースまたはSDNベースのDNSサーバーを導入することが望ましいでしょう。クラウドベースのDNSの場合、他の拠点に近い別のリージョンに仮想サーバーを追加または移動できるため、レイテンシを低減しつつ、プライベート/パブリックDNSの柔軟性を維持できます。どちらのアーキテクチャも、DNS管理にソフトウェアベースのGUIを使用するため、複数のユーザーがどこからでも設定を管理できます。
徹底的にテストする
プライベートDNSの導入が正しく機能し、期待されるパフォーマンスと信頼性を提供していることを確認するには、徹底的なテストが不可欠です。名前解決、キャッシング、エラー処理など、DNS解決プロセスのあらゆる側面をテストしてください。
GRCの DNSベンチマーク これは、新しいDNSサーバーのテストデータを取得するのに最適な方法です。このソフトウェアは、以下のような出力を表示し、すべてのDNS解決メトリックを確認できます。

さらに、DNS Benchmarkを使用すれば、数百もの利用可能なDNSサーバーと自社のデータを比較し、業界の基準を満たしていることを確認できます。
テストグループとして、いくつかのワークステーションを新しいDNSサーバーをプライマリDNSとして使用するように設定し始めます。ワークステーションからは、次のようなさまざまなツールを使用してDNS解決を検査できます。
- nslookup Windowsデバイスで
- DNSリークテスト
- MX Toolbox DNSチェック
監視と保守
プライベートDNSの導入が完了し、運用が開始されたら、発生する可能性のある問題を検出して対処するために、システムを定期的に監視することが重要です。また、システムを安全かつ最新の状態に保つためには、定期的なメンテナンスとアップデートも不可欠です。
DNS監視を始めるのに役立つリソースをご紹介します。
DNSサーバーを監視するだけで防げるサイバー攻撃は数多くあります。その例としては、以下のようなものがあります。
セキュリティとプライバシーを考慮する
前述のとおり、プライベートDNSはネットワークトラフィックのセキュリティとプライバシーを本質的に向上させることができますが、システムのセキュリティとプライバシーをさらに強化するためには、DNS over TLS(DoT)などの他のセキュリティ対策を検討することが重要です。
DoTは、トランスポート層セキュリティ(TLS)プロトコルを使用することで、DNSトラフィックに暗号化レイヤーを追加します。ユーザーのデバイスがDoTをサポートするネットワーク経由でDNSリクエストを送信すると、リクエストはTLSを使用して暗号化されます。その後、リクエストは同じくDoTをサポートするDNSリゾルバに送信され、リゾルバはリクエストを復号化して処理します。リゾルバは応答をTLSを使用して暗号化し、ユーザーのデバイスに送り返します。デバイスでは、この応答が復号化されて処理されます。
Microsoftは最近、Windows 11 Insider Build 25158以降にDNS over TLSのサポートを追加しました。詳細な設定については、こちらをご覧ください。 こちら.
DNSプライバシープロジェクト は、より安全なDNS標準とソフトウェアの作成を支援する上で、目覚ましい進歩を遂げてきました。 ソリューション DNSプライバシープロジェクトのウェブサイトにあるページには、現在使用されている、または開発中のセキュリティプロトコルの進歩がすべて掲載されています。
プライベートDNSの実装例
実装とベストプラクティスがサンプルネットワークでどのように見えるかをさらに分かりやすく示すために、例を見てみましょう。
Reality Technologyは、技術インフラと運用体制の計画を進めている新興の小規模企業です。その取り組みの一環として、同社のITチームはネットワークトポロジーの一部としてプライベートDNSを使用するかどうかを検討しています。すべてのトラフィックは同一のLAN内で処理され、リモートワーカーはVPNソリューションを使用して接続します。提案されているネットワーク構成とワークロードの図を以下に示します。

計画段階で、RealityTech.intドメインのドメインコントローラーとして機能する仮想マシン(VM)をトポロジに追加し、DHCP/DNSの役割をファイアウォールアプライアンスから専用DNSアーキテクチャを採用したサーバーに移行することが決定されました。このアーキテクチャにより、ファイアウォールがDNS解決を処理していることで発生している単一障害点が解消され、セキュリティと拡張性が向上します。また、提案されたソリューションでは、VM上でホストされている内部アプリケーションの解決にプライベートDNSレコードを使用することも可能になります。
計画段階が完了し、アーキテクチャが構築されたら、組織はテスト段階へと移行します。テストでは、DNSサーバーの内部IPアドレスがDHCP経由で配布できること、およびエンドポイントが外部IPアドレスを解決できることを検証する必要があります。また、内部サブドメインの完全修飾ドメイン名(FQDN)が内部IPアドレスによって2つのアプリケーションサーバーに割り当てられ、正しく解決されることも確認します。テスト段階は、アプリケーションサーバーの優先順位に応じて、アーキテクチャの冗長性を評価し、適切な追加を行う絶好の機会でもあります。
監視および保守計画フェーズには、ドメインサーバー上でチェックとアラートを設定したリモート監視・管理(RMM)ソフトウェアの使用、コアDNSサービスの監視、およびサーバーへのネットワーク接続の監視が含まれます。アプリケーションサーバーの名前解決に問題が発生した場合、ユーザーは適切な対応チャネルについてトレーニングを受ける必要があります。
インフラストラクチャの実装に関するあらゆる決定において、セキュリティとプライバシーは常に考慮されるべきです。このアーキテクチャにおける最重要課題は、内部ネットワークのセキュリティ強化です。プライベートDNSサーバーは外部からアクセスできないため、内部ネットワークは最も攻撃を受けやすい経路となります。内部ネットワークへの外部からのアクセスを防止する対策が最優先事項となります。外部に公開されているリソースは存在しないため、ファイアウォールのアクセスリストはそれに応じて作成する必要があります。さらに、ネットワークはDNS over TLSに伴う追加のオーバーヘッドに耐えられるため、セキュリティ強化のためにこれを実装すべきです。
IPv6環境におけるプライベートDNS
これまでの議論では、プライベートDNSの設計において標準的なIPv4アドレス体系が適用されることを前提としてきました。上記で説明した概念やベストプラクティスのほとんどは、IPv6ネットワークでプライベートDNSを実装する場合にも適用されますが、考慮すべき点がいくつかあります。
- AAAAレコード: AAAA(クワッドA)DNSレコードは、ドメイン名をIPv6アドレスに変換するために使用されます。ドメイン名をIPv4アドレスにマッピングするために使用されるAレコードと同様に、AAAAレコードはDNSシステムの基本的な構成要素です。
- IPv6とSLAAC: ステートレスアドレス自動構成は次のように定義されます RFC 4862 また、DHCPや静的アドレス指定の代替手段として機能します。ただし、SLAACはこれらのアドレスに対して逆引きDNSレコードを保持する必要があります。 RFC 4472 この問題を解決するための解決策として、SLAAC で IPv6 クライアントの全範囲に対してワイルドカード レコードを設定することで、逆引き DNS クエリを受信した際に DNS リゾルバによって PTR レコードが動的に生成されるという結果が考えられます。
結論
プライベートDNSは、セキュリティ、プライバシー、パフォーマンスの向上など、組織やネットワークに多くのメリットをもたらします。専用のDNSサーバーやその他のプライベートDNSアーキテクチャを使用することで、組織はDNS解決プロセスをより詳細に制御できるようになり、ネットワークの信頼性とセキュリティの向上に役立ちます。
プライベートDNSの導入には、システムが正しく動作し、望ましいレベルのパフォーマンスとセキュリティを提供できるよう、綿密な計画、テスト、継続的なメンテナンスが必要です。ベストプラクティスに従い、ネットワーク固有のニーズを考慮することで、組織はプライベートDNSを効果的に導入し、そのメリットを享受することができます。
DNSのパフォーマンスについて推測するのはやめましょう。きちんと把握しましょう。
LogicMonitorは、グローバルな複数の監視ポイントからDNSインフラストラクチャを継続的に監視し、最適化に必要な解決時間データと可用性に関する洞察を提供します。
よくあるご質問
パブリックDNSとプライベートDNSの違いは何ですか?
パブリックDNSは、インターネット上の誰でもアクセスできるドメイン名を解決します。一方、プライベートDNSは、組織の内部ネットワーク内でのみ解決可能な内部リソース用に別の名前空間を作成します。例えば、internal.company.localのようなホスト名は、パブリックインターネットからは見えず、解決もできないため、セキュリティと制御の両方が向上します。
スプリットホライズンDNSとは何ですか?また、どのような場合に使用すべきですか?
スプリットホライズンDNS(スプリットブレインDNSとも呼ばれる)は、同じホスト名に対して、クエリが内部ネットワークから送信されたものか外部ネットワークから送信されたものかに応じて、異なるDNSレコードを返します。これは、内部ユーザーが内部サーバーなどの異なるIPアドレスにアクセスする必要がある場合と、外部ユーザーが公開ロードバランサーやCDNにアクセスする必要がある場合など、同じドメインであっても異なるIPアドレスにアクセスする必要がある場合に役立ちます。
DNS over TLS(DoT)とは何ですか?また、どのように動作するのですか?
DNS over TLSは、TLSプロトコルを使用してDNSトラフィックを暗号化することで、第三者によるDNSクエリと応答の傍受や改ざんを防ぎます。プライベートDNS環境では、DoTは内部DNSトラフィックも転送中に暗号化することを保証します。これは、ゼロトラストネットワークアーキテクチャや、内部トラフィックが複数の関係者から見える可能性がある共有ネットワーク環境において特に重要です。
プライベートDNSの主なアーキテクチャにはどのようなものがありますか?
一般的なプライベートDNSアーキテクチャには、専用プライベートDNSサーバー、スプリットホライズン構成、DNSフォワーディング(内部リゾルバが外部クエリを上流に転送する)、ソフトウェア定義ネットワーク(SDN)DNS、およびAWS Route 53 ResolverやAzure Private DNSなど、仮想プライベートクラウド環境と直接統合できるクラウドネイティブオプションが含まれます。




