簡介
本文檔介紹在FMC管理的FTD上使用IKEv2和ISE身份驗證的遠端訪問VPN的基本配置。
必要條件
需求
思科建議您瞭解以下主題:
- 基本VPN、TLS和Internet金鑰交換版本2(IKEv2)
- 基本驗證、授權及記帳(AAA)和RADIUS
- 使用Firepower管理中心(FMC)的經驗
採用元件
本檔案中的資訊是根據以下軟體版本:
- Cisco Firepower威脅防禦(FTD)7.2.0
- Cisco FMC 7.2.0
- AnyConnect 4.10.07073
- Cisco ISE 3.1
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
IKEv2和安全套接字層(SSL)都是用於建立安全連線的協定,尤其是在VPN環境中。IKEv2提供強大的加密和身份驗證方法,為VPN連線提供高級別的安全性。
本檔案將提供FTD 7.2.0及更新版本的組態範例,其中允許遠端存取VPN使用傳輸層安全(TLS)和IKEv2。作為客戶端,可以使用Cisco AnyConnect,它受多個平台支援。
設定
1.匯入SSL證書
配置AnyConnect時,證書是必需的。
手動證書註冊存在限制:
1.在FTD上,需要先取得憑證授權單位(CA)憑證,才能產生憑證簽署請求(CSR)。
2.如果是在外部生成CSR,則使用PKCS12的其他方法。
在FTD裝置上獲取憑證的方法有多種,但安全且簡單的辦法是建立CSR並由CA簽署。以下是操作方法:
1.定位至Objects > Object Management > PKI > Cert Enrollment
,然後按一下Add Cert Enrollment
。
2.輸入信任點名稱RAVPN-SSL-cert
。
3.在「CA Information
」選項卡下,選擇「註冊型別」Manual
,然後貼上CA證書,如下圖所示。
FMC - CA憑證
4.在Certificate Parameters
下,輸入主題名稱。舉例來說:
FMC — 憑證引數
5.在Key
頁籤下,選擇金鑰型別,並提供名稱和位大小。對於RSA,最小值為2048位。
6.按一下Save
。
FMC — 憑證金鑰
7.定位至Devices > Certificates > Add > New Certificate
。
8.選擇Device
。在Cert Enrollment
下,選擇建立的信任點,然後按一下Add
如下圖所示。
FMC — 註冊到FTD的憑證
9.按一下ID
,然後選擇「顯示CSR生成提示」Yes
。
FMC — 已註冊證書CA
FMC — 產生CSR
10.產生可與CA共用以取得身分憑證的CSR。
11.從CA收到base64格式的身份證書後,通過按一下Browse Identity Certificate
Import
和從磁碟中選擇該身份證書,如下圖所示。
FMC — 匯入身份證書
12.匯入成功後,信任點RAVPN-SSL-cert
將視為:
FMC — 信任點註冊成功
2.配置RADIUS伺服器
2.1.在FMC上管理FTD
1.導航至Objects > Object Management > RADIUS Server Group > Add RADIUS Server Group
。
2.輸入名稱ISE
,然後按一下「新增RADIUS伺服器」+
。
FMC - Radius伺服器配置
3.提及ISE Radius伺服器的IP地址以及與ISE伺服器上的共用金鑰(金鑰)。
4.選擇Routing
或Specific Interface
,FTD通過它與ISE伺服器通訊。
5.按一下Save
如下圖所示。
FMC - ISE伺服器
6.儲存後,伺服器會新增到RADIUS Server Group
下,如下圖所示。
FMC - RADIUS伺服器群組
2.2.在ISE上管理FTD
1.定位至Network Devices
,然後單擊Add
。
2.輸入伺服器和FTD通訊介面radius用IP Address
戶端的名稱「Cisco-Radius」。
3.在Radius Authentication Settings
下,新增Shared Secret
。
4.按一下Save
。
ISE — 網路裝置
5.要建立使用者,請導航至Network Access > Identities > Network Access Users
,然後按一下 Add
。
6.根據需要創建UsernameandLogin密碼。
ISE — 使用者
7.要設定基本策略,請導航至Policy > Policy Sets > Default > Authentication Policy > Default
,選擇All_User_ID_Stores
。
8.導覽至Policy > Policy Sets > Default > Authorization Policy > Basic_Authenticated_Access,
並選擇,如PermitAccess
圖所示。
ISE — 身份驗證策略
ISE — 授權策略
3.為FMC上的VPN使用者建立地址池
1.定位至Objects > Object Management > Address Pools > Add IPv4 Pools
。
2.輸入名稱RAVPN-Pool
和地址範圍,掩碼是可選的。
3.按一下Save。
FMC — 地址池
4.上傳AnyConnect映像
1.定位至Objects > Object Management > VPN > AnyConnect File > Add AnyConnect File
。
2.輸入名稱anyconnect-win-4.10.07073-webdeploy
,然後按一下Browse
要從磁碟中選擇Anyconnect檔案,按一下Save
如下圖所示。
FMC - Anyconnect客戶端映像
5.建立XML配置檔案
5.1.在配置檔案編輯器上
1.從下載配置檔案編輯器software.cisco.com
,然後將其開啟。
2.定位至Server List > Add
...
3.輸入顯示名稱RAVPN-IKEV2
FQDN
,並輸入User Group(別名)。
4.選擇「Primary protocol(主要協定)」 IPsec
,
,然後按一下Ok
,如下圖所示。
配置檔案編輯器 — 伺服器清單
5.新增伺服器清單。另存為ClientProfile.xml
。
配置檔案編輯器 — ClientProfile.xml
5.2.在FMC上
1.定位至Objects > Object Management > VPN > AnyConnect File > Add AnyConnect File
。
2.輸入名稱ClientProfile
,然後按一下Browse
以從磁碟中選擇檔案ClientProfile.xml
。
3.按一下Save
。
FMC - Anyconnect VPN配置檔案
6.配置遠端訪問
1.導覽至Devices > VPN > Remote Access
並按一下+
,以便新增連線配置檔案,如下圖所示。
FMC — 遠端訪問連線配置檔案
2.輸入連線配置檔名稱RAVPN-IKEV2
,並通過按一下建立組策略 +
如Group Policy
圖所示。
FMC — 組策略
3.輸入名稱RAVPN-group-policy
,選擇VPN協定SSL and IPsec-IKEv2
,如下圖所示。
FMC - VPN通訊協定
4.在AnyConnect > Profile
下,從下拉選單中選擇XML配置檔案ClientProfile
,然後按一下Save
如下圖所示。
FMC - Anyconnect配置檔案
5.按一下以新增地址池RAVPN-Pool
+
as shown in the image
。
FMC — 使用者端位址分配
6.定位至AAA > Authentication Method
,然後選擇AAA Only
。
7.選擇Authentication Server
ISE (RADIUS)
。
FMC - AAA驗證
8.導航至Aliases
,輸入別名RAVPN-IKEV2
,該別名用作中的使用者組ClientProfile.xml
。
9.按一下Save
。
FMC — 別名
10.導航至Access Interfaces
,然後選擇必須啟用RAVPN IKEv2的介面。
11.選擇SSL和IKEv2的身份證書。
12.按一下Save
。
FMC — 存取介面
13.導航至 Advanced
.
14.按一下+
新增Anyconnect客戶端映像。
FMC - Anyconnect客戶端軟體包
15.在IPsec
下,新增Crypto Maps
,如下圖所示。
FMC — 密碼編譯對應
16.在IPsec
下,按一下IKE Policy
新增+
。
FMC - IKE策略
17.在IPsec
下,新增IPsec/IKEv2 Parameters
。
FMC - IPsec/IKEv2引數
18.在Connection Profile
下,建立新配置文RAVPN-IKEV2
件。
19.Save
如下圖所示。
FMC — 連線配置檔案RAVPN-IKEV2
20.部署配置。
FMC - FTD部署
7. Anyconnect配置檔案配置
PC上的配置檔案,儲存在 C:\ProgramData\Cisco\Cisco Anyconnect Secure Mobility Client\Profile
.
<?xml version="1.0" encoding="UTF-8"?>
<AnyConnectProfile xmlns="http://schemas[dot]xmlsoap<dot>org/encoding/" xmlns:xsi="http://www[dot]w3<dot>org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas[dot]xmlsoap[dot]org/encoding/ AnyConnectProfile.xsd">
<ClientInitialization>
<UseStartBeforeLogon UserControllable="true">false</UseStartBeforeLogon>
<AutomaticCertSelection UserControllable="true">false
</AutomaticCertSelection>
<ShowPreConnectMessage>false</ShowPreConnectMessage>
<CertificateStore>All</CertificateStore>
<CertificateStoreOverride>false</CertificateStoreOverride>
<ProxySettings>Native</ProxySettings>
<AllowLocalProxyConnections>true</AllowLocalProxyConnections>
<AuthenticationTimeout>12</AuthenticationTimeout>
<AutoConnectOnStart UserControllable="true">false</AutoConnectOnStart>
<MinimizeOnConnect UserControllable="true">true</MinimizeOnConnect>
<LocalLanAccess UserControllable="true">false</LocalLanAccess>
<ClearSmartcardPin UserControllable="true">true</ClearSmartcardPin>
<AutoReconnect UserControllable="false">true
<AutoReconnectBehavior UserControllable="false">DisconnectOnSuspend
</AutoReconnectBehavior>
</AutoReconnect>
<AutoUpdate UserControllable="false">true</AutoUpdate>
<RSASecurIDIntegration UserControllable="true">Automatic
</RSASecurIDIntegration>
<WindowsLogonEnforcement>SingleLocalLogon</WindowsLogonEnforcement>
<WindowsVPNEstablishment>LocalUsersOnly</WindowsVPNEstablishment>
<AutomaticVPNPolicy>false</AutomaticVPNPolicy>
<PPPExclusion UserControllable="false">Disable
<PPPExclusionServerIP UserControllable="false"></PPPExclusionServerIP>
</PPPExclusion>
<EnableScripting UserControllable="false">false</EnableScripting>
<EnableAutomaticServerSelection UserControllable="false">false
<AutoServerSelectionImprovement>20</AutoServerSelectionImprovement>
<AutoServerSelectionSuspendTime>4</AutoServerSelectionSuspendTime>
</EnableAutomaticServerSelection>
<RetainVpnOnLogoff>false
</RetainVpnOnLogoff>
</ClientInitialization>
<ServerList>
<HostEntry>
RAVPN-IKEV2
ftd.cisco.com
RAVPN-IKEV2
IPsec
</HostEntry>
</ServerList>
</AnyConnectProfile>
注意:建議在將客戶端配置檔案下載到所有使用者的PC後,在組策略下禁用SSL客戶端作為隧道協定。這可確保使用者可以使用IKEv2/IPsec隧道協定以獨佔方式連線。
驗證
您可以使用本節內容,確認您的組態是否正常運作。
1.對於第一個連線,請使用FQDN/IP來通過Anyconnect從使用者的PC建立SSL連線。
2.如果已禁用SSL協定,且無法執行上一步驟,請確保客戶端配置檔案ClientProfile.xml
存在於PC上的路徑下C:\ProgramData\Cisco\Cisco Anyconnect Secure Mobility Client\Profile
。
3.在出現提示後輸入用於身份驗證的使用者名稱和密碼。
4.身份驗證成功後,客戶端配置檔案會下載到使用者的PC上。
5.斷開與Anyconnect的連線。
6.下載配置檔案後,使用下拉選單選擇客戶端配置檔案中提到的主機名RAVPN-IKEV2
,以便使用IKEv2/IPsec連線到Anyconnect。
7.按一下Connect
。
Anyconnect下拉選單
8.輸入在ISE伺服器上建立的身份驗證的使用者名稱和密碼。
Anyconnect連線
9.驗證連線後使用的配置檔案和協定(IKEv2/IPsec)。
Anyconnect已連線
FTD CLI輸出:
firepower# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect
Username : ikev2-user Index : 9
Assigned IP : 10.1.1.1 Public IP : 10.106.55.22
Protocol : IKEv2 IPsecOverNatT AnyConnect-Parent
License : AnyConnect Premium
Encryption : IKEv2: (1)AES256 IPsecOverNatT: (1)AES-GCM-256 AnyConnect-Parent: (1)none
Hashing : IKEv2: (1)SHA512 IPsecOverNatT: (1)none AnyConnect-Parent: (1)none
Bytes Tx : 450 Bytes Rx : 656
Pkts Tx : 6 Pkts Rx : 8
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : RAVPN-group-policy Tunnel Group : RAVPN-IKEV2
Login Time : 07:14:08 UTC Thu Jan 4 2024
Duration : 0h:00m:08s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 0ac5e205000090006596618c
Security Grp : none Tunnel Zone : 0
IKEv2 Tunnels: 1
IPsecOverNatT Tunnels: 1
AnyConnect-Parent Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 9.1
Public IP : 10.106.55.22
Encryption. : none. Hashing : none
Auth Mode : userPassword
Idle Time out: 30 Minutes Idle TO Left : 29 Minutes
Client OS : win
Client OS Ver: 10.0.15063
Client Type : AnyConnect
Client Ver : 4.10.07073
IKEv2:
Tunnel ID : 9.2
UDP Src Port : 65220 UDP Dst Port : 4500
Rem Auth Mode: userPassword
Loc Auth Mode: rsaCertificate
Encryption : AES256 Hashing : SHA512
Rekey Int (T): 86400 Seconds Rekey Left(T): 86391 Seconds
PRF : SHA512 D/H Group : 19
Filter Name :
Client OS : Windows Client Type : AnyConnect
IPsecOverNatT:
Tunnel ID : 9.3
Local Addr : 0.0.0.0/0.0.0.0/0/0
Remote Addr : 10.1.1.1/255.255.255.255/0/0
Encryption : AES-GCM-256 Hashing : none
Encapsulation: Tunnel
Rekey Int (T): 28800 Seconds Rekey Left(T) : 28791 Seconds
Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes
Bytes Tx : 450 Bytes Rx : 656
Pkts Tx : 6 Pkts Rx : 8
firepower# show crypto ikev2 sa
IKEv2 SAs:
Session-id:6, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote fvrf/ivrf Status Role
16530741 10.197.167.5/4500 10.106.55.22/65220 READY RESPONDER
Encr: AES-CBC, keysize: 256, Hash: SHA512, DH Grp:19, Auth sign: RSA, Auth verify: EAP
Life/Active Time: 86400/17 sec
Child sa: local selector 0.0.0.0/0 - 255.255.255.255/65535
remote selector 10.1.1.1/0 - 10.1.1.1/65535
ESP spi in/out: 0x6f7efd61/0xded2cbc8
firepower# show crypto ipsec sa
interface: Outside
Crypto map tag: CSM_Outside_map_dynamic, seq num: 30000, local addr: 10.197.167.5
Protected vrf:
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (10.1.1.1/255.255.255.255/0/0)
current_peer: 10.106.55.22, username: ikev2-user
dynamic allocated peer ip: 10.1.1.1
dynamic allocated peer ip(ipv6): 0.0.0.0
#pkts encaps: 6, #pkts encrypt: 6, #pkts digest: 6
#pkts decaps: 8, #pkts decrypt: 8, #pkts verify: 8
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts comp failed: 0, #pkts decomp failed: 0
#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0
#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0
#TFC rcvd: 0, #TFC sent: 0
#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0
#send errors: 0, #recv errors: 0
local crypto endpt.: 10.197.167.5/4500, remote crypto endpt.: 10.106.55.22/65220
path mtu 1468, ipsec overhead 62(44), media mtu 1500
PMTU time remaining (sec): 0, DF policy: copy-df
ICMP error validation: disabled, TFC packets: disabled
current outbound spi: DED2CBC8
current inbound spi : 6F7EFD61
inbound esp sas:
spi: 0x6F7EFD61 (1870593377)
SA State: active
transform: esp-aes-gcm-256 esp-null-hmac no compression
in use settings ={RA, Tunnel, NAT-T-Encaps, IKEv2, }
slot: 0, conn_id: 9, crypto-map: CSM_Outside_map_dynamic
sa timing: remaining key lifetime (sec): 28723
IV size: 8 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x000001FF
outbound esp sas:
spi: 0xDED2CBC8 (3738356680)
SA State: active
transform: esp-aes-gcm-256 esp-null-hmac no compression
in use settings ={RA, Tunnel, NAT-T-Encaps, IKEv2, }
slot: 0, conn_id: 9, crypto-map: CSM_Outside_map_dynamic
sa timing: remaining key lifetime (sec): 28723
IV size: 8 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x00000001
ISE日誌:
ISE — 即時日誌
疑難排解
本節提供的資訊可用於對組態進行疑難排解。
debug radius all
debug crypto ikev2 platform 255
debug crypto ikev2 protocol 255
debug crypto ipsec 255