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