简介
本文档介绍在安全防火墙上配置无客户端Zero Trust Access远程访问部署的过程。
先决条件
要求
Cisco 建议您了解以下主题:
- 安全防火墙管理中心(FMC)
- ZTNA基础知识
- 基本安全断言标记语言(SAML)知识
使用的组件
本文档中的信息基于以下软件版本:
- 安全防火墙版本7.4.1
- Firepower管理中心(FMC)版本7.4.1
- Duo作为身份提供程序(IdP)
- 作为IdP的Microsoft Entra ID(以前称为Azure AD)
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
零信任访问功能基于零信任网络访问(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和思科遥测代理(CTB)的Web用户界面(UI)。Duo和Microsoft Entra ID这两个不同的IdP分别授予对这些应用的访问权限,如下图所示。
网络图
拓扑图
- 远程用户需要访问托管在Secure Firewall之后的应用程序。
- 每个应用必须在公共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 certificate:用于身份验证的IdP为定义的每个应用或应用组提供证书。必须配置此证书,才能使安全防火墙
能够验证传入SAML断言上的IdP签名(如果这是为应用程序组定义的,则同一证书用于整个应用程序组)
- 应用证书:从远程用户到应用的加密流量需要由安全防火墙解密,因此,必须将每个应用的证书链和私钥添加到安全防火墙。
常规配置
要配置新的零信任应用,请执行以下步骤:
- 导航到策略>访问控制>零信任应用,然后单击添加策略。
- 填写必填字段:
a) General:输入策略的名称和说明。
b)域名:这是添加到DNS中的名称,必须解析为访问应用程序的威胁防御网关接口。
注意:域名用于为应用程序组中的所有专用应用程序生成ACS URL。
c)身份证书:这是代表预身份验证阶段的所有专用应用的通用证书。
注意:此证书必须是通配符或与专用应用的FQDN匹配的主题备用名称(SAN)证书。
d)安全区域:选择用于管理专用应用的外部或/和内部区域。
e)全局端口池:此池中的唯一端口分配给每个专用应用程序。
f)安全控制(可选):选择是否对专用应用进行检查。
在此示例配置中,输入了以下信息:
本例中使用的身份/代理证书是匹配私有应用FQDN的通配符证书:
3. 保存策略。
4. 创建新的应用程序组和/或新的应用程序:
- 应用程序使用SAML身份验证、接口访问、入侵和恶意软件以及文件策略定义专用Web应用程序。
- 通过应用程序组,可以对多个应用程序进行分组,并共享通用设置,如SAML身份验证、接口访问和安全控制设置。
在本示例中,配置两个不同的应用程序组和两个不同的应用程序:一个用于要由Duo进行身份验证的应用程序(测试FMC Web UI),另一个用于要由Microsoft Entra ID (CTB Web UI)进行身份验证的应用程序。
配置应用组
应用组1:使用Duo作为IdP
a.输入应用程序组名称,然后单击下一步以显示要显示的SAML服务提供程序(SP)元数据。
b.显示SAML SP元数据后,转到IdP并配置新的SAML SSO应用程序。
c.登录到Duo并导航到应用程序>保护应用程序。
d.查找通用SAML服务提供商并单击保护。
e.从IdP下载证书和SAML元数据,因为在Secure Firewall上继续配置需要这样做。
f.输入ZTNA应用程序组(在步骤a中生成)的实体ID和断言消费者服务(ACS) URL。
g.根据您的特定要求编辑应用程序,仅允许预定用户访问应用程序,然后单击Save。
h.使用从IdP下载的文件,导航回FMC并将SAML IdP元数据添加到应用程序组。
i.单击下一步,并根据您的要求配置重新身份验证间隔和安全控制。查看摘要配置,然后单击Finish。
应用程序组2:使用Microsoft Entra ID (Azure AD)作为IdP
a.输入应用程序组名称,然后单击下一步以显示要显示的SAML服务提供程序(SP)元数据。
b.显示SAML SP元数据后,转到IdP并配置新的SAML SSO应用程序。
c.登录到Microsoft Azure,然后导航到企业应用>新应用。
d.单击创建自己的应用程序>输入应用程序的名称>创建
e.打开应用程序并单击Assign users and groups,以定义允许访问应用程序的用户和/或组。
f.点击添加用户/组>选择所需的用户/组>分配。分配正确的用户/组后,单击Single sign-on。
g.在单一登录部分中,单击SAML。
h.点击上传元数据文件,并选择从服务提供商(安全防火墙)下载的XML文件,或从ZTNA应用程序组(在步骤a中生成)手动输入实体ID和断言消费者服务(ACS) URL。
注意:请确保也下载联合元数据XML或单独下载证书(基本64)并从IdP复制SAML元数据(登录和注销URL和Microsoft Entra标识符),因为这些是继续安全防火墙上的配置所必需的。
i.使用从FMC下载的元数据文件或手动输入所需数据,导航回FMC并将SAML IdP元数据导入到应用组2。
j.单击下一步,并根据要求配置重新身份验证间隔和安全控制。查看摘要配置,然后单击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后,将继承此应用程序的其余设置。您仍然可以使用不同的设置覆盖安全区域和安全控制。
查看已配置的应用程序,然后单击完成。
应用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. 向用户发送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. 向用户发送MFA推送(这取决于IdP上配置的MFA方法)。
4. 用户成功通过身份验证并获得IdP授权后,即被授予对ZTNA策略(CTB Web UI)中定义的应用的远程访问权限。
监控
您可以通过FMC概述>控制面板>Zero信任监控应用和用户。
要调查连接事件,请导航到分析>连接>事件。
此外,在FTD CLI中可使用show和clear命令来查看零信任配置并显示统计信息和会话信息。
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>
故障排除
已向FMC添加诊断工具,用于解决ZTNA相关问题。
- 诊断功能旨在通过显示零信任访问配置中存在的问题来简化用户的故障排除过程
- 诊断提供整体分析(无论是否正常),并收集可以分析以解决问题的详细日志
特定应用诊断用于检测:
- DNS相关问题
- 配置错误,例如套接字未打开、分类规则、NAT规则
- 零信任访问策略中的问题
- 接口相关问题,例如,接口未配置或接口关闭
要检测的常规诊断:
- 如果未启用强密码许可证
- 如果应用证书无效
- 如果身份验证方法未初始化为默认隧道组中的SAML
- HA和集群批量同步问题
- 从snort计数器获得洞察力,以诊断问题,例如与令牌或解密相关的问题
- 源转换中的PAT池耗尽问题。
要运行诊断程序,请执行以下操作:
1. 导航到每个ZTNA应用程序所对应的诊断图标。
2. 选择设备并单击Run。
3. 查看报表中的结果。
如果您需要与思科技术支持中心(TAC)合作进行故障排除,请收集下一个debug和show命令的输出:
- show counters protocol zero-trust
- debug zero-trust 255
- debug webvpn request 255
- debug webvpn response 255
- debug webvpn saml 255
相关信息