简介
本文档提供Firepower威胁防御(FTD)版本6.2.2及更高版本的配置示例,允许远程访问VPN使用传输层安全(TLS)和互联网密钥交换版本2(IKEv2)。 作为客户端,将使用Cisco AnyConnect, 多个平台。
要求
Cisco 建议您了解以下主题:
- 基本VPN、TLS和IKEv2知识
- 基本身份验证、授权和记帐(AAA)和RADIUS知识
- 使用Firepower管理中心的体验
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 思科FTD 6.2.2
- AnyConnect 4.5
配置
1.先决者
要在Firepower管理中心中执行远程访问向导,首先需要执行以下步骤:
- 创建用于服务器身份验证的证书,
- 配置RADIUS或LDAP服务器以进行用户身份验证,
- 为VPN用户创建地址池,
- 上传不同平台的AnyConnect映像。
a)导入SSL证书
配置AnyConnect时,证书是必需的。在SSL和IPSec中仅支持基于RSA的证书。在IPSec中支持椭圆曲线数字签名算法证书(ECDSA),但在使用基于ECDSA的证书时,无法部署新的AnyConnect包或XML配置文件。这意味着您可以将其用于IPSec,但是您必须将AnyConnect软件包和XML配置文件预部署到每个用户,并且XML配置文件中的任何更改都必须手动反映在每个客户端(漏洞:CSCtx42595
影响。 此外,证书应具有Subject Alternative Name extension with DNS name and/或IP address(主题备用名称扩展),以避免Web浏览器出错。
在FTD设备上获取证书的方法有多种,但安全且简单的方法是创建证书签名请求(CSR),对其签名,然后导入为CSR中的公钥颁发的证书。下面是如何实现这一点:
- 转到Objects > Object Management > PKI > Cert Enrollment,点击Add Cert Enrollment:

- 选择Enrollment Type并粘贴证书颁发机构(CA)证书,
- 然后转到第二个选项卡,选择自定义FQDN并填写所有必要的字段,例如:

- 在第三个选项卡上,选择键类型,选择名称和大小。对于RSA,2048字节是最小值。
- 单击“保存”,然后转到“设备” >“证书” > “添加” > “新证书”。然后选择Device,在Cert Enrollment 下选择您刚创建的信任点,单击Add:

- 稍后,在信任点名称旁,点击
图标,然后是,然后将CSR复制到CA并签名。证书应具有与普通HTTPS服务器相同的属性。
- 从CA接收基于64格式的证书后,从磁盘中选择证书,然后单击Import。成功后,您应看到:

b)配置RADIUS服务器
在FTD平台上,无法使用本地用户数据库,因此您需要RADIUS或LDAP服务器进行用户身份验证。要配置RADIUS:
- 转到Objects > Object Management > RADIUS Server Group > Add RADIUS Server Group。
- 填写名称并添加IP地址和共享密钥,单击Save:


c)为VPN用户创建地址池
- 转至Objects > Object Management > Address Pools > Add IPv4 Pools:
- 输入名称和范围,无需掩码:

d)创建XML配置文件
- 从思科站点下载配置文件编辑器并将其打开。
- 转到服务器列表>添加……
- 输入显示名称和FQDN。您应在“服务器列表”中看到:

e)上传AnyConnect映像
- 从思科站点下载包映像。
- 转到Objects > Object Management > VPN > AnyConnect File > Add AnyConnect File。
- 键入名称并从磁盘中选择PKG文件,单击Save:

2.远程访问向导
- 转至Devices > VPN > Remote Access > Add a new configuration。
- 根据您的需要命名配置文件,选择FTD设备:

- 在步骤Connection Profile中,键入Connection Profile Name,选择Authentication Server 和Address Pools,您之前已创建:

- 单击“Edit Group Policy(编辑组策略)” ,在“AnyConnect(AnyConnect)”选项卡上,选择“Client Profile(客户端配置文件)” ,然后单击“Save(保存):

- 在下一页中,选择AnyConnect映像并单击“下一步”:

- 在下一个屏幕上,选择Network Interface and DeviceCertificates:

- 当所有配置都正确时,您可以单击“完成”,然后单击“部署:

- 这会将整个配置以及证书和AnyConnect软件包复制到FTD设备。
连接
要连接到FTD,您需要打开浏览器,在本例中键入指向外部接口的DNS名称或IP地址https://vpn.cisco.com。您 然后,必须使用RADIUS服务器中存储的凭证登录,并按照屏幕上的说明进行操作。 安装AnyConnect后,您需要在AnyConnect窗口中放置同一地址,然后单击Connect。
限制
FTD上当前不支持,但ASA上提供:
- 双AAA身份验证
- 动态访问策略
- 主机扫描
- ISE状态
- RADIUS CoA
- VPN负载均衡器
- 本地身份验证(增强:CSCvf92680
)
- LDAP 属性映射
- AnyConnect定制
- AnyConnect脚本
- AnyConnect本地化
- 每应用VPN
- SCEP代理
- WSA集成
- SAML SSO
- RA和L2L VPN的同步IKEv2动态加密映射
- AnyConnect模块(NAM、HostScan、AMP启用程序等) — DART默认安装
- TACACS、Kerberos(KCD身份验证和RSA SDI)
- 浏览器代理
安全考虑
您需要记住,默认情况下,sysopt connection permit-vpn选项处于禁用状态。这意味着您需要允许流量通过访问控制策略从外部接口上的地址池发出。虽然添加预过滤器或访问控制规则的目的是仅允许VPN流量,但如果明文流量碰巧与规则条件匹配,则错误地允许该规则。
此问题有两种方法。第一,TAC建议的选项是为外部接口启用反欺骗(在ASA上称为单播反向路径转发 — uRPF),第二个选项是启用sysopt connection permit-vpn以完全绕过Snort检测。第一个选项允许正常检查进出VPN用户的流量。
a)启用uRPF
- 为用于远程访问用户的网络创建空路由(在c节中定义)。只需转到Devices > Device Management > Edit > Routing > Static Route > Add route:

- 其次,您需要在终止VPN连接的接口上启用uRPF。您可以在Devices > Device Management > Edit > Interfaces > Edit > Advanced > Security Configuration > Enable Anti Spoofing中找到该IP地址:

连接用户后,路由表中会为该用户安装32位路由。uRFP会丢弃来自池中其他未使用IP地址的明文流量。本页介绍了反欺骗:
设置Firepower威胁防御的安全配置参数
b)启用sysopt connection permit-vpn选项
- 如果您有6.2.3版或更高版本,在向导期间或在Devices > VPN > > Remote Access > VPN Profile > Access Interfaces下,可以选择执行此操作。

- 对于6.2.3之前的版本,请转至“对象”> 对象管理> FlexConfig > “文本对象”> “添加文本对象”。
- 创建文本对象变量,例如:vpnSysVar一个值为“sysopt”的条目
- 转至“对象”>“对象管理”> FlexConfig > FlexConfig Object > > 添加FlexConfig Object。
- 使用CLI“connection permit-vpn”创建FlexConfig对象:
- 在CLI开头将flexconfig对象中的文本对象变量插入为“$vpnSysVar connection permit-vpn”,单击 保存:

- 将FlexConfig对象应用为Append,然后选择部署到Everytime:

- 转到Devices > FlexConfig并编辑现有策略,或使用“New Policy”按钮创建新策略。
- 添加刚创建的FlexConfig,单击“保存”。
- 部署配置以在设备上调配“sysopt connection permit-vpn”命令。
但是,这将消除使用访问控制策略检查来自用户的流量的可能性。您仍然可以使用VPN过滤器或可下载ACL过滤用户流量。
如果发现Snort丢弃来自VPN用户的数据包时出现问题,请联系引用CSCvg91399的TAC
。