キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
告知

JTAC-Mid-Career-Recruitment-2021.8

 

Umbrella: ISR ルーターの DNS 暗号化について

796
閲覧回数
0
いいね!
2
コメント

 

※ 2018 年 9 21 日現在の情報をもとに作成しています

 

1. はじめに

 

ISR ルーターで Umbrella の連携機能を有効にすると、ISR ルーターを通過する DNS クエリーに対して以下の処理が行われ、Umbrella のセキュリティ機能を使用できます。

 

  • EDNS0 領域に情報を付与 (Identity の選択などに使われる)
  • DNS クエリーを DNSCrypt で暗号化
  • Umbrella の DNS サーバー (208.67.222.222/208.67.220.220) へ転送

 

本記事では、このうちの暗号化 (DNSCrypt) の説明と注意点について説明します。

 

2. DNSCrypt について

 

DNSCrypt は DNSクライアントと DNS キャッシュ サーバー間で認証や暗号化を行うプロトコルです。DNSCrypt を使用するには、DNSクライアントと DNS キャッシュ サーバーの双方で DNSCrypt に対応している必要があります。

 

Umbrella においては、「DNSCrypt に対応したソフトウェア」と「DNSCrypt に対応した Umbrella DNS サーバー」を組み合わせることで、これを実現しています。以下は主な組み合わせの例です。

 

  • Roaming Client <-> Umbrella の DNS サーバー
  • AnyConnect Umbrella Roaming Security Module <-> Umbrella の DNS サーバー
  • Virtual Appliance <-> Umbrella の DNS サーバー
  • ISR ルーター <-> Umbrella DNS サーバー

 

なお、認証や暗号化につきものである鍵管理は自動的に行われるため、Umbrella の管理者や Umbrella の使用者が運用中に意識する必要はありません。

 

外部サイトとなりますが、DNSCrypt の詳細については、以下のサイトに詳しく記載されています。

 

Home page of the DNSCrypt project [DNS security]

https://dnscrypt.info/

 

3. DNS 暗号化の問題点

 

ISR ルーター上で Umbrella との連携機能を設定すると DNSCrypt がデフォルトで有効になり、ISR ルーターから Umbrella DNS サーバーに送られる DNS クエリーはすべて暗号化されます。そして、その通信に使われるポート番号は、通常の DNS クエリーと同様に UDP 53 が使われます。

 

pic1.png

 

もし、ISR ルーターと Umbrella DNS サーバーの間にファイアウォールがあり、そのファイアウォールで DNS パケットの検査機能を有効にしていると、DNSCrypt で暗号化された DNS クエリーが破棄される可能性があります。

 

pic2.png 

 

この理由としては、一般的に DNS パケットの検査機能は UDP 53 の通信が DNS プロトコルのルールに準拠しているかなどを確認し、違反しているパケットを破棄するためです。

 

DNSCrypt で暗号化された DNS パケットは、ファイアウォールから見ると、DNS プロトコルのルールに全く準拠していないでたらめなパケットに見えることから、こういった環境では DNS 通信そのものができなくなってしまいます。

 

この事象の回避策としては、Umbrella DNS サーバー (208.67.222.222/208.67.220.220) への DNS 通信をファイアウォールの DNS パケットの検査から除外するよう設定することです。

 

以下の記事には、ファイアウォールが Cisco ASA の場合における回避策の設定方法が記載されています。

 

Cisco ASA Firewall blocks DNSCrypt

https://support.umbrella.com/hc/en-us/articles/230562207-Cisco-ASA-Firewall-blocks-DNSCrypt

 

これとは別に、ISR ルーター上で no dnscrypt コマンドを実行し、DNSCrypt 暗号化自体を無効化することでも、この事象を回避できますが、情報が付与された DNS クエリーが平文でインターネット上を流れてしまうため、推奨はされません。

 

4. (参考) Virtual Appliance の場合

 

Virtual Appliance はユーザーから送られてきた DNS クエリーに対して、情報の付与、暗号化、Umbrella DNS サーバーへの転送を行いますので、ISR ルーター連携と似た動作といえます。

 

ただし、DNS 暗号化パケットが破棄された際の動作が異なっており、Virtual Appliance では、暗号化パケットが別のポートへ送り直されます。この動作の詳細については以前の記事を参照してください。

コメント
siyali
Cisco Employee

Umbrella DNSサーバーはどうやってISRルーターが暗号化されたのデータを復号しますか。DNSサーバー上の動作をご説明お願いできますでしょうか。

tkitahar
Cisco Employee

DNSCrypt の暗号化/復号の仕組みについては以下の文書をご参照ください。

 

https://dnscrypt.info/protocol

 

Umbrella の DNS サーバーはこの内容に準拠した形で実装されています。