簡介
本檔案介紹在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
- 思科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. 已生成CSR,可以與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. 選擇FTD與ISE伺服器通訊時使用的Routing 或Specific Interface。
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. 按一下儲存。
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,以及「使用者群組(別名)」。
4. 選擇「主要」通訊協定 IPsec , asclick,如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.按一下+ as shown in the image增加「地址池」RAVPN-Pool。
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> <HostName>RAVPN-IKEV2</HostName> <HostAddress>ftd.cisco.com</HostAddress> <UserGroup>RAVPN-IKEV2</UserGroup> <PrimaryProtocol>IPsec</PrimaryProtocol> </HostEntry> </ServerList> </AnyConnectProfile>
注意:建議在將客戶端配置檔案下載到所有使用者的PC後,在組策略下停用SSL客戶端作為隧道協定。這可以確保使用者只能使用IKEv2/IPsec隧道協定進行連線。
驗證
您可以使用此部分來確認您的配置是否正常工作。
1. 對於第一個連線,使用FQDN/IP透過Anyconnect從使用者PC建立SSL連線。
ClientProfile.xml 2. 如果已停用SSL協定,並且無法執行上一步驟,請確保PC上客戶端配置檔案位於C:\ProgramData\Cisco\Cisco Anyconnect Secure Mobility Client\Profile路徑下(例如,TFTP伺服器或TFTP伺服器)。
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