はじめに
このドキュメントでは、Identity Services Engine(ISE)に対してVPNユーザをポスチャするようにFirepower Threat Defense(FTD)バージョン6.4.0を設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- AnyConnect リモート アクセス VPN
- FTDでのリモートアクセスVPNの設定
- Identity Services Engineとポスチャサービス
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- CiscoFirepower脅威対策(FTD)ソフトウェアバージョン6.4.0
- CiscoFirepowerマネジメントコンソール(FMC)ソフトウェアバージョン6.5.0
- Cisco AnyConnectセキュアモビリティクライアントバージョン4.7がインストールされたMicrosoft Windows 10
- Cisco Identity Services Engine(ISE)バージョン2.6およびパッチ3
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
ネットワーク図とトラフィック フロー
1.リモートユーザは、FTDへのVPNアクセスにCisco Anyconnectを使用します。
2. FTDがそのユーザのRADIUS Access-RequestをISEに送信します。
3.その要求が、ISE上のFTD-VPN-Posture-Unknownという名前のポリシーにヒットします。ISEは、次の3つの属性を持つRADIUS Access-Acceptを送信します。
4. DACLが送信された場合、DACLのコンテンツをダウンロードするためにRADIUSアクセス要求/アクセス承認が交換されます
5. VPNユーザからのトラフィックがローカルに定義されたACLに一致すると、ISEクライアントプロビジョニングポータルにリダイレクトされます。ISEはAnyConnectポスチャモジュールとコンプライアンスモジュールをプロビジョニングします。
6.エージェントがクライアントマシンにインストールされると、プローブを使用してISEが自動的に検索されます。ISEが正常に検出されると、エンドポイントでポスチャ要件がチェックされます。この例では、エージェントはインストールされているマルウェア対策ソフトウェアを確認します。次に、ポスチャレポートをISEに送信します。
7. ISEがエージェントからポスチャレポートを受信すると、ISEはこのセッションのポスチャステータスを変更し、新しい属性でRADIUS CoAタイプのプッシュをトリガーします。今回は、ポスチャステータスが判明し、別のルールがヒットします。
- ユーザが準拠している場合、フルアクセスを許可するDACL名が送信されます。
- ユーザが非準拠の場合、制限付きアクセスを許可するDACL名が送信されます。
8. FTDがリダイレクションを削除します。FTDがISEからDACLをダウンロードするためにAccess-Requestを送信します。特定の DACL が VPN セッションに付加されます。
コンフィギュレーション
FTD/FMC
ステップ 1:ISEおよび修復サーバ(存在する場合)のネットワークオブジェクトグループを作成します。Objects > Object Management > Networkの順に移動します。
ステップ 2:リダイレクトACLを作成します。Objects > Object Management > Access List > Extendedの順に移動します。Add Extended Access Listをクリックして、リダイレクトACLの名前を指定します。この名前は、ISE認可結果と同じである必要があります。
ステップ 3:リダイレクトACLエントリを追加します。[Add] ボタンをクリックします。DNS、ISE、および修復サーバへのトラフィックをブロックして、リダイレクトから除外します。残りのトラフィックを許可すると、リダイレクトがトリガーされます(必要に応じてACLエントリをより具体的にすることができます)。
ステップ 4:ISE PSNノードを追加します。Objects > Object Management > RADIUS Server Groupの順に移動します。Add RADIUS Server Groupをクリックし、名前を入力して、すべてのチェックボックスをオンにし、プラス記号のアイコンをクリックします。
ステップ 5:開いたウィンドウで、ISE PSN IPアドレスとRADIUSキーを入力し、[Specific Interface] を選択し、ISEが到達可能なインターフェイス(このインターフェイスはRADIUSトラフィックの送信元として使用されます)を選択してから、以前に設定した[Redirect ACL] を選択します。
手順 6:VPNユーザ用のアドレスプールを作成します。Objects > Object Management > Address Pools > IPv4 Poolsの順に移動します。Add IPv4 Poolsをクリックして、詳細を入力します。
手順 7:AnyConnectパッケージを作成します。Objects > Object Management > VPN > AnyConnect Fileの順に移動します。Add AnyConnect Fileをクリックしてパッケージ名を指定し、Cisco Software Downloadからパッケージをダウンロードして、Anyconnect Client Image File Typeを選択します。
ステップ 8:Certificate Objects > Object Management > PKI > Cert Enrollmentの順に移動します。Add Cert Enrollmentをクリックして名前を入力し、Self Signed Certificate in Enrollment Typeを選択します。Certificate Parametersタブをクリックして、CNを指定します。
ステップ 9:リモートアクセスVPNウィザードを起動します。Devices > VPN > Remote Accessの順に移動し、Addをクリックします。
ステップ 10:名前を入力し、VPNプロトコルとしてSSLをチェックし、VPNコンセントレータとして使用されるFTDを選択して、Nextをクリックします。
ステップ 11Connection Profileの名前を入力し、Authentication/Accounting Serversを選択し、以前に設定したアドレスプールを選択して、Nextをクリックします。
注:認証サーバは選択しないでください。1人のユーザに対して2つのアクセス要求がトリガーされます(1回目はユーザパスワード、2回目はパスワードcisco)。
ステップ 12以前に設定したAnyConnectパッケージを選択し、Nextをクリックします。
ステップ 13VPNトラフィックが予想されるインターフェイスを選択し、以前に設定したCertificate Enrollmentを選択して、Nextをクリックします。
ステップ 14:サマリーページを確認し、Finishをクリックします。
ステップ 15:FTDに設定を展開します。Deployをクリックし、VPNコンセントレータとして使用するFTDを選択します。
ISE
ステップ 1:ポスチャ更新を実行します。[Administration] > [System] > [Settings] > [Posture] > [Updates] に移動します。
ステップ 2:コンプライアンスモジュールをアップロードします。Policy > Policy Elements > Results > Client Provisioning > Resourcesの順に移動します。Addをクリックし、Agent resources from Cisco siteを選択します
ステップ 3:シスコソフトウェアダウンロードからAnyConnectをダウンロードし、ISEにアップロードします。Policy > Policy Elements > Results > Client Provisioning > Resourcesの順に移動します。
Addをクリックし、Agent Resources From Local Diskを選択します。Categoryの下でCisco Provided Packagesを選択し、ローカルディスクからAnyConnectパッケージを選択して、Submitをクリックします。
ステップ 4:AnyConnectポスチャプロファイルを作成します。Policy > Policy Elements > Results > Client Provisioning > Resourcesの順に移動します。
Addをクリックし、AnyConnect Posture Profileを選択します。名前とポスチャプロトコルを入力します。
*Server name rulesの下に*を入力し、Discovery hostの下にダミーIPアドレスを入力します。
ステップ 5:Policy > Policy Elements > Results > Client Provisioning > Resourcesの順に移動し、AnyConnect Configurationを作成します。Addをクリックし、AnyConnect Configurationを選択します。AnyConnect Packageを選択し、Configuration Nameを指定し、Compliance Moduleを選択し、Diagnostic and Reporting Toolにチェックマークを入れ、Posture Profileを選択してSaveをクリックします。
手順 6:Policy > Client Provisioningの順に移動し、Client Provisioning Policyを作成します。EditをクリックしてからInsert Rule Aboveを選択し、名前を指定して、OSを選択し、前のステップで作成したAnyConnect Configurationを選択します。
手順 7:Policy > Policy Elements > Conditions > Posture > Anti-Malware Conditionでポスチャ条件を作成します。この例では、定義済みの「ANY_am_win_inst」が使用されます。
を参照。
ステップ 8:Policy > Policy Elements > Results > Posture > Remediation Actionsの順に移動し、Posture Remediationを作成します。この例では、これはスキップされます。修復アクションはテキストメッセージにすることができます。
ステップ 9: Policy > Policy Elements > Results > Posture > Requirementsの順に移動し、Posture Requirementsを作成します。定義済みの要件Any_AM_Installation_Winが使用されます。
ステップ 10:Policies > Postureでポスチャポリシーを作成します。Windows OSのアンチマルウェアチェックのデフォルトのポスチャポリシーが使用されます。
ステップ 11Policy > Policy Elements > Results > Authorization > Downlodable ACLSの順に移動し、異なるポスチャステータス用のDACLを作成します。
この例では、
- ポスチャ不明DACL:DNS、PSN、およびHTTPとHTTPSのトラフィックを許可します。
- ポスチャ非準拠DACL:プライベートサブネットへのアクセスを拒否し、インターネットトラフィックのみを許可します。
- Permit All DACL:ポスチャ準拠ステータスのすべてのトラフィックを許可します。
ステップ 12Posture Unknown、Posture NonCompliant、およびPosture Compliantステータス用の3つの認可プロファイルを作成します。これを行うには、Policy > Policy Elements > Results > Authorization > Authorization Profilesの順に移動します。Posture Unknownプロファイルで、Posture Unknown DACLを選択し、Web Redirectionにチェックマークを付け、Client Provisioningを選択し、Redirect ACL名(FTDで設定)を指定して、ポータルを選択します。
Posture NonCompliantプロファイルで、ネットワークへのアクセスを制限するためにDACLを選択します。
Posture Compliantプロファイルで、ネットワークへのフルアクセスを許可するためにDACLを選択します。
ステップ 13Policy > Policy Sets > Default > Authorization Policyで認可ポリシーを作成します。As条件として、Posture StatusとVNP TunnelGroup Nameが使用されます。
確認
ここでは、設定が正常に機能しているかどうかを確認します。
ISEでは、最初の検証ステップはRADIUSライブログです。Operations > RADIUS Live Logの順に移動します。ここで、ユーザAliceが接続され、期待される認可ポリシーが選択されます。
認可ポリシーFTD-VPN-Posture-Unknownが一致し、その結果、FTD-VPN-ProfileがFTDに送信されます。
ポスチャステータスは保留中です。
結果セクションには、FTDに送信される属性が表示されます。
FTDで、VPN接続を確認するために、ボックスにSSHで接続し、system support diagnostic-cliを実行してから、show vpn-sessiondb detail anyconnectを実行します。この出力から、ISEから送信された属性がこのVPNセッションに適用されていることを確認します。
fyusifov-ftd-64# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : alice@training.example.com
Index : 12
Assigned IP : 172.16.1.10 Public IP : 10.229.16.169
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1
Bytes Tx : 15326 Bytes Rx : 13362
Pkts Tx : 10 Pkts Rx : 49
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : DfltGrpPolicy Tunnel Group : EmployeeVPN
Login Time : 07:13:30 UTC Mon Feb 3 2020
Duration : 0h:06m:43s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 000000000000c0005e37c81a
Security Grp : none Tunnel Zone : 0
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 12.1
Public IP : 10.229.16.169
Encryption : none Hashing : none
TCP Src Port : 56491 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 23 Minutes
Client OS : win
Client OS Ver: 10.0.18363
Client Type : AnyConnect
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7663 Bytes Rx : 0
Pkts Tx : 5 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 12.2
Assigned IP : 172.16.1.10 Public IP : 10.229.16.169
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 56495
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 23 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7663 Bytes Rx : 592
Pkts Tx : 5 Pkts Rx : 7
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PostureUnknown-5e37414d
DTLS-Tunnel:
Tunnel ID : 12.3
Assigned IP : 172.16.1.10 Public IP : 10.229.16.169
Encryption : AES256 Hashing : SHA1
Ciphersuite : DHE-RSA-AES256-SHA
Encapsulation: DTLSv1.0 UDP Src Port : 59396
UDP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 0 Bytes Rx : 12770
Pkts Tx : 0 Pkts Rx : 42
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PostureUnknown-5e37414d
ISE Posture:
Redirect URL : https://fyusifov-26-3.example.com:8443/portal/gateway?sessionId=000000000000c0005e37c81a&portal=27b1bc...
Redirect ACL : fyusifovredirect
fyusifov-ftd-64#
クライアントプロビジョニングポリシーを確認できます。Operations > Reports > Endpoints and Users > Client Provisioningの順に移動します。
AnyConnectから送信されたポスチャレポートをチェックできます。Operations > Reports > Endpoints and Users > Posture Assessment by Endpointの順に移動します。
ポスチャレポートの詳細を表示するには、Detailsをクリックします。
ISEでレポートを受信すると、ポスチャステータスが更新されます。この例では、ポスチャステータスは準拠しており、CoAプッシュは新しい属性セットでトリガーされます。
FTDで、VPNセッション用の新しいリダイレクトACLとリダイレクトURLが削除され、PermitAll DACLが適用されていることを確認します。
fyusifov-ftd-64# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : alice@training.example.com
Index : 14
Assigned IP : 172.16.1.10 Public IP : 10.55.218.19
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1
Bytes Tx : 53990 Bytes Rx : 23808
Pkts Tx : 73 Pkts Rx : 120
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : DfltGrpPolicy Tunnel Group : EmployeeVPN
Login Time : 16:58:26 UTC Mon Feb 3 2020
Duration : 0h:02m:24s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 000000000000e0005e385132
Security Grp : none Tunnel Zone : 0
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 14.1
Public IP : 10.55.218.19
Encryption : none Hashing : none
TCP Src Port : 51965 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 27 Minutes
Client OS : win
Client OS Ver: 10.0.18363
Client Type : AnyConnect
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7663 Bytes Rx : 0
Pkts Tx : 5 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 14.2
Assigned IP : 172.16.1.10 Public IP : 10.55.218.19
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 51970
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 27 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7715 Bytes Rx : 10157
Pkts Tx : 6 Pkts Rx : 33
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PermitAll-5e384dc0
DTLS-Tunnel:
Tunnel ID : 14.3
Assigned IP : 172.16.1.10 Public IP : 10.55.218.19
Encryption : AES256 Hashing : SHA1
Ciphersuite : DHE-RSA-AES256-SHA
Encapsulation: DTLSv1.0 UDP Src Port : 51536
UDP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 38612 Bytes Rx : 13651
Pkts Tx : 62 Pkts Rx : 87
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PermitAll-5e384dc0
fyusifov-ftd-64#
トラブルシュート
ここでは、設定のトラブルシューティングに使用できる情報を示します。
ポスチャフローの詳細と、AnyConnectおよびISEのトラブルシューティングについては、次のリンクを確認してください。 ISE ポスチャ スタイルの 2.2 前後の比較.
スプリットトンネルが設定されている場合の一般的な問題の1つです。この例では、すべてのトラフィックをトンネリングするデフォルトのグループポリシーが使用されます。特定のトラフィックだけがトンネル化される場合は、ISEおよびその他の内部リソースへのトラフィックに加えて、AnyConnectプローブ(enroll.cisco.comおよび検出ホスト)もトンネルを通過する必要があります。
FMCのトンネルポリシーを確認するには、まず、VPN接続に使用されているグループポリシーを確認します。Devices > VPN Remote Accessの順に移動します。
次に、Objects > Object Management > VPN > Group Policyの順に移動し、VPN用に設定されたGroup Policyをクリックします。
もう1つの一般的な問題は、VPNユーザのリターントラフィックが誤ったNATエントリを使用して変換されることです。この問題を解決するには、アイデンティティNATを適切な順序で作成する必要があります。
最初に、このデバイスのNATルールを確認します。Devices > NATの順に移動し、Add Ruleをクリックして新しいルールを作成します。
開いているウィンドウのInterface Objectsタブで、Security Zonesを選択します。この例では、NATエントリはZONE-INSIDEからZONE-OUTSIDEに作成されます。
Translationタブで、元のパケットと変換されたパケットの詳細を選択します。アイデンティティNATであるため、送信元と宛先は変更されません。
Advancedタブで、次の図に示すようにチェックボックスをオンにします。