はじめに
このドキュメントでは、ISE 3.0バージョンで導入された新しいIdentity Services Engine(ISE)パッシブIDコネクタ(ISE-PIC)エージェントについて説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Identity Servicesの管理
- MS-RPC、WMIプロトコル
- Active Directoryの管理
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco Identity Services Engine(ISE)バージョン3.0以降
- Microsoft Windows Server 2016 Standard
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
また、ISE-PICエージェントの利点と、ISE上でのエージェントの設定についても説明します。ISEパッシブIDエージェントは、Cisco FirePower Management Centerを使用するIDファイアウォールソリューションに不可欠な要素となっています。
新しいプロトコルの必要性
ISEのパッシブID(パッシブID)機能は、IDベースのファイアウォール、EasyConnectなど、多くの重要なユースケースを推進します。この機能は、Active Directoryドメインコントローラにログインするユーザをモニタし、そのユーザのユーザ名とIPアドレスを学習する機能に依存します。ドメインコントローラの監視に使用される現在のメインプロトコルはWMIです。ただし、設定は困難で侵襲的であり、クライアントとサーバの両方にパフォーマンスの影響を与えます。また、規模の大きい展開では、ログオンイベントの発生に非常に長い遅延が発生する場合があります。Passive Identity Servicesに必要な情報をポーリングするための徹底的な調査と代替方法の後、このユースケースをより効率的に処理できるEventing API(EVT)と呼ばれる代替プロトコルが決定されました。これはMS-EVEN6とも呼ばれ、Eventing Remote Protocol(イベントリモートプロトコル)とも呼ばれます。これは、基盤となるRPCベースのOn-the-Wireプロトコルです。
MS-EVEN6を使用する利点
ハイ アベイラビリティ
元のエージェントには高可用性(HA)オプションがありませんでした。エージェントが実行されていたか、または停止したサーバでメンテナンスを行う必要がある場合、ログオンイベントは失われ、IDベースのファイアウォールなどの機能では、この間にデータが失われます。これは、このリリースより前のISE PIC Agentの使用に関する主な懸念事項の1つでした。このリリース以降、エージェントはハイアベイラビリティで作業できます。ISEはUDPポート9095を使用してエージェント間でハートビートを交換し、高可用性を実現します。異なるドメインコントローラをモニタするように設定できるエージェントのHAペアが複数存在する場合があります。
拡張性
新しいエージェントでは、サポートされるドメインコントローラの数と処理可能なイベントの数に応じて規模の数が増え、サポートが向上しています。テストされたスケール値を次に示します(DB単位)。
- 監視するドメインコントローラの最大数(エージェントが2ペアの場合):74
- テストされるマッピング/イベントの最大数:292,000(DCあたり3950イベント)
- テストされる最大TPS:500
スケールテストセットアップアーキテクチャ
履歴イベントクエリ
フェールオーバーの場合、またはPIC-Agentに対してサービスの再起動が実行される場合、データが失われないように、設定された時間、過去に生成されたイベントが照会され、PSNノードに再度送信されます。デフォルトでは、サービスの開始時から60秒分に相当する過去のイベントがISEによって照会され、サービス損失中のデータ損失が無効にされます。
処理オーバーヘッドの削減
WMIは大規模または高負荷時にCPUを大量に消費しますが、EVTはWMIほど多くのリソースを消費しません。スケールテストでは、EVTを使用したクエリのパフォーマンスが大幅に向上しました。
設定
接続図
コンフィギュレーション
PassiveIDエージェント用のISEの設定
PassiveIDサービスを設定するには、1つ以上のポリシーサービスノード(PSN)でPassive Identity Servicesを有効にする必要があります。アクティブ/スタンバイモードで動作するパッシブIDサービスには、最大2つのノードを使用できます。また、ISEはActive Directoryドメインに参加する必要があり、そのドメインに存在するドメインコントローラのみがISEで設定されたエージェントによってモニタできます。ISEをActive Directoryドメインに参加させる方法については、『Active Directory統合ガイド』を参照してください。
次に示すように、Administration > System > Deployment > [Choose a PSN] > Editの順に移動し、Passive Identity Servicesを有効にします。
Work Centers > PassiveID > Providers > Agents > Addの順に移動し、次に示すように新しいエージェントを導入します。
注:1.エージェントをISEからドメインコントローラにインストールする場合、ここで使用するアカウントには、プログラムをインストールし、[ホストの完全修飾ドメイン名(FQDN)]フィールドに記載されたサーバで実行するのに十分な権限が必要です。ここで使用するホストFQDNは、ドメインコントローラではなくメンバサーバのホストFQDNです。
2. エージェントがすでに手動で、またはMSRPCを使用してISEから以前の導入からインストールされている場合、Active DirectoryまたはWindows側で必要な権限と設定は、PICエージェントが使用する他のプロトコル(3.0より前に使用可能な唯一のプロトコル)であるWMIよりも少なくなります。この場合に使用するユーザアカウントは、通常のドメインアカウントで、イベントログリーダーグループの一部です。Register Existing Agentを選択し、これらのアカウント詳細を使用して、ドメインコントローラに手動でインストールされたエージェントを登録します。
導入が正常に完了したら、別のサーバ上に別のエージェントを設定し、それをセカンダリエージェントとして追加し、次の図に示すようにプライマリピアを追加します。
エージェントを使用するドメインコントローラをモニタするには、Work Centers > PassiveID > Providers > Active Directory > [Join Pointをクリック] > PassiveIDの順に移動します。Add DCsをクリックし、User-IP Mapping/eventsを取得するドメインコントローラを選択して、OKをクリックし、次にSaveをクリックして変更を保存します(次の図を参照)。
イベントの取得元として使用できるエージェントを指定するには、Work Centers > PassiveID > Providers > Active Directory > [Click on the Join Point] > PassiveIDの順に移動します。ドメインコントローラを選択し、Editをクリックします。ユーザ名とパスワードを入力します。Agent、Saveの順に選択します。PassiveIDタブでSaveをクリックして、設定を完了します。
注:バージョン3.0パッチ4までは、このセクションで設定オプションとテストオプションを使用できます。
PassiveIDエージェントコンフィギュレーションファイルについて
PassiveIDエージェントのコンフィギュレーションファイルは、C:\Program Files (x86)\Cisco\Cisco ISE PassiveID Agent\PICAgent.exe.configにあります。設定ファイルの内容は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<構成>
<構成セクション>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<ルート>
<level value="DEBUG" /> <! – ログレベル:オフ、致命的、エラー、警告、情報、デバッグ、すべて – >
<! – これは、PassiveIDエージェントを実行するサーバ上で、エージェント用に収集されたログのログレベルを設定します。-->
<appender-ref ref="RollingFileAppender" />
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="CiscoISEPICAgent.log" /> <! – これを変更しないでください – >
<appendToFile value="true" />
<rollingStyle value="サイズ" />
<maxSizeRollBackups value="5" /> <! – この数値は、ロールオーバーする前に生成されるログファイルの最大数を設定します – >
<maximumFileSize value="10MB" /> <! – 生成される各ログファイルの最大サイズを設定します – >
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level - %message%newline" />
</layout>
</アペンダ>
</log4net>
<スタートアップ>
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
<アプリの設定>
<add key="heartbeatFrequency" value="400" /> <! – この数値は、ISEでペアとして設定されている場合に、プライマリエージェントとセカンダリエージェントの間で実行されるハートビート周波数(ミリ秒)を定義します – >
<add key="heartbeatThreshold" value="1000"/> <! – この数値は、エージェントがハートビートを待機する最大時間(ミリ秒)を定義します。この最大時間を超えると、他のエージェントがハートビートをマークダウンします – >
<add key="showHeartbeats" value="false" /> <! – 値を"true"に変更して、ログファイルに心拍メッセージを記録します – >
<add key="maxRestThreads" value="200" /> <!— ISEにイベントを送信するために生成できるRESTスレッドの最大数を定義します。Cisco TACの指示がある場合を除き、この値を変更しないでください。 —>
<add key="mappingTransport" value="rest" /> <!— ISEにマッピングを送信するために使用するメディアのタイプを定義します。この値は変更しないでください – >
<add key="maxHistorySeconds" value="60" /> <! – サービスを再起動する場合に履歴イベントを取得する必要がある過去の期間を秒単位で定義します – >
<add key="restTimeout" value="5000" /> <!— ISEへのRESTコールのタイムアウト値を定義 – >
<add key="showTPS" value="false" /> <! – この値を「true」に変更して、受信してISEに送信したイベントのTPSを表示します – >
<add key="showPOSTS" value="false" /> <! – この値を「true」に変更して、ISEに送信されるイベントを出力します – >
<add key="nodeFailoverTimeSpan" value="5000" /> <! – アクティブなPassiveID PSNノードとの通信で発生する可能性のあるエラーがフェールオーバーとしてカウントされるしきい値(ミリ秒)の条件を定義します – >
<add key="nodeFailoverMaxErrors" value="5" /> <! – スタンバイPassiveID PSNノードにフェールオーバーする前に、指定されたnodeFailoverTimeSpan内で許容されるエラーの最大数を定義します – >
</appSettings>
</configuration>
確認
ISEでのPassiveIDサービスの確認
1. PassiveIDサービスがGUIで有効になっているか、ISEのCLIでコマンドshow application status iseを使用して、実行のマークが付いているかどうかを確認します。
ISE PROCESS NAME STATE PROCESS ID
--------------------------------------------------------------------
Database Listener running 129052
Database Server running 108 PROCESSES
Application Server running 9830
Profiler Database running 5127
ISE Indexing Engine running 13361
AD Connector running 20609
M&T Session Database running 4915
M&T Log Processor running 10041
Certificate Authority Service running 15493
EST Service running 41658
SXP Engine Service disabled
Docker Daemon running 815
TC-NAC Service disabled
pxGrid Infrastructure Service disabled
pxGrid Publisher Subscriber Service disabled
pxGrid Connection Manager disabled
pxGrid Controller disabled
PassiveID WMI Service running 15951
PassiveID Syslog Service running 16531
PassiveID API Service running 17093
PassiveID Agent Service running 17830
PassiveID Endpoint Service running 18281
PassiveID SPAN Service running 20253
DHCP Server (dhcpd) disabled
DNS Server (named) disabled
ISE Messaging Service running 1472
ISE API Gateway Database Service running 4026
ISE API Gateway Service running 7661
Segmentation Policy Service disabled
REST Auth Service disabled
SSE Connector disabled
2. ISE Active DirectoryプロバイダーがWork Centers > PassiveID > Providers > Active Directory > Connectionでドメインコントローラーに接続されているかどうかを確認します。
3. Work Centers > PassiveID > Providers > Active Directory > PassiveIDで、必要なドメインコントローラがエージェントによってモニタされているかどうかを確認します。
4. 監視対象のドメインコントローラのステータスがアップになっているかどうかを確認します。たとえば、ダッシュボードでWork Centers > PassiveID > Overview > Dashboardの順に選択し、緑色のマークを付けます。
5. ドメインコントローラのWork Centers > PassiveID > Overview > Live SessionsでWindowsログオンが登録されるときに、ライブセッションが設定されていることを確認します。
Windowsサーバでのエージェントサービスの確認
1. PICエージェントがインストールされているサーバのISEPICAgentサービスを確認します。