この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、OpenDNS(Umbrella)モジュールのインストール、設定、およびトラブルシューティングの手順について説明します。AnyConnect 4.3.X 以降、OpenDNS Roaming クライアントを統合モジュールとして使用できるようになりました。これはクラウド セキュリティ モジュールとしても知られ、AnyConnect インストーラを使用してエンドポイントに事前展開したり、Web 展開を使用して ASA(Adaptive Security Appliance)からダウンロードしたりすることができます。
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。稼働中のネットワークで作業を行う場合、コマンドまたは設定の影響について十分に理解したうえで作業してください。
OpenDNS Roaming モジュールを適切に機能させるには、モジュールを使用する前に OrgInfo.json ファイルを OpenDNS ダッシュボードからダウンロードするか、ASA からプッシュする必要があります。ファイルが最初にダウンロードされるときに、オペレーティング システムに応じて特定のパスに保存されます。
Mac OS X の場合、OrgInfo.json は /opt/cisco/anyconnect/Umbrella にダウンロードされます。
Microsoft Windows の場合、OrgInfo.json は C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Umbrella にダウンロードされます。
{
"organizationId" : "XXXXXXX",
"fingerprint" : "XXXXXXXXXXXXXXXXXXXXXXXXXX",
"userId" : "XXXXXXX"
}
示されているように、ファイルは UTF-8 エンコーディングを使用し、organizationId、fingerprint、および userId が含まれています。組織 ID は、OpenDNS ダッシュボードに現在ログインしているユーザの組織の情報を表します。組織 ID は静的および一意であり、組織ごとに OpenDNS によって自動生成されます。指紋は、デバイスの登録中に OrgInfo.json ファイルを検証するために使用され、ユーザ ID はログインしたユーザの一意の ID を表します。
Windows では、Roaming モジュールが起動されると、OrgInfo.json ファイルが Umbrella ディレクトリの下の data ディレクトリにコピーされ、作業コピーとして使用されます。Mac OS X では、このファイルからの情報は Umbrella ディレクトリの下の data ディレクトリ内の updater.plist に保存されます。モジュールが OrgInfo.json ファイルから情報を正常に読み取ると、クラウド API を使用して OpenDNS への登録を試行します。この登録により、OpenDNS は登録を試行したマシンに一意のデバイス ID を割り当てます。前の登録のデバイス ID が使用可能な場合、デバイスは登録をスキップします。
登録が完了すると、Roaming モジュールはエンドポイントのポリシー情報を取得するために同期操作を実行します。同期操作を実行するにはデバイス ID が必要です。同期データには、syncInterval、内部バイパスドメイン、およびIPアドレスなどが含まれます。同期間隔は、モジュールが再同期を試行した後に経過する分の数です。
登録と同期が正常に実行されると、Roaming モジュールはドメイン ネーム システム(DNS)プローブをそのローカル リゾルバに送信します。このような DNS 要求には、debug.opendns.com の TXT クエリが含まれます。応答に基づいて、クライアントは、オンプレミスの OpenDNS 仮想アプライアンス(VA)がネットワークに存在するかどうかを判断できます。
仮想アプライアンス(VA)が存在する場合、クライアントは「behind-VA」モードに遷移し、DNS の適用はエンドポイントで実行されません。クライアントがネットワーク レベルで DNS の適用を実行するかどうかは、VA に依存します。
VA が存在しない場合、クライアントは UDP/443 を使用して、OpenDNS パブリック リゾルバ(208.67.222.222)に DNS 要求を送信します。
肯定応答は、DNS の暗号化が可能であることを示します。否定応答を受信する場合、クライアントは UDP/53 を使用して、OpenDNS パブリック リゾルバに DNS 要求を送信します。
このクエリに対する肯定応答は、DNS の保護が可能であることを示します。否定応答を受信する場合、クライアントは数秒以内にクエリを再試行します。
一定数の否定応答を受信すると、クライアントはフェイルオープン状態に遷移します。フェイルオープン状態は、DNS の暗号化や保護が不可能であることを意味します。Roamingモジュールが保護および/または暗号化された状態に正常に移行すると、ローカル検索ドメインおよび内部バイパスドメイン以外の検索ドメインのすべてのDNSクエリが、名前解決のためにOpenDNSリゾルバに送信されます。暗号化された状態が有効になっているすべての DNS トランザクションは、dnscrypt プロセスによって暗号化されます。
注:示されているように、Roaming モジュールのデフォルト動作では、tunnel-all 設定の VPN トンネルがアクティブのときに DNS 保護が無効にされます。AnyConnect tunnel-all の設定時にモジュールをアクティブにするには、OpenDNS ポータルで [full-tunnel VPNセッションがアクティブのときにRoamingクライアントを無効にする(Disable roaming client while full-tunnel VPN sessions are active)] オプションをオフにする必要があります。この機能を有効にするには、OpenDNS で拡張サブスクリプション レベルが設定されていることが必要です。以下の情報は、Roaming モジュールを介した DNS 保護が有効であることを想定しています。
内部バイパスリストのクエリ済みドメイン部分
トンネル アダプタから発信される DNS 要求が許可され、VPN トンネルを介してトンネルの DNS サーバに送信されます。トンネルの DNS サーバがクエリを解決できない場合、未解決のままになります。
内部バイパスリストに含まれないクエリ済みドメイン
トンネル アダプタから発信される DNS 要求が許可され、Roaming モジュールを介して OpenDNS パブリック リゾルバにプロキシされ、VPN トンネル経由で送信されます。DNS クライアントには、名前解決が VPN DNS サーバ経由で実行されたかのように見えます。OpenDNS リゾルバを介した名前解決が失敗する場合、Roaming モジュールは VPN アダプタ(トンネル確立中の優先アダプタ)をはじめとして、ローカルに設定された DNS サーバにフェールオーバーします。
注:すべてのスプリットDNSドメインは、トンネルが確立されると、Roamingモジュールの内部バイパスリストに自動的に追加されます。これは、AnyConnect と Roaming モジュールの間で一貫性のある DNS 処理方法を提供するために実行されます。split-DNS 設定(split-include トンネリングを使用)で、OpenDNS パブリック リゾルバが split-include ネットワークに含まれないようにします。
注:Mac OS X では、split-DNS が両方の IP プロトコル(IPv4 および IPv6)に対して有効になっている場合、または split-DNS が一方のプロトコルに対してのみ有効になっており、他方のプロトコル用に設定されたアドレス プールがない場合、Windows と同様の true split-DNS が適用されます。
split-DNS が 1 つだけのプロトコルに対して有効になっており、クライアント アドレスが他のプロトコルに割り当てられている場合、split-tunneling 用の DNS フォールバックのみ適用されます。つまり、AnyConnect はトンネル経由の split-DNS ドメインに適合する DNS 要求のみ許可します(他の要求に対しては AC によって拒否応答が出され、パブリック DNS サーバに強制的にフェールオーバーします)が、split-DNS ドメインに適合するその要求を、暗号化しない状態でパブリック アダプタ経由で送信されないように強制することはできません。
内部バイパスリストのクエリ済みドメインの一部およびスプリットDNSドメインの一部
トンネル アダプタから発信される DNS 要求が許可され、VPN トンネルを介してトンネルの DNS サーバに送信されます。他のアダプタからの、一致するドメインへのその他すべての要求に対しては、AnyConnect ドライバによって「no such name(名前が見つかりません)」という応答が出され、true split-DNS が実行されます(DNS フォールバックを防ぐ)。 したがって、非トンネル DNS トラフィックのみが Roaming モジュールによって保護されます。
内部バイパスリストのクエリ済みドメインの一部であるが、スプリットDNSドメインの一部ではない
物理アダプタから発信される DNS 要求が許可され、VPN トンネルの外部のパブリック DNS サーバに送信されます。トンネル アダプタからの、一致するドメインへのその他すべての要求に対しては、AnyConnect ドライバによって「no such name(名前が見つかりません)」という応答が出され、クエリが VPN トンネル経由で送信されないようにします。
内部バイパスリストまたはスプリットDNSドメインに含まれないクエリ済みドメイン
物理アダプタから発信される DNS 要求が許可され、OpenDNS パブリック リゾルバにプロキシされ、VPN トンネルの外部に送信されます。DNS クライアントには、名前解決がパブリック DNS サーバ経由で実行されたかのように見えます。OpenDNS リゾルバを経由した名前解決に失敗した場合、Roaming モジュールは、VPN アダプタで構成されているものを除き、ローカルで構成された DNS サーバにフェールオーバーします。トンネル アダプタからの、一致するドメインへのその他すべての要求に対しては、AnyConnect ドライバによって「no such name(名前が見つかりません)」という応答が出され、クエリが VPN トンネル経由で送信されないようにします。
内部バイパスリストのクエリ済みドメイン部分
ネイティブ OS リゾルバは、ネットワーク アダプタの順序に基づいて DNS 解決を実行し、VPN がアクティブのときは AnyConnect が優先アダプタになります。DNS 要求は最初にトンネル アダプタから発信され、VPN トンネル経由でトンネル DNS サーバに送信されます。クエリをトンネル DNS サーバで解決できない場合、OS リゾルバはパブリック DNS サーバ経由でそれを解決しようとします。
内部バイパスリストに含まれないクエリ済みドメイン
ネイティブ OS リゾルバは、ネットワーク アダプタの順序に基づいて DNS 解決を実行し、VPN がアクティブのときは AnyConnect が優先アダプタになります。DNS 要求は最初にトンネル アダプタから発信され、VPN トンネル経由でトンネル DNS サーバに送信されます。クエリをトンネル DNS サーバで解決できない場合、OS リゾルバはパブリック DNS サーバ経由でそれを解決しようとします。
OpenDNS パブリック リゾルバが split-include リストに含まれる場合、または split-exclude リストに含まれない場合、プロキシされた要求は VPN トンネル経由で送信されます。
OpenDNS パブリック リゾルバが split-include リストに含まれない場合、または split-exclude リストに含まれる場合、プロキシされた要求は VPN トンネルの外部で送信されます。
OpenDNS リゾルバを介した名前解決が失敗する場合、Roaming モジュールは VPN アダプタ(トンネル確立中の優先アダプタ)をはじめとして、ローカルに設定された DNS サーバにフェールオーバーします。 Roaming モジュールによって返された(さらにネイティブの DNS クライアントにプロキシされた)最終的な応答が失敗した場合、ネイティブ クライアントは可能であれば他の DNS サーバを試みます。
OpenDNS Roaming モジュールを AnyConnect VPN クライアントと統合するには、モジュールを事前展開方式または Web 展開方式のいずれかでインストールする必要があります。
事前展開では、OpenDNS Roaming モジュールを手動でインストールし、ユーザのマシンに OrgInfo.json ファイルをコピーする必要があります。大規模な展開は通常、エンタープライズ ソフトウェア管理システム(SMS)を使用して実行されます。
AnyConnect パッケージのインストール中に、[AnyConnect VPN] モジュールと [Anyconnect Umbrella Roamingセキュリティ(AnyConnect Umbrella Roaming Security)] モジュールを選択します。
OrgInfo.json ファイルをダウンロードするには、次の手順を実行します。
ファイルをダウンロードしたら、オペレーティング システムに応じて次のうちいずれかのパスに保存する必要があります。
Mac OS X の場合:/opt/cisco/anyconnect/Umbrella
Windows の場合: C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Umbrella
シスコの Web サイトから Anyconnect セキュリティ モビリティ クライアントのパッケージ(つまり anyconnect-win-4.3.02039-k9.pkg)をダウンロードして、ASA のフラッシュにアップロードします。アップロードしたら、ASDM で、[グループ(Group)] > [ポリシー(Policy)] > [詳細設定(Advanced)] > [AnyConnectクライアント(AnyConnect Client)] > [ダウンロードするオプションクライアントモジュール(Optional Client Modules to Download)] の順に選択してから、[Umbrella Roamingセキュリティ(Umbrella Roaming Security)] を選択します。
CLI に相当
group-policy <Group_Policy_Name> attributes
webvpn
anyconnect modules value umbrella
1. OrgInfo.jsonファイルをOpenDNSダッシュボードからダウンロードし、ASAのフラッシュにアップロードします。
2. OrgInfo.jsonファイルをリモートエンドポイントにプッシュするようにASAを設定します。
webvpn
anyconnect profiles OpenDNS disk0:/OrgInfo.json
!
!
group-policy <Group_Policy_Name> attribute
webvpn
anyconnect profiles value OpenDNS type umbrella
注:この構成は、CLI 経由でのみ実行できます。このタスクに ASDM を使用するには、ASDM バージョン 7.6.2 以降が ASA にインストールされている必要があります。
説明したいずれかの方法によって Umbrella Roaming クライアントがインストールされると、次の図に示すように、AnyConnect GUI で統合モジュールとして表示されます。
Orginfo.json が正しい場所のエンドポイントに展開されるまで、Umbrella Roaming モジュールは初期化されません。
このセクションでは、OpenDNS Roaming モジュールを各種の AnyConnect トンネル モードで機能させるために必要なサンプルの CLI 設定スニペットを示します。
!--- ip local pool for vpn
ip local pool vpn_pool 198.51.100.1-198.51.100.9 mask 255.255.255.224
!--- Optional NAT Hairpin configuration to reach OpenDNS servers through VPN tunnel
object network OpenDNS
subnet 198.51.100.0 255.255.255.0
nat (outside,outside) source dynamic OpenDNS interface
!
same-security-traffic permit intra-interface
!--- Global Webvpn Configuration
webvpn
enable outside
anyconnect image disk0:/anyconnect-win-4.3.01095-k9.pkg 1
anyconnect profiles Anyconnect disk0:/anyconnect.xml
anyconnect profiles OpenDNS disk0:/OrgInfo.json
anyconnect enable
tunnel-group-list enable
!--- split-include Configuration
access-list Split_Include standard permit <host/subnet>
group-policy OpenDNS_Split_Include internal
group-policy OpenDNS_Split_Include attributes
wins-server none
dns-server value 198.51.100.11
vpn-tunnel-protocol ssl-client ssl-clientless
split-tunnel-policy tunnelspecified
split-tunnel-network-list value Split_Include
split-dns value(Optional Split-DNS Configuration)
webvpn
anyconnect profiles value AnyConnect type user
anyconnect profiles value OpenDNS type umbrella
!
tunnel-group OpenDNS_Split_Include type remote-access
tunnel-group OpenDNS_Split_Include general-attributes
address-pool vpn_pool
default-group-policy OpenDNS_Split_Include
tunnel-group OpenDNS_Split_Include webvpn-attributes
group-alias OpenDNS_Split_Include enable
!--- Split-exclude Configuration
access-list Split_Exclude standard permit <host/subnet>
group-policy OpenDNS_Split_Exclude internal
group-policy OpenDNS_Split_Exclude attributes
wins-server none
dns-server value 198.51.100.11
vpn-tunnel-protocol ssl-client ssl-clientless
split-tunnel-policy excludespecified
split-tunnel-network-list value Split_Exclude
webvpn
anyconnect profiles value AnyConnect type user
anyconnect profiles value OpenDNS type umbrella
!
tunnel-group OpenDNS_Split_Exclude type remote-access
tunnel-group OpenDNS_Split_Exclude general-attributes
address-pool vpn_pool
default-group-policy OpenDNS_Split_Exclude
tunnel-group OpenDNS_Split_Exclude webvpn-attributes
group-alias OpenDNS_Split_Exclude enable
!--- Tunnelall Configuration
group-policy OpenDNS_Tunnel_All internal
group-policy OpenDNS_Tunnel_All attributes
wins-server none
dns-server value 198.51.100.11
vpn-tunnel-protocol ssl-client ssl-clientless
split-tunnel-policy tunnelall
webvpn
anyconnect profiles value AnyConnect type user
anyconnect profiles value OpenDNS type umbrella
!
tunnel-group OpenDNS_Tunnel_All type remote-access
tunnel-group OpenDNS_Tunnel_All general-attributes
address-pool vpn_pool
default-group-policy OpenDNS_Tunnel_All
tunnel-group OpenDNS_Tunnel_All webvpn-attributes
group-alias OpenDNS_Tunnel_All enable
現在、この設定に使用できる確認手順はありません。
AnyConnect OpenDNS 関連問題をトラブルシューティングする手順は次のとおりです。
Windows の場合:C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\UmbrellaDiagnostic.exe
Mac OSXの場合:/opt/cisco/anyconnect/bin/UmbrellaDiagnostic