第5章 暗号化された DNS を使用したシステムの DNS トラフィックの保護
暗号化された DNS を有効にすると、DNS-over-TLS (DoT) プロトコルを使用する DNS 通信を保護できます。暗号化された DNS (eDNS) は、セキュアでないプロトコルにフォールバックすることなく、すべての DNS トラフィックをエンドツーエンドで暗号化し、ゼロトラストアーキテクチャー (ZTA) の原則に準拠します。
RHEL における eDNS の現在の実装では、DoT プロトコルのみが使用されます。eDNS を有効にして RHEL をインストールするには、主に 2 つの方法があります。ローカルメディアから対話型インストールを実行することも、カスタムの起動可能な ISO をビルドして、インストール中およびインストール後に enforce
ポリシーで eDNS を確実に設定することも可能です。または、既存の RHEL インストール環境を eDNS を使用するように変換することもできます。
暗号化された DNS はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
5.1. RHEL の eDNS コンポーネントの概要 リンクのコピーリンクがクリップボードにコピーされました!
RHEL の eDNS 設定は次のコンポーネントで構成されています。各コンポーネントは階層的に相互作用します。
- NetworkManager
-
NetworkManager は、設定されたポリシーに基づいて、eDNS を有効にし、暗号化された DNS プロトコルの使用を強制します。バックエンドの DNS リゾルバーとして
dnsconfd
を使用するように設定されています。 dnsconfd
-
dnsconfd
はローカル DNS キャッシュ設定デーモンです。DNS キャッシング、スプリット DNS、DNS over TLS (DoT) のセットアップを簡素化します。 unbound
-
unbound
は、検証、再帰、およびキャッシング DNS リゾルバーです。eDNS セットアップでは、dnsconfd
のランタイムキャッシュサービスとして機能します。unbound
はアップストリームへの DNS クエリーに TLS を使用します。これは、外部の DoT サーバーへの DNS トラフィックを暗号化するために不可欠です。また、unbound
は DNS 応答を保存するためのさまざまなキャッシュを管理します。そのため、外部クエリーの繰り返しの必要性が減り、パフォーマンスが向上します。
5.1.1. eDNS の解決プロセスと中核となる相互作用 リンクのコピーリンクがクリップボードにコピーされました!
- アプリケーションがホスト名の解決を要求します。
-
システムが
/etc/resolv.conf
ファイルを読み取り、クエリーをローカルのunbound
サービスに送信します。 -
unbound
が、まず内部キャッシュをチェックして、キャッシュされた有効な応答があるかどうかを確認します。 -
要求のレコードが見つからない場合、
unbound
は TLS を使用して DNS クエリーを暗号化し、設定されたアップストリームの DoT 対応 DNS サーバーに送信します。 -
アップストリームの DoT サーバーはクエリーを処理し、暗号化された DNS 応答を
unbound
に返します。 -
unbound
は応答を復号、検証、キャッシュします。 -
最後に、
unbound
は解決された DNS 応答をアプリケーションに返します。