简介
本文档介绍在移动设备上实施基于证书的身份验证的示例。
先决条件
本指南中使用的工具和设备包括:
- 思科Firepower威胁防御(FTD)
- Firepower Management Center (FMC)
- Apple iOS设备(iPhone、iPad)
- 证书颁发机构 (CA)
- Cisco Anyconnect客户端软件
要求
Cisco 建议您了解以下主题:
- 基本VPN
- SSL/TLS
- 公共密钥基础设施
- 使用FMC的经验
- OpenSSL
- 思科Anyconnect
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 思科FTD
- 思科FMC
- Microsoft CA服务器
- XCA
- 思科Anyconnect
- Apple ipad
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
在FTD上配置Cisco Anyconnect
本节介绍通过FMC配置Anyconnect的步骤。开始之前,请务必部署所有配置。
网络图
将证书添加到FTD
步骤1:在FMC设备上为FTD创建证书。导航到设备>证书,然后选择添加,如下图所示:
第二步:选择VPN连接所需的FTD。从devices下拉列表中选择FTD设备。单击+图标可添加新的证书注册方法,如下图所示:
第三步:将证书添加到设备。选择在环境中获取证书的首选方法选项。
提示:可用选项包括:自签名证书-本地生成新证书、SCEP -使用简单证书注册协议从CA获取证书、手动-手动安装根和身份证书、PKCS12 -上传包含根、身份和私钥的加密证书捆绑包。
第四步:将证书上传到FTD设备。输入密码(仅限PKCS12)并单击Save,如下图所示:
注意:保存文件后,将立即部署证书。要查看证书详细信息,请选择ID。
配置Cisco Anyconnect
使用远程访问向导通过FMC配置Anyconnect。
步骤1:启动远程访问VPN策略向导以配置Anyconnect。
导航到设备>远程访问,选择添加。
第二步:策略分配。
完成策略分配:
a.命名策略。
b.选择所需的VPN协议。
c.选择要应用配置的目标设备。
第三步:连接配置文件。
a.命名连接配置文件。
b.将身份验证方法设置为“仅客户端证书”。
c.分配IP地址池,如果需要,创建新的组策略。
d.单击下一步。
注意:选择用于输入身份验证会话的用户名的Primary字段。本指南中使用证书的CN。
第四步:AnyConnect.
将Anyconnect映像添加到设备。上传Anyconnect的首选版本并点击下一步。
注意:可以从Software.Cisco.com下载Cisco Anyconnect软件包。
第五步:访问和证书。
将证书应用于接口并在接口级别启用Anyconnect,如此图中所示,然后单击Next。
第六步:摘要.
检查配置。如果全部签出,请单击finish,然后单击deploy。
为移动用户创建证书
创建要添加到连接中使用的移动设备的证书。
步骤1:XCA。
a.打开XCA
b.启动新数据库
第二步:创建企业社会责任。
a.选择证书签名请求(CSR)
b.选择新请求
c.输入包含证书所需所有信息的值
d.生成新密钥
e.完成后,点击确定
注意:本文档使用证书的CN。
第三步:提交企业社会责任。
a.导出CSR
b.向CA提交CSR以获取新证书
注意:使用CSR的PEM格式。
在移动设备上安装
步骤1:将设备证书添加到移动设备。
第二步:与Anyconnect应用共享证书以添加新的证书应用。
注意:手动安装要求用户与应用程序共享证书。这不适用于通过MDM推送的证书。
第三步:输入PKCS12文件的证书密码。
第四步:在Anyconnect上创建新连接。
第五步:导航到新连接;连接>添加VPN连接。
第六步:输入新连接的信息。
Description:为连接命名
服务器地址:IP地址或FQDN FTD
高级:其他配置
步骤 7.选择Advanced。
步骤 8选择证书,然后选择新添加的证书。
步骤 9导航回连接并测试。
一旦成功,切换将保持开启状态,详细信息将显示为已连接(connected)状态。
验证
命令show vpn-sessiondb detail Anyconnect显示有关所连接主机的所有信息。
提示:进一步过滤此命令的选项是添加到命令中的“filter”或“sort”关键字。
例如:
Tcoutrie-FTD3# show vpn-sessiondb detail Anyconnect
Username : Cisco_Test Index : 23
Assigned IP : 10.71.1.2 Public IP : 10.118.18.168
Protocol : Anyconnect-Parent SSL-Tunnel DTLS-Tunnel
License : Anyconnect Premium, Anyconnect for Mobile
Encryption : Anyconnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES-GCM-256
Hash : Anyconnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA384
Bytes Tx : 8627 Bytes Rx : 220
Pkts Tx : 4 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : SSL Tunnel Group : SSL
Login Time : 13:03:28 UTC Mon Aug 2 2021
Duration : 0h:01m:49s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 0a7aa95d000170006107ed20
Security Grp : none Tunnel Zone : 0
Anyconnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
Anyconnect-Parent:
Tunnel ID : 23.1
Public IP : 10.118.18.168
Encryption : none Hashing : none
TCP Src Port : 64983 TCP Dst Port : 443
Auth Mode : Certificate
Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes
Client OS : apple-ios
Client OS Ver: 14.6
Client Type : Anyconnect
Client Ver : Cisco Anyconnect VPN Agent for Apple iPad 4.10.01099
Bytes Tx : 6299 Bytes Rx : 220
Pkts Tx : 2 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 23.2
Assigned IP : 10.71.1.2 Public IP : 10.118.18.168
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 64985
TCP Dst Port : 443 Auth Mode : Certificate
Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes
Client OS : Apple iOS
Client Type : SSL VPN Client
Client Ver : Cisco Anyconnect VPN Agent for Apple iPad 4.10.01099
Bytes Tx : 2328 Bytes Rx : 0
Pkts Tx : 2 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
DTLS-Tunnel:
Tunnel ID : 23.3
Assigned IP : 10.71.1.2 Public IP : 10.118.18.168
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-ECDSA-AES256-GCM-SHA384
Encapsulation: DTLSv1.2 UDP Src Port : 51003
UDP Dst Port : 443 Auth Mode : Certificate
Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes
Client OS : Apple iOS
Client Type : DTLS VPN Client
Client Ver : Cisco Anyconnect VPN Agent for Apple iPad 4.10.01099
Bytes Tx : 0 Bytes Rx : 0
Pkts Tx : 0 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
故障排除
调试
解决此问题所需的调试是:
Debug crypto ca 14
Debug webvpn 255
Debug webvpn Anyconnect 255
如果连接是IPSEC而不是SSL:
Debug crypto ikev2 platform 255
Debug crypto ikev2 protocol 255
debug crypto CA 14
来自Anyconnect移动应用的日志:
导航到诊断> VPN调试日志>共享日志。
输入以下信息:
然后导航到发送>共享对象。
此选项提供使用邮件客户端发送日志的选项。