简介
本文档介绍在FMC管理的FTD上使用IKEv2和ISE身份验证的远程访问VPN的基本配置。
先决条件
要求
Cisco 建议您了解以下主题:
- 基本VPN、TLS和互联网密钥交换版本2 (IKEv2)
- 基本身份验证、授权和记帐(AAA)以及RADIUS
- 使用Firepower管理中心(FMC)的经验
使用的组件
本文档中的信息基于以下软件版本:
- 思科Firepower威胁防御(FTD) 7.2.0
- 思科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上,生成证书签名请求(CSR)之前需要证书颁发机构(CA)证书。
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. 选择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通信接口IP Address的RADIUS客户端的名称“Cisco-Radius”。
3. 在Radius Authentication Settings下,添加Shared Secret。
4. 单击Save。
ISE -网络设备
5. 要创建用户,请导航至Network Access > Identities > Network Access Users,然后单击 Add。
6.根据需要创建UsernameandLogin Password。
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以及“用户组”(别名)。
4. 选择主要协议 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.单击+ 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(IKEv2),然后选择必须启用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连接。
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