はじめに
このドキュメントでは、FMCによって管理されるFirepower Threat Defense(FTD)でセキュアクライアントの複数証明書認証(MCA)を使用する手順について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- リモートアクセスVPN(RAVPN)の基本的な知識
- Firepower Management Center(FMC)の使用経験
- X509 証明書に関する基本的な知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco FTD - 7.6
- Cisco FMC:7.6
- Cisco Secure Client 5.1.4.74がインストールされたWindows 11
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
ソフトウェアバージョン7.0より前のFTDでは、単一の証明書ベースの認証がサポートされています。つまり、単一の接続を試みると、ユーザまたはマシンのどちらか一方を認証できますが、両方を認証することはできません。
複数証明書ベースの認証では、SSLまたはIKEv2 EAPフェーズのセキュアクライアントを使用したVPNアクセスを許可するユーザのアイデンティティ証明書の認証に加えて、デバイスが企業発行のデバイスであることを確認するために、脅威防御でマシンまたはデバイスの証明書を検証できます。
現在、複数の証明書認証では、証明書の数が2つに制限されています。 Secure Clientは、複数の証明書認証のサポートを示す必要があります。表示されていない場合は、ゲートウェイでレガシー認証方式のいずれかが使用されているか、接続が失敗しています。Secure Clientversion 4.4.04030以降では、複数証明書ベースの認証がサポートされています。
コンフィギュレーション
FTDの設定
- > > の順に移動します。
- Remote Access VPN policyを選択し、Editをクリックします。
注:リモートアクセスVPNを設定していない場合は、Addをクリックして新しいリモートアクセスVPNポリシーを作成します。
- 接続プロファイルを選択して編集し、複数の証明書認証を設定します。
- AAA settingsをクリックし、Authentication Method as Client Certificate OnlyまたはClient Certificate & AAAを選択します。
注:クライアント証明書とAAA認証方式を選択している場合は、認証サーバを選択します。
- Enable multiple certificate authenticationチェックボックスを選択します。
-
次のいずれかの証明書を選択して、クライアント証明書からユーザ名をマッピングします。
証明書のみの認証が有効な場合、クライアントから送信されたユーザ名がVPNセッションユーザ名として使用されます。AAAおよび証明書認証が有効な場合、VPNセッションのユーザ名はプレフィルオプションに基づきます。
- クライアント証明書からのユーザ名を含む、Map specific fieldオプションを選択した場合、Primary(CN)フィールドおよびSecondaryフィールドには、それぞれCommon Name(CN)およびOrganizational Unit(OU)というデフォルト値が表示されます。
接続プロファイルのAAA設定
8. 「ユーザー名として識別名(DN)全体を使用する」オプションを選択した場合、ユーザーIDが自動的に取得されます。識別名は、ユーザを接続プロファイルと照合する際に識別子として使用できる個々のフィールドで構成される一意の識別子です。DNルールは、拡張証明書認証に使用されます。
注:Client Certificate & AAA authenticationを選択した場合、ユーザがCisco Secure ClientのSecure Client VPNモジュールを介して接続するときに、クライアント証明書のセカンダリユーザ名をプリフィルするためにPrefill username from certificate on user login windowオプションを選択します。
ログインウィンドウでユーザ名を非表示にする:セカンダリユーザ名はクライアント証明書から事前入力されますが、ユーザが事前入力されたユーザ名を変更しないようにユーザには表示されません。
9. その他の詳細な設定については、『FTDでのセキュアクライアント(AnyConnect)リモートアクセスVPNの設定』を参照してください。
10. 検証が成功するように、ユーザストア証明書とマシンストア証明書のCA証明書をFTDにアップロードします。このシナリオでは、ユーザストア証明書とマシンストア証明書は同じCAによって署名されるため、1つのCAをインストールするだけで十分です。ユーザストア証明書とマシンストア証明書が異なるCAによって署名されている場合、これらのCA証明書の両方をFTDにアップロードする必要があります。
FMCからFTDにインストールされたCA証明書
注:ユーザに管理者権限がない場合、AnyConnectクライアントプロファイルのCertificateStoreをAllに設定し、CertificateStoreOverrideをtrueに設定する必要があります。
ユーザマシン上の証明書
この接続プロファイルに接続しようとしているユーザーマシンには、ユーザーストアとマシンストアに有効な証明書がインストールされている必要があります。
ユーザーストアからの証明書:
ユーザーストア証明書
コンピューターストアからの証明書:
マシンストア証明書
確認
1. FTD CLIから接続プロファイル設定を確認します。
firepower# show run tunnel-group
tunnel-group RA-VPN-Multi-Cert type remote-access
tunnel-group RA-VPN-Multi-Cert general-attributes
address-pool RAVPN-MultiCert-Pool
default-group-policy RAVPN-Multi-Cert-GP
tunnel-group RA-VPN-Multi-Cert webvpn-attributes
authentication multiple-certificate
group-alias RAVPN-MultiCert enable
2. 次のコマンドを実行して、接続を確認します。
firepower# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : client.cisco.com Index : 28
Assigned IP : 192.168.13.1 Public IP : 10.106.56.89
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-128 DTLS-Tunnel: (1)AES-GCM-256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA256 DTLS-Tunnel: (1)SHA384
Bytes Tx : 19324 Bytes Rx : 134555
Pkts Tx : 2 Pkts Rx : 1379
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : RAVPN-Multi-Cert-GP Tunnel Group : RA-VPN-Multi-Cert
Login Time : 07:18:53 UTC Wed Mar 19 2025
Duration : 0h:21m:00s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 0a6a43590001c00067da6fdd
Security Grp : none Tunnel Zone : 0
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 28.1
Public IP : 10.106.56.89
Encryption : none Hashing : none
TCP Src Port : 53927 TCP Dst Port : 443
Auth Mode : Multiple-certificate
Idle Time Out: 30 Minutes Idle TO Left : 9 Minutes
Client OS : win
Client OS Ver: 10.0.22000
Client Type : AnyConnect
Client Ver : Cisco AnyConnect VPN Agent for Windows 5.1.4.74
Bytes Tx : 11581 Bytes Rx : 224
Pkts Tx : 1 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 28.2
Assigned IP : 192.168.13.1 Public IP : 10.106.56.89
Encryption : AES-GCM-128 Hashing : SHA256
Ciphersuite : TLS_AES_128_GCM_SHA256
Encapsulation: TLSv1.3 TCP Src Port : 53937
TCP Dst Port : 443 Auth Mode : Multiple-certificate
Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 5.1.4.74
Bytes Tx : 7743 Bytes Rx : 240
Pkts Tx : 1 Pkts Rx : 3
Pkts Tx Drop : 0 Pkts Rx Drop : 0
DTLS-Tunnel:
Tunnel ID : 28.3
Assigned IP : 192.168.13.1 Public IP : 10.106.56.89
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-ECDSA-AES256-GCM-SHA384
Encapsulation: DTLSv1.2 UDP Src Port : 62975
UDP Dst Port : 443 Auth Mode : Multiple-certificate
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 5.1.4.74
Bytes Tx : 0 Bytes Rx : 134091
Pkts Tx : 0 Pkts Rx : 1376
Pkts Tx Drop : 0 Pkts Rx Drop : 0
AAAセクションでMap username from Second Certificateが選択されているため、ユーザストア証明書CNからユーザ名client.cisco.comが取得されます。First Certificateを選択した場合、ユーザ名はmachine.cisco.comのマシンストア証明書から取得されます。
トラブルシュート
- 有効な証明書がユーザー証明書ストアとコンピューター証明書ストアに存在することを確認してください。
- debug crypto ca 14を使用してFTDでデバッグを収集し、証明書の検証に関連するログを確認します。
- ユーザマシンからDARTを確認します。
作業シナリオのDARTログ:
******************************************
Date : 03/19/2025
Time : 00:18:50
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::processResponseStringFromSG
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 12100
[MCA] Multiple client cert auth requested by peer (via AggAuth)
******************************************
Date : 03/19/2025
Time : 00:18:50
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::nextClientCert
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 6774
Subject Name: C=US, ST=California, L=San Jose, O=Cisco Systems Inc., CN=machine.cisco.com
Issuer Name : C=US, O=IdenTrust, OU=HydrantID Trusted Certificate Service, CN=HydrantID Server CA O1
Store : Microsoft Machine
******************************************
Date : 03/19/2025
Time : 00:18:50
Type : Information
Source : csc_vpnapi
Description : Function: CTransportCurlStatic::ClientCertRequestCB
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\CTransportCurlStatic.cpp
Line: 1358
Using client cert: /C=US/ST=California/L=San Jose/O=Cisco Systems Inc./CN=machine.cisco.com
******************************************
Date : 03/19/2025
Time : 00:18:51
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::processResponseStringFromSG
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 12105
[MCA] Client certificate accepted at protocol level
******************************************
Date : 03/19/2025
Time : 00:18:51
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::processResponseStringFromSG
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 12124
[MCA] Received and successfully parsed Multiple Certificate Authentication request from secure gateway.
******************************************
Date : 03/19/2025
Time : 00:18:51
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::nextClientCert
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 6774
Subject Name: C=US, ST=California, L=San Jose, O=Cisco Systems Inc., CN=client.cisco.com
Issuer Name : C=US, O=IdenTrust, OU=HydrantID Trusted Certificate Service, CN=HydrantID Server CA O1
Store : Microsoft User
******************************************
Date : 03/19/2025
Time : 00:18:51
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::processIfcData
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 4129
[MCA] Second certificate for Multiple Certificate Authentication found - now sending 2nd certificate to secure gateway.
******************************************
Date : 03/19/2025
Time : 00:18:51
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::userResponse
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 1690
Processing user response.
******************************************
Date : 03/19/2025
Time : 00:18:52
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::createMultiCertAuthReplyXML
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 17127
[MCA] Successfully signed Multiple Certificate Authentication data with 2nd certificate
******************************************
Date : 03/19/2025
Time : 00:18:52
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::sendResponse
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 6522
[MCA] Multiple Certificate Authentication response ready to send to secure gateway
******************************************
Date : 03/19/2025
Time : 00:18:52
Type : Information
Source : csc_vpnapi
Description : Message type prompt sent to the user:
Your client certificate will be used for authentication
******************************************
Date : 03/19/2025
Time : 00:18:53
Type : Information
Source : csc_vpnapi
Description : Function: CVpnApiShim::SaveUserPrompt
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\ApiShim\ApiShim.cpp
Line: 3538
User submitted response for host ftdha.cisco.com and tunnel group: RAVPN-MultiCert
******************************************
Date : 03/19/2025
Time : 00:18:53
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::userResponse
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 1690
Processing user response.
******************************************
Date : 03/19/2025
Time : 00:18:53
Type : Information
Source : csc_vpnapi
Description : Function: ConnectMgr::processIfcData
File: C:\temp\build\thehoff\Raccoon_MR40.765445939442\Raccoon_MR4\vpn\Api\ConnectMgr.cpp
Line: 3815
Authentication succeeded
******************************************