※ 2022 年 3 月 7 日現在の情報をもとに作成しています
1. はじめに
本記事では、ISR ルーターをネットワークデバイスとして Umbrella Dashboard に登録し、Umbrella の DNS サーバーと連携させる仕組みについて解説します。
なお、ISR ルーターのサポート バージョンや連携機能の実際の設定手順などについては、以下の公開文書を参照してください。
Integration for ISR 4K and ISR 1100 – Security Configuration Guide
https://docs.umbrella.com/hardware-integrations/docs
2. Umbrella の展開方法について
本題に入る前に、Umbrella の展開 (Deployments) 方法について整理します。
Umbrella を組織内に展開する上で最も重要な要素が 2 つあり、組織内で生成される DNS クエリーをどのように Umbrella の DNS サーバー (208.67.222.222/208.67.220.220) まで送るかと、その DNS クエリーに関連付いたアイデンティティをどのように Umbrella の DNS サーバーに識別させるかです。
Umbrella を組織内に展開する方法には、大きく分けて以下の 3 種類ありますので、それぞれの方法について説明します。
(1) グローバル IP アドレスを登録する方法 (ネットワーク)
この方法の場合、クライアント機器 (または組織内の DNS サーバー) が直接 DNS クエリーを Umbrella の DNS サーバーに送ります。そして、Umbrella の DNS サーバーは、「DNS クエリーの送信元 IP アドレス」と「Umbrella Dashboard に登録されたグローバル IP アドレス」を比較することでアイデンティティを識別します。
(2) ソフトウェアをインストールする方法 (ローミングコンピュータなど)
クライアント機器に Roaming Client などの専用のソフトウェアをインストールしている場合、そのソフトウェアが機器で生成された DNS クエリーにアイデンティティを識別するための情報を埋め込み、Umbrella の DNS サーバーへ転送します。そして、Umbrella の DNS サーバーはその情報をもとにアイデンティティを識別します。
(3) 中継機器を使う方法 (ネットワークデバイスまたは Virtual Appliance)
中継機器である ISR ルーターなどのネットワークデバイスや Virtual Appliance が、クライアント機器から送られてきた DNS クエリーにアイデンティティを識別する情報を埋め込み、Umbrella の DNS サーバーに転送します。そして、Umbrella の DNS サーバーはその情報をもとにアイデンティティを識別します。
次項では、この中の ISR ルーターを使った連携に焦点を当て、さらに掘り下げて説明します。
3. ISR ルーターとの連携機能の仕組みついて
以下は ISR ルーターと Umbrella を連携させた際の DNS クエリーの流れを示している図となりますが、ISR ルーターは各部門のクライアント機器から送られてきた DNS クエリーに付加情報を埋め込み、クエリーを暗号化し、Umbrella の DNS サーバーへ転送します。

この仕組みの大きな特徴として、「各クライアント機器の DNS サーバーの設定」を変更する必要がないことが挙げられます。通常クライアント機器には組織の内部 DNS サーバーが設定されていますが、中継機器である ISR ルーターは、送られてきたパケットの中から転送対象の DNS クエリーを選び出し、その送信先 IP アドレスを Umbrella の DNS サーバーに書き換えて転送します。これは、同じ中継機器を使う方法でも、DNS サーバーの設定を明示的に変更する必要のある Virtual Appliance とは異なる点です。
さて、ISR ルーターはどの DNS クエリーを転送対象としているのでしょうか。答えは、DNS クエリーを受信した ISR ルーターのインターフェース (または VLAN) が Umbrella Dashboard に登録されているかどうかで判断します。
インターフェースの登録は連携機能を導入する際に行いますが、具体的には転送対象に含めたいインターフェースに対し、「umbrella in <インターフェースを識別する任意のタグ名>」というコマンドを実行します。
このコマンドを実行すると、クラウド上の Umbrella API (api.opendns.com) に対して、登録のための TLS/SSL 通信を行われ、通信が問題なく行われると、Umbrella Dashboard の「導入 (Deployments)」>「ネットワークデバイス (Network Devices)」にデバイス名「ルーター名-タグ名」として登録が行われます。
以下の画像は、ルーター名「ISR」、タグ名「SectionA」「SectionB」がデバイス名「ISR-SectionA」「ISR-SectionB」として登録された際のものです。このデバイス名は後から変更できます。

なお、ネットワーク的に問題がないはずなのに Umbrella Dashboard への登録がうまく行えない場合は、以下のサポート文書にトラブルシューティングの方法が書いてありますので、適宜ご参照ください。
Cisco Umbrella - ISR4k integration troubleshooting guide
https://support.umbrella.com/hc/en-us/articles/115005154526-Cisco-Umbrella-ISR4k-integration-troubleshooting-guide-
次に、ISR ルーターが行う転送処理について説明します。ISR ルーターは、転送対象の DNS クエリー内の EDNS と呼ばれる自由に情報を埋め込むことができる拡張領域に「デバイス名を一意に識別する ID」 を付加し、暗号化してから Umbrella の DNS サーバーに転送します。それを受け取った Umbrella の DNS サーバーは、受け取った DNS クエリーの復号、アイデンティティの識別、関連付いた DNS ポリシーの特定、ポリシーに基づいた許可やブロックの判定を連続的に行います。
最後に、DNS クエリーのレポート表示についてですが、全ての DNS クエリーが行単位で記録されるアクティビティ検索 (Activity Search) レポートには、対象となるデバイス名が表示されるのはもちろんのこと、IOS XE のバージョンが 16.6.3、16.7.2、16.8.1 以降であれば、DNS クエリーを生成したクライアント機器の IP アドレスも表示されます。

この内部 IP アドレスの表示は、ISR ルーターが EDNS 拡張領域に送信元 IP アドレスを追記することで実現しています。内部の IP アドレスが外部に漏れることは好ましくないため、DNS クエリーはデフォルトで暗号化されています。