简介
本文档介绍在FMC管理的FTD上使用IKEv2和ISE身份验证的远程访问VPN的基本配置。
先决条件
要求
Cisco 建议您了解以下主题:
- 基本VPN、TLS和Internet密钥交换版本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
选项卡下,选择Enrollment Type asManual
,然后粘贴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共享以获得身份证书。
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.根据需要创建Username和Login密码。
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
,
,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从用户PC通过Anyconnect建立SSL连接。
2.如果禁用SSL协议且无法执行上一步骤,请确保PC上的客户端配置文件位于路径ClientProfile.xml
下C:\ProgramData\Cisco\Cisco Anyconnect Secure Mobility Client\Profile
。
3.出现提示后,输入用于身份验证的用户名和密码。
4.身份验证成功后,客户端配置文件会下载到用户的PC上。
5.断开与Anyconnect的连接。
6.下载配置文件后,请使用下拉列表选择客户端配置文件中提及的主机名,以便使用IKEv2/IPsec连接RAVPN-IKEV2
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