このドキュメントでは、Cisco AnyConnect Network Visibility Module(NVM)を、エンドユーザ システム上で AnyConnect 4.2.x 以降を使用してインストールおよび設定する方法を説明します。
Cisco AnyConnect NVM は、セキュリティ分析を展開するための手段として使用されます。 NVM により組織は、そのネットワーク上にあるエンドポイントやユーザの行動を表示し、オンプレミスとオフプレミスの両方にあるエンドポイントからのフローを、ユーザ、アプリケーション、デバイス、ロケーション、および接続先などの追加のコンテキストとともに収集できるようになります。
この TechNote で取り上げているのは、Splunk を使用した AnyConnect NVM の設定例です。
次の項目に関する知識が推奨されます。
AnyConnect APEX ライセンス
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。
本書の情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。 稼働中のネットワークで作業を行う場合、コマンドの影響について十分に理解したうえで作業してください。
Cisco AnyConnect は、企業を保護する各種のセキュリティ サービスを提供する統合エージェントです。 AnyConnect は、最も一般的には企業 VPN クライアントとして使用されていますが、企業セキュリティのさまざまな面に対応する追加モジュールもサポートしています。 この追加モジュールにより、ポスチャ アセスメント、Web セキュリティ、マルウェア保護、ネットワーク可視性などのセキュリティ機能が有効になります。
この TechNote は、Network Visibility Module(NVM)に関するものです。この機能は Cisco AnyConnect と統合されており、管理者はこれを使用してエンドポイント アプリケーションの使用状況をモニタできます。
Cisco AnyConnect の詳細については、次を参照してください。
『Cisco AnyConnect Secure Mobility Client Administrator Guide, Release 4.3』
IPFIX は、アカウンティング/監査/セキュリティなどの多様な目的のために IP フロー情報をエクスポートする際の標準を定義する、IETF プロトコルです。 IPFIX は Cisco NetFlow プロトコル v9 を基本にしています。ただし直接的な互換性はありません。
Cisco vzFlow は、IPFIX プロトコルに基づいて拡張されたプロトコル仕様です。 IPFIX には、AC NVM の一部として収集できるすべてのパラメータをサポートする、十分な標準情報要素はありません。 Cisco vzFlow プロトコルは IPFIX 標準を拡張し、新しい情報要素を定義します。さらに、IPFIX データのエクスポートのために AC NVM により使用される標準セットの IPFIX テンプレートを定義します。
IPFIX の詳細については、rfc5101、rfc7011、rfc7012、rfc7013、rfc7014、rfc7015 を参照してください。
コレクタは、IPFIX データを受信して保存するサーバです。 これはそのデータを Splunk にフィードします。 たとえば、Lancope
シスコは、自社製の IPFIX コレクタも提供しています。
Splunk は、診断データを収集して分析し、IT インフラストラクチャに関する意味深い情報を提供する強力なツールです。 これは管理者がネットワークのヘルスを把握するために重要なデータを収集する、ワンストップのロケーションです。
シスコは Splunk を所有または保守しているわけではありませんが、シスコは Cisco AnyConnect NVM App for Splunk を提供しています。
Splunk の詳細については、その Web サイトを参照してください。
この TechNote の IP アドレスの表記法:
コレクタ IP アドレス: 192.0.2.123
Splunk IP アドレス: 192.0.2.113
このセクションでは、Cisco NVM コンポーネントの設定について説明します。
AnyConnect NVM 設定は、コレクタ IP アドレスやポート番号に関する情報を含む XML ファイルに、そのほかの情報とともに保存されます。 コレクタ IP アドレスとポート番号は、NVM クライアント プロファイルで正しく設定される必要があります。
NVM モジュールを正しく操作するには、XML ファイルがこのディレクトリ内に置かれている必要があります。
プロファイルが Cisco ASA または Identity Services Engine(ISE)に存在している場合、AnyConnect NVM 展開とともに自動展開されます。
XML プロファイルの例:
<?xml version="1.0" encoding="UTF-8"?> -<NVMProfile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="NVMProfile.xsd"> -<CollectorConfiguration> <CollectorIP>192.0.2.123</CollectorIP> <Port>2055</Port> </CollectorConfiguration> <Anonymize>false</Anonymize> <CollectionMode>all</CollectionMode> </NVMProfile>
NVM プロファイルは、次の 2 つのツールを使用して作成できます。
この方式は、AnyConnect NVM が Cisco ASA を介して展開される場合に推奨されます。
1. [Configuration] > [Remove Access VPN] > [Network (Client) Access] > [AnyConnect Client Profile]の順に移動します。
2. [Add] をクリックします。
3. プロファイルの名前を入力します。 [Profile Usage]で、[Network Visibility Service Profile] を選択します。
4. AnyConnect ユーザが使用するグループ ポリシーにこれを割り当てます。 [OK] をクリックします。
5. 新しいポリシーが作成されました。 [編集(Edit)]をクリックします。
6. コレクタ IP アドレスとポート番号に関する情報を入力します。 [OK] をクリックします。
7. [Apply] をクリックします。
これは Cisco.com で使用できるスタンドアロン ツールです。 この方式は、AnyConnect NVM が Cisco ISE を介して展開される場合に推奨されます。 このツールを使用して作成された NVM プロファイルは、Cisco ISE にアップロードするか、またはエンドポイントに直接コピーできます。
AnyConnect プロファイル エディタの詳細については、以下を参照してください。
この TechNote は、AnyConnect が ASA 上にすでに設定済みであり、NVM モジュール設定のみ追加が必要であると想定しています。 ASA AnyConnect の設定の詳細については、以下を参照してください。
ASDM ブック 3: Cisco ASA シリーズ VPN ASDM コンフィギュレーション ガイド 7.5
Cisco ASA 上で AnyConnect NVM モジュールを有効にするには、次の手順を実行します。
1. [Configuration] > [Remote Access VPN] > [Network (Client) Access] > [Group Policies]を選択します。
2. 関連グループ ポリシーを選択し、[Edit]をクリックします。
3. グループ ポリシー ポップアップ内で、[Advanced] > [AnyConnect Client]を選択します。
4. [Optional Client Modules to Download]を展開し、[AnyConnect Network Visibility] を選択します。
5. [OK]をクリックし、変更を適用します。
AnyConnect イメージの追加
[Add] > [Agent Resources]を選択し、AnyConnect パッケージ ファイルをアップロードします。
ポップアップでパッケージのハッシュを確認します。
ファイルハッシュは、Cisco.com ダウンロード ページで照会するか、またはサードパーティ製ツールを使用して確認できます。
複数の AnyConnect イメージを追加するには、この手順を繰り返すことができます (Mac OSX および Linux OS の場合)。
AnyConnect NVM プロファイルの追加:
[Add] > [Agent Resources]を選択し、NVM クライアント プロファイルをアップロードします。
AnyConnect 設定ファイルの追加:
[Add]> [AnyConnect Configuration] の順にクリックします。
前のステップでアップロードしたパッケージを選択します。
[AnyConnect Module Selection]内の [NVM] を、必要なポリシーとともに有効にします。
上のセクションでは、AnyConnect Client モジュール、プロファイル、カスタマイズ/言語パッケージ、および Opswat パッケージを有効にしました。
Cisco ISE 上の Web 展開設定に関する詳細情報については、以下を参照してください。
NVM は、信頼ネットワーク内にある場合にのみフロー情報を送信します。 これはエンドポイントが信頼ネットワーク内にあるかどうかを調べるために、AnyConnect クライアントの TND 機能を使用します。 TND は、エンドポイントが信頼ネットワーク内にあるかどうかを判断するために、DNS/ドメイン情報を使用します。 VPN は、接続されると、信頼ネットワーク内にあると見なされ、フロー情報はコレクタに送信されます。
TND は、NVM が正しく機能するために、正しく設定される必要があります。 TND 設定の詳細については、次を参照してください。
AnyConnect NVM ソリューションの展開には、次の手順が関係しています。
1. Cisco ASA/ISE 上での AnyConnect NVM の設定
2. IPFIX コレクタ コンポーネントの設定
3. Cisco NVM アプリケーションでの Splunk のセットアップ
この手順は、「設定」のセクションで詳しく扱われています。
NVM を Cisco ISE/ASA 上で設定すると、クライアント エンドポイントに自動展開できます。
コレクタ コンポーネントはエンドポイントからすべての IPFIX データを収集して変換し、それを Splunk アプリケーションに転送します。 さまざまなサードパーティのコレクタ ツールを利用できますが、Cisco NVM は IPFIX を理解するすべてのコレクタと互換性があります。 この TechNote では、64 ビット Linux 上で稼働するシスコ製のコレクタ ツールを使用します。 CentOS および Ubuntu 設定スクリプトは、Splunk アプリケーションに含まれています。 CentOS のインストール スクリプトおよび設定ファイルは、Fedora や Redhat のディストリビューションでも使用できます。 コレクタは、スタンドアロン 64 ビット Linux システム、または 64 ビット Linux 上で稼働する Splunk Forwarder のいずれかの上で実行する必要があります。
コレクタをインストールするには、$APP_DIR$/appserver/addon/ ディレクトリにある CiscoNVMCollector_TA.tar ファイル内のアプリケーションを、インストールを予定しているシステムにコピーする必要があります。
この TechNote では、Splunk は E: ドライブの Windows ワークステーションにインストールされます。 ドライブにします。
CiscoNVMCollector_TA.tar ファイルは、以下のディレクトリ内にあります。
E:\Program Files\Splunk\etc\apps\CiscoNVM\appserver\addon\
コレクタのインストールを予定しているシステム上で tar ファイルを抽出し、スーパー ユーザ権限で install.sh スクリプトを実行します。 install.sh スクリプトを実行する前に、.tar バンドル内の $PLATFORM$_README ファイルを読むことをお勧めします。 $PLATFORM$_README ファイルには、install.sh スクリプトを実行する前に確認および(必要であれば)変更が求められる、関連する構成設定についての情報が記載されています。
Ubuntu サーバ上のコレクタのディレクトリ:
root@ubuntu-splunkcollector:~/Downloads/CiscoNVMCollector_TA$ ls acnvmcollector CENTOS_README libboost_log.so.1.57.0 acnvmcollectord install_centos.sh libboost_system.so.1.57.0 acnvm.conf install.sh libboost_thread.so.1.57.0 acnvm.conf~ install_ubuntu.sh UBUNTU_README acnvm.service libboost_filesystem.so.1.57.0 root@ubuntu-splunkcollector:~/Downloads/CiscoNVMCollector_TA$
情報は、構成ファイル(acnvm.conf)内で設定する必要があります。
1. Splunk インスタンスの IP アドレスとリスニング ポート。
2. コレクタ(着信 IPFIX データ)のリスニング ポート。
フローごとのデータ ポート、エンドポイント ID データ ポート、およびコレクタ ポートは、設定ファイル内でデフォルト設定に事前設定されています。 デフォルト以外のポートを使用する場合は、これらの値を必ず変更します。
この情報は、設定ファイル(acnvm.conf)に追加されます。
GNU nano 2.2.6 File: acnvm.conf { "syslog_server_ip" : "192.0.2.113", "syslog_flowdata_server_port" : 20519, "syslog_sysdata_server_port" : 20520, "netflow_collector_port" : 2055, "log_level" : 7 }
詳細については、次のサイトを参照してください。
https://splunkbase.splunk.com/app/2992/#/documentation
Cisco AnyConnect NVM App for Splunk は、Splunkbase 上で使用できます。 このアプリケーションは、事前定義レポートやダッシュボードで、有用なレポートによるエンドポイントからの IPFIX(nvzFlow)データを使用するために役立ちます。また、ユーザとエンドポイントの動作を相関させます。
Splunkbase 上での Cisco NVM アプリケーションのリンク:
https://splunkbase.splunk.com/app/2992/
インストール:
[Splunk] > [Apps]と選択し、Splunkbase からダウンロードしたかまたは [Apps] セクション内で検索した tar.gz ファイルをインストールします。
デフォルトでは、Splunk はフローごとのデータおよびエンドポイント ID データの 2 つのデータ入力フィードを、UDP ポート 20519 および 20520 でそれぞれ受け取ります。 コレクタ コンポーネントは、デフォルトではこれらのポートでフィードを送信します。 Splunk ではデフォルトのポートは変更できます。しかし、コレクタ設定では同じポートを指定する必要があります(手順 2 を参照)。
デフォルトのポートを変更するには、[Splunk] > [Settings] > [Data Input] > [UDP]を選択します。
インストールが成功したら、Network Visibility Module が、AnyConnect Secure Mobility クライアントの情報セクション内にある [Installed Modules] にリストされます。
また、nvm サービスがエンドポイント上で実行しており、プロファイルが要求されたディレクトリ内にあることを確認します。
コレクタのステータスが実行中であることを確認します。 これにより、コレクタがエンドポイントから常時 IPFIX/cflow を受信していることを確認できます。
root@ubuntu-splunkcollector:~$ /etc/init.d/acnvmcollectord status * acnvmcollector is running root@ubuntu-splunkcollector:~$
Splunk と関連サービスが実行していることを確認します。 Splunk のトラブルシューティングに関する資料については、Splunk の Web サイトを参照してください。
1. IPFIX パケットは、AnyConnect NVM モジュールによってクライアント エンドポイントで生成されます。
2. クライアント エンドポイントは、IPFIX パケットをコレクタ IP アドレスに転送します。
3. コレクタは情報を収集して、Splunk に転送します。
4. コレクタは、トラフィックを Splunk に、次の 2 つの異なるストリームで送信します。 つまり、フローごとのデータと、エンドポイント ID データです。
すべてのトラフィックは UDP ベースであり、トラフィックの確認はありません。
トラフィックのデフォルト ポート:
IPFIX データ 2055
フローごとのデータ 20519
フローごとのデータ 20520
NVM モジュールは IPFIX データをキャッシュに入れ、信頼ネットワーク内であればそれをコレクタに送信します。 これは、ラップトップが社内ネットワーク(on-prem)に接続されているか、または VPN を介して接続されているかのいずれかの場合に実行されます。
Wireshark に表示される IPFIX トラフィック:
NVM は、TND に依存して、エンドポイントが信頼ネットワーク内にあるときを検出します。 TND 設定が誤っている場合、NVM の問題が発生する原因になります。
TND は DHCP を介して受け取る情報に基づいて動作します。 ドメイン名および DNS サーバ。 DNS サーバまたはドメイン名(あるいはその両方)が設定値と一致する場合、ネットワークは信頼できると見なされます。
NVM がトラフィックをコレクタに転送しない場合、TND に問題がある可能性があります。
IPFIX フロー テンプレートは、IPFIX 通信の開始時にコレクタに送信されます。 これらのテンプレートは、コレクタが IPFIX データの意味を解明するために役立ちます。 この情報がコレクタに送信されないと、コレクタは IPFIX データを収集できません。 これにより、データ コレクションに関する問題が発生します。
このような問題は、コレクタが後から設定された場合や、IPFIX の最初の数パケットがネットワークでドロップする場合(VPN では一般的)に見られます。 これを軽減するには、次のイベントの 1 つが必要です。
この問題は、エンドポイントをリブートするか、VPN を再接続することで回復できる可能性があります。
この問題は、エンドポイントのパケット キャプチャ内の no template found、またはコレクタ ログ内の no templates for flowset を確認することで特定できます。
パケット キャプチャ
コレクタ ログ:
Jan 20 12:48:54 csaxena-ubuntu-splunkcollector NVMCollector: no templates for flowset 258 for 10.150.176.167 yet Jan 20 12:48:55 csaxena-ubuntu-splunkcollector NVMCollector: HandleReceivedIPFIX: exporter=10.150.176.167 bytes_recvd=234 totlength=234 Jan 20 12:48:55 csaxena-ubuntu-splunkcollector NVMCollector: =================> flowsetid=258 flowsetlen=218 Jan 20 12:48:55 csaxena-ubuntu-splunkcollector NVMCollector: no templates for flowset 258 for 10.150.176.167 yet
シスコは常に、使用時または更新時に最新ソフトウェア バージョンの AnyConnect を選択するように推奨しています。 AnyConnect のバージョンを選択するときは、最新の 4.2.x または 4.3.x クライアントを使用してください。 これにより各 NVM に最新の拡張と不具合の修正が提供され、最近の変更は Microsoft コード署名証明書の適用により緩和されます。 詳細については、こちらをご覧ください。