第5章 暗号化された DNS (eDNS) を使用したシステムの DNS トラフィックの保護
暗号化された DNS (eDNS) を有効にすると、DNS-over-TLS (DoT) プロトコルを使用する DNS 通信を保護できます。暗号化された DNS は、セキュアでないプロトコルにフォールバックすることなく、すべての DNS トラフィックをエンドツーエンドで暗号化し、ゼロトラストアーキテクチャー (ZTA) の原則に準拠します。
RHEL における eDNS の現在の実装では、DoT プロトコルのみが使用されます。eDNS を有効にして RHEL をインストールするには、主に 2 つの方法があります。ローカルメディアから対話型インストールを実行することも、カスタムの起動可能な ISO をビルドして、インストール中およびインストール後に enforce ポリシーで eDNS を確実に設定することも可能です。または、既存の RHEL インストール環境を eDNS を使用するように変換することもできます。
5.1. RHEL の eDNS コンポーネントの概要 リンクのコピーリンクがクリップボードにコピーされました!
暗号化された DNS (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 応答をアプリケーションに返します。