ClearPassの問題のトラブルシューティング
このセクションでは、Policy Enforcer で ClearPass の問題に対処する際の一般的なトラブルシューティングのヒントについて説明します。ClearPassおよびClearPassログのトラブルシューティングの詳細については、ClearPassのマニュアルを参照してください。
ログファイルの表示
Policy Enforcer は、次の形式を使用してサードパーティー製プラグインのログ情報を /srv/3rd-party-adapter/logs/plugin_server.log に書き込みます。
[<date><time>:<line number>:<function name>:<level>]<detailed message>
ログには、次の 3 種類の情報が記録されます。
-
アプリケーションの初期化情報。
-
Policy Enforcerによるハートビート—Policy Enforcerとサードパーティ製プラグイン間の通信ステータス。
-
アプリケーション操作 - サードパーティ製プラグイン機能のトラブルシューティング用。
デフォルトのログ レベルは DEBUG に設定されています。
以下は、ハートビート・メッセージ・ログの例です。
[07/20/2017 04:21:59 PM:_internal.py:87:_log():INFO ] 10.92.82.125 - - [20/Jul/2017 16:21:59] "GET /api/v1/adaptor/heartbeat HTTP/1.1" 200 - [07/20/2017 04:22:29 PM:produces.py:117:wrapper():DEBUG ] Jsonifing http://10.92.82.125:8082/api/v1/adaptor/heartbeat [07/20/2017 04:22:29 PM:parameter.py:90:wrapper():DEBUG ] Function Arguments: []
以下は、アプリケーション操作ログの例です。
[07/20/2017 05:45:52 PM:default_controller.py:228:adaptor_threats_post():DEBUG ] Incoming threat POST request: {u'action': u'block', u'threatType': u'InfectedHost', u'endpoint': {u'macAddress': u'unknown', u'ip': u'192.168.140.20', u'name': u'', u'tags': []}}
[07/20/2017 05:45:52 PM:track_endpoint.py:27:__init__():INFO ] Creating new infected host tracking DB.
[07/20/2017 05:45:52 PM:clearpass_agent.py:66:getApiAuthenticationToken():DEBUG ] Get Oauth2 access token for API client
[07/20/2017 05:45:52 PM:connectionpool.py:805:_new_conn():INFO ] Starting new HTTPS connection (1): 10.92.81.112
[07/20/2017 05:45:52 PM:connectionpool.py:401:_make_request():DEBUG ] "POST /api/oauth HTTP/1.1" 200 116
[07/20/2017 05:45:52 PM:clearpass_agent.py:73:getApiAuthenticationToken():INFO ] Successful get Oauth2 access token
[07/20/2017 05:45:52 PM:thirdparty_controller.py:84:infectedHostNotif():DEBUG ] Validating endpoint [192.168.140.20] against Clearpass Endpoint DB
[07/20/2017 05:45:52 PM:clearpass_agent.py:80:getEndpointDataByIp():DEBUG ] Getting Endpoint detail by IP Address [192.168.140.20]
...
また、ClearPass Policy ManagerおよびClearPass Guest内のログにアクセスして、トラブルシューティングに役立てることもできます。
-
セッションログの確認
[Access Tracker] ウィンドウには、セッションごとのアクセス アクティビティの情報が表示されます。このアクティビティを表示するには、ClearPass Policy Monitorで[ Monitoring > Access Tracker ]を選択します。 図 1 を参照してください。
図1:セッションログの確認
テーブル内のセッションをクリックすると、そのセッションの詳細を含む [Request Details] ウィンドウが表示されます。「 ログの表示 」をクリックして、ログの詳細を表示します。ログレベルを変更して、表示するセッション情報を増減します。
-
ClearPassによって報告されたエラー
ClearPassアプリケーションによって生成されたイベントとメッセージを表示するには、ClearPass Guest内で [Administration > Support > Application Log ]を選択します。 図 2 を参照してください。
図2:ClearPassエラー
の表示
イベントをクリックすると、そのエラーの考えられる原因などの詳細や、詳細情報の参照先のポインタが表示されます。
設定の問題
以下は、適切な通信を確保するために Policy Enforcer サードパーティ プラグインに渡す必要がある必須の ClearPass 情報です。
-
ClearPassのIPアドレスとポート番号。
-
アクセスするAPIのクライアントID(
clientId)(ClearPass Guestモジュールで設定)。 -
ClearPassサーバーへのREST API呼び出しを実行するための入力しを取得するために
clientIdとともに使用されるクライアント秘密鍵。
ログファイルに「ClearPass configuration is missing」という 404 エラーが表示された場合、ClearPass は Policy Enforcer 用に構成されていません。Policy Enforcerを使用したClearPassの設定については、「 サードパーティプラグインのClearPass設定 」を参照してください。
ClearPassがPolicy Enforcer用に構成されているかどうかを確認する別の方法は、 /srv/3rd-party-adapter/configuration.yaml ファイルを探すことです。このファイルが存在する場合は、構成手順が実行されています。
エラー コード 500
ログ メッセージ There are no sessions to display. You should enable Insight on at least one node in Policy Manager: Administration > Server Manager > Server Configuration でエラー コード 500 が表示された場合、構成された ClearPass サーバーで Insight が有効になっていません。ClearPass Insightは、詳細なレポート作成と高度な分析のためにClearPass Policy Managerによって使用されます。
ClearPass Insight を有効にするには、ClearPass Policy Manager から [サーバー マネージャー] > [サーバー構成] > [管理] を選択します 。ClearPassサーバーをクリックし、Insightを有効にします。 図 3 を参照してください。
の有効化
感染したエンドポイントをブロックできない
感染したエンドポイントをブロックできない場合は、次のタスクを実行します。
-
ClearPass API Explorer(Insight API、エンドポイントサービス)を使用してIPアドレスを検証し、GET /insight/endpoint/ip/{ip}を発行します。
-
ClearPass API Explorer(GuestManager API、ActiveSessionサービス)を使用して、対応するアクティブセッションを検証し、対応する「framedipaddress」が感染したエンドポイントのIPアドレスと等しく、「accstarttime」でソートされたGET /sessionを発行し、IPに関連付けられた最新のアクティブセッションが最初に表示されるようにします。現在アクティブなセッションが返されない場合は、ブロックするプラグインに渡された IP アドレスが無効であるか、存在しません。
-
IPアドレスが有効な場合は、ClearPass API ExplorerのエンドポイントAPI、マネージドエンドポイントサービスを使用して、前に発行されたアクティブセッションクエリの出力から取得したエンドポイントの{mac-address}でAPI GET /endpoint/mac-address/{mac-address}を発行して、カスタム属性
sdsnEpStatusが値「blocked」に応じて設定されていることを確認します。 -
カスタム属性 sdsnEpStatus は、ClearPass Policy Manager の Access Tracker の [Input] タブの [Compute Attributes] セクションで、対応するセッションを検索して確認することもできます。
感染したエンドポイントを隔離できない
感染したエンドポイントを隔離できない場合は、まず、上記の「 感染したエンドポイントをブロックできない 」のトピックと同じ手順に従って、感染したホストの IP アドレスを検証します。次に、カスタム属性 sdsnEpStatus の値が quarantine に設定されていることを確認します。
ブロックまたは隔離されたエンドポイントをクリアできない
ブロックまたは隔離されたエンドポイントをクリアできない場合は、通常、プラグインによって維持される感染エンドポイント追跡データベースに、通過する IP アドレスが存在しないことが原因です。感染したホストは、 /srv/3rd-party-adapter/infectedEndpointList ファイルにあります。クリア要求には、以前にブロックまたは隔離されたエンドポイント要求と同じエンドポイントの IP アドレスが送信されることが期待されます。感染したエンドポイント追跡データベースにない新しい IP アドレスを持つクリア要求が到着した場合、要求は失敗します。
また、内部エラーの可能性がないか、ClearPassアプリケーションログを確認してください。