简介
本文档介绍在安全防火墙上配置无客户端零信任访问远程访问部署的流程。
先决条件
要求
Cisco 建议您了解以下主题:
- Firepower Management Center (FMC)
- 基本ZTNA知识
- 基本安全断言标记语言(SAML)知识
使用的组件
本文档中的信息基于以下软件版本:
- 安全防火墙版本7.4.1
- Firepower管理中心(FMC)版本7.4.1
- Duo作为身份提供程序(IdP)
- Microsoft Entra ID(以前称为Azure AD)作为IdP
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
零信任访问功能基于零信任网络访问(ZTNA)原则。ZTNA是一种消除隐式信任的零信任安全模型。该模型在验证用户、请求上下文以及分析访问被授予的风险后授予最小权限访问权限。
ZTNA的当前要求和限制如下:
- 受FMC版本7.4.0+(Firepower 4200系列)管理的安全防火墙版本7.4.0+支持
- 受FMC版本7.4.1+管理的安全防火墙版本7.4.1+支持(所有其他平台)
-
仅支持Web应用(HTTPS)。不支持需要解密豁免的场景
-
仅支持SAML IdP
-
远程访问需要公共DNS更新
-
不支持IPv6。不支持NAT66、NAT64和NAT46场景
-
只有在启用Snort 3后,此功能才可用于威胁防御
-
受保护的Web应用程序中的所有超链接必须具有相对路径
-
在虚拟主机上运行或在内部负载平衡器后面运行的受保护的Web应用程序必须使用相同的外部和内部URL
-
在个别模式集群上不受支持
-
启用了严格HTTP主机报头验证的应用程序不支持
-
如果应用服务器托管多个应用并根据TLS客户端Hello中的服务器名称指示(SNI)信头提供内容,则零信任应用配置的外部URL必须与特定应用的SNI匹配
- 仅在路由模式下支持
- 需要智能许可证(不在评估模式下运行)
有关安全防火墙中的零信任访问的详细信息和详细信息,请参阅Cisco安全防火墙管理中心设备配置指南7.4。
配置
本文档重点介绍ZTNA的远程访问部署。
在此示例场景中,远程用户需要访问测试FMC的Web用户界面(UI)和思科遥测代理(CTB),它们托管在安全防火墙之后。访问这些应用程序时,会分别通过两个不同的IdP授予:Duo和Microsoft Entra ID,如下图所示。
网络图
拓扑图
- 远程用户需要访问托管在安全防火墙之后的应用。
- 每个应用程序在公共DNS服务器中必须有一个DNS条目。
- 这些应用程序名称必须解析为Secure Firewall Outside接口的IP地址。
- 安全防火墙解析为应用的实际IP地址,并使用SAML身份验证对每个应用验证每个用户。
前提条件配置
身份提供程序(IdP)和域名服务器(DNS)
- 必须在SAML身份提供程序(IdP)中配置应用程序或应用程序组,例如Duo、Okta或Azure AD。在本示例中,Duo和Microsoft Entra ID用作IdP。
- 在安全防火墙上配置应用时,使用IdP生成的证书和元数据
内部和外部DNS服务器
- 外部DNS服务器(供远程用户使用)必须具有应用程序的FQDN条目,并解析到安全防火墙外部接口IP地址
- 内部DNS服务器(由安全防火墙使用)必须具有应用程序的FQDN条目,并解析为应用程序的实际IP地址
证书
ZTNA策略配置需要以下证书:
- 身份/代理证书:由安全防火墙用于伪装应用。此处的安全防火墙充当SAML服务提供商(SP)。此证书必须是通配符或使用者可选名称(SAN)证书,该证书与专用应用的FQDN匹配(在预身份验证阶段代表所有专用应用的通用证书)
- IdP证书:用于身份验证的IdP为定义的每个应用或应用组提供证书。必须配置此证书,以便安全防火墙
能够验证传入SAML断言上的IdP签名(如果这是针对应用组定义的,则同一证书用于整个应用组)
- 应用证书:从远程用户到应用的加密流量需要由安全防火墙解密,因此,每个应用的证书链和私钥必须添加到安全防火墙。
常规配置
要配置新的零信任应用,请执行以下步骤:
- 导航到Policies > Access Control > Zero Trust Application,然后单击Add Policy。
- 填写必填字段:
a)General:输入策略的名称和说明。
b)域名:这是添加到DNS的域名,必须解析到访问应用的威胁防御网关接口。
注:域名用于为应用组中的所有专用应用生成ACS URL。
c)身份证书:这是代表预身份验证阶段的所有专用应用的通用证书。
注意:此证书必须是通配符或与专用应用的FQDN匹配的主题备用名称(SAN)证书。
d)安全区域:选择用于管理专用应用的外部或/和内部区域。
e)全局端口池:此池中的唯一端口分配给每个专用应用。
f)安全控制(可选):选择是否对私有应用进行检查。
在此示例配置中,输入了以下信息:
本例中使用的身份/代理证书是通配符证书,用于匹配专用应用的FQDN:
3.保存策略。
4.创建新应用组和/或新应用:
- 应用定义具有SAML身份验证、接口访问、入侵和恶意软件以及文件策略的专用Web应用。
- Application Group允许您对多个应用进行分组,并共享通用设置,例如SAML身份验证、接口访问和安全控制设置。
在本示例中,配置两个不同的应用程序组和两个不同的应用程序:一个用于要由Duo进行身份验证的应用程序(测试FMC Web UI),另一个用于要由Microsoft Entra ID(CTB Web UI)进行身份验证的应用程序。
配置应用组
应用组1:使用Duo作为IdP
a.输入Application Group Name,然后单击Next以显示SAML Service Provider(SP)元数据。
b.显示SAML SP元数据后,请转到IdP并配置新的SAML SSO应用程序。
c.登录到Duo,然后导航到Applications > Protect an an Application。
d.查找通用SAML服务提供商,然后单击保护。
e.从IdP下载证书和SAML元数据,因为继续安全防火墙上的配置需要该元数据。
f.从ZTNA应用组(在步骤a中生成)输入Entity ID和Assertion Consumer Service(ACS)。
g.根据您的特定要求编辑应用程序,只允许预期用户访问应用程序,然后单击Save。
h.使用从IdP下载的文件,导航回FMC并将SAML IdP元数据添加到应用程序组。
i.单击Next并根据要求配置Re-Authentication Interval和Security Controls。查看摘要配置,然后单击Finish。
应用组2:使用Microsoft Entra ID(Azure AD)作为IdP
a.输入Application Group Name,然后单击Next以显示SAML Service Provider(SP)元数据。
b.显示SAML SP元数据后,请转到IdP并配置新的SAML SSO应用程序。
c.登录到Microsoft Azure,然后导航到企业应用程序>新建应用程序。
d.单击创建自己的应用程序>输入应用程序名称>创建
e.打开应用程序,然后单击分配用户和组,定义允许访问应用程序的用户和/或组。
f.单击Add user/group > Select the necessary users/groups > Assign。分配正确的用户/组后,单击单点登录。
g.在单点登录部分中,单击SAML。
h.单击Upload metadata file,然后选择从服务提供商(安全防火墙)下载的XML文件,或手动输入Entity ID和Assertion Consumer Service(ACS)URL,该地址来自ZTNA应用组(在步骤a中生成)。
注意:请确保也下载联合元数据XML或单独下载证书(以64为基数)并从IdP(登录和注销URL和Microsoft Entra标识符)复制SAML元数据,因为这些是继续安全防火墙上的配置所必需的。
i.使用从IdP下载的元数据文件或手动输入所需数据,导航回FMC并将SAML IdP元数据导入到应用组2。
j.单击Next并根据要求配置Re-Authentication Interval和Security Controls。查看摘要配置,然后单击Finish。
配置应用
创建应用程序组后,单击Add Application以定义要保护和远程访问的应用程序。
- 输入应用设置:
a)应用程序名称:已配置应用的标识符。
b)外部URL:公共/外部DNS记录中应用的已发布URL。这是用户用于远程访问应用程序的URL。
c)应用程序URL:应用的实际FQDN或网络IP。这是Secure Firewall用于访问应用程序的URL。
注:默认情况下,外部URL用作应用URL。取消选中此复选框可指定其他应用URL。
d)应用证书:要访问的应用的证书链和私钥(从FMC主页>对象>对象管理> PKI >内部证书添加的)
e)IPv4 NAT源(可选):在将数据包转发到应用之前,会将远程用户的源IP地址转换为所选地址(仅支持具有IPv4地址的主机和范围类型网络对象/对象组)。可以对此进行配置,以确保应用程序具有通过安全防火墙返回远程用户的路由
f)应用程序组(可选):选择是否将此应用程序添加到现有应用程序组,以使用为其配置的设置。
在本示例中,要使用ZTNA访问的应用程序是测试FMC Web UI和位于安全防火墙后面的CTB的Web UI。
应用的证书必须添加到对象>对象管理> PKI >内部证书:
注意:确保为每个要通过ZTNA访问的应用程序添加所有证书。
将证书添加为内部证书后,继续配置其余设置。
本示例中配置的应用设置如下:
应用1:测试FMC Web UI(应用组1的成员)
应用程序添加到应用程序组1后,将继承此应用程序的其余设置。您仍然可以使用不同的设置覆盖安全区域和安全控制。
查看已配置的应用程序,然后单击Finish。
应用2:CTB Web UI(应用组2的成员)
此应用程序的配置摘要是下一个:
注意:请注意,对于此应用程序,网络对象“ZTNA_NAT_CTB”配置为IPv4 NAT源。使用此配置时,在将数据包转发到应用程序之前,会将远程用户的源IP地址转换为已配置对象中的IP地址。
配置此路由是因为应用(CTB)默认路由指向除安全防火墙之外的网关,因此返回流量未发送到远程用户。使用此NAT配置,已在应用上配置静态路由,使子网ZTNA_NAT_CTB可通过安全防火墙访问。
配置应用后,它们现在显示在相应的应用组下。
最后,保存更改并部署配置。
验证
配置到位后,远程用户可以通过外部URL访问应用,并且如果相应IdP允许他们访问。
应用 1
1.用户打开Web浏览器并导航至应用程序1的外部URL。在本例中,外部URL为“https://ao-fmc-ztna.cisco.local/”
注意:外部URL名称必须解析为已配置的安全防火墙接口的IP地址。在本示例中,它解析为外部接口IP地址(192.0.2.254)
2.由于这是新访问,因此用户被重定向到为应用程序配置的IdP登录门户。
3.向用户发送Push for MFA(这取决于IdP上配置的MFA方法)。
4.用户成功通过身份验证并获得IdP授权后,即被授予对ZTNA策略(测试FMC Web UI)中定义的应用的远程访问权限。
应用 2
1.访问第二个应用程序(CTB Web UI)时执行相同的步骤,但身份验证由Microsoft Entra ID完成。
用户打开Web浏览器并导航到应用2的外部URL。在本例中,外部URL为“https://ao-ctb.cisco.local/ ”
注意:外部URL名称必须解析为已配置的安全防火墙接口的IP地址。在本示例中,它解析为外部接口IP地址(192.0.2.254)
2.由于这是新访问,因此用户被重定向到为应用程序配置的IdP登录门户。
3.向用户发送Push for MFA(这取决于IdP上配置的MFA方法)。
4.用户成功通过身份验证并获得IdP授权后,即被授予对ZTNA策略(CTB Web UI)中定义的应用的远程访问权限。
监控
您可以通过FMC概述>控制面板>零信任监控应用和用户。
要调查连接事件,请导航到分析>连接>事件。
故障排除
已向FMC添加诊断工具,以对ZTNA相关问题进行故障排除。
- 诊断功能旨在通过显示“零信任访问”配置中的哪一点存在问题来简化用户的故障排除过程
- 诊断提供整体分析(是否正常)并收集可分析解决问题的详细日志
特定应用诊断用于检测:
- DNS相关问题
- 配置错误,例如,套接字未打开、分类规则、NAT规则
- 零信任访问策略中的问题
- 接口相关问题,例如,接口未配置或接口关闭
要检测的通用诊断:
- 如果未启用强密码许可证
- 如果应用证书无效
- 如果身份验证方法未初始化为默认隧道组中的SAML
- HA和集群批量同步问题
- 从Snort计数器获取见解,以诊断问题,例如与令牌或解密相关的问题
- 源转换中的PAT池耗尽问题。
要运行诊断程序,请执行以下操作:
1.导航到每个ZTNA应用所显示的诊断图标。
2.选择设备并单击Run。
3.查看报表中的结果。
Show和clear命令在FTD CLI中可用,用于查看零信任配置并显示统计信息和会话信息。
firepower# show running-config zero-trust
application Show application configuration information
application-group Show application group configuration
| Output modifiers
<cr>
firepower# show zero-trust
sessions Show zero-trust sessions
statistics Show zero-trust statistics
firepower# show zero-trust sessions
application show zero-trust sessions for application
application-group show zero-trust sessions for application group
count show zero-trust sessions count
user show zero-trust sessions for user
detail show detailed info for the session
| Output modifiers
<cr>
firepower# clear zero-trust
sessions Clear all zero-trust sessions
statistics Clear all zero-trust statistics
firepower# clear zero-trust sessions
application Clear zero-trust sessions for application
user Clear zero-trust sessions for user
<cr>
要启用零信任和webvpn模块调试,请在Lina提示符下使用以下命令:
- firepower# debug zero-trust 255
- firepower# debug webvpn request 255
- firepower# debug webvpn response 255
- firepower# debug webvpn saml 255
相关信息
- 如需其他帮助,请联系技术支持中心(TAC)。需要有效的支持合同:思科全球支持联系人。
- 您还可以在此处访问Cisco VPN社区。