简介
本文档介绍在思科安全防火墙上使用SAML身份验证动态分配组策略的过程。
先决条件
要求
Cisco 建议您了解以下主题:
- 基本远程访问VPN、SSL和证书知识
- 基本SAML知识
- 使用Firepower管理中心的经验
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 思科安全防火墙v7.2.0
- 思科安全防火墙管理中心(FMC)v7.2.0
- 思科安全客户端5.0.04032
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
在本文档中,Okta用作身份提供程序(IdP)。但是,必须注意,可以使用允许自定义在SAML断言中发送的属性的任何IdP。
可以配置SAML IdP以发送除身份验证断言以外的断言属性。ASA/FTD中的SAML服务提供商组件解释从IdP收到的SAML断言,并根据这些断言进行策略选择。
配置
网络图
实验室拓扑结构
注:此设置仅在用户属于一个组且仅属于一个组时有效,但用户属于多个组时无效。
配置
Okta - SAML配置部件编#1
1.导航至 Applications > Applications 并点击 Browse App Catalog.搜索Cisco 在目录搜索栏中选择 Cisco ASA VPN SAML,然后单击 Add Integration.
Okta添加应用
Okta ASA SAML应用
Okta应用程序添加按钮
2.填写 Application Label 如果 General Settings 并点击 Done.
Okta常规设置
3.在 Sign On,查找 Metadata URL,复制它,并在新选项卡中将其打开。此 Metadata XML 文件如下图所示:
Okta登录页
元数据XML
4.下载 SAML SIgning Certificate,从同一 Sign On 部分。在FMC中配置SSO需要此配置。
5.接下来,在FMC上配置SSO服务器。假设已为FTD配置并注册SSL证书(此处信任点名称为 RAVPN-SSL影响。
FMC - SAML配置
1.在FMC中,导航至 Devices > Certificates 并点击 Add.
FMC设备导航
2.选择适当的设备并点击“证书注册”旁边的+。为证书注册指定一个名称。低于 CA Information,选择要使用的注册类型 Manual. 查看 CA Only 复选框和 CA Certificate 部分粘贴您之前从Okta SAML页面收到的证书的内容。完成后,单击 Save.
FMC证书注册
fmc证书注册详细信息
注意:选中选项 Skip Check for CA flag in basic constraints of the CA certificate,因为IdP提供的证书通常是自签名的。
3.单击 Add 才能注册证书。
fmc add cert enrollment
4.导航至 Objects > Object Management > AAA Server > Single Sign-on Server 并点击 Add Single Sign-on Server.从元数据XML(实体ID和SSO URL)中填写必要的信息,基本URL是 common name (CN) FTD SSL证书的SSL证书。IdP证书是 OktaSSO ,服务提供商证书是 SSL certificate 对于FTD,即 RAVPN-SSL 在本例中。保留其他所有项为默认值。完成后,单击 Save.
FMC对象导航
FMC SSO配置
5.此SSO服务器用作远程访问配置文件中的身份验证。导航至 Devices > Remote Access > Edit 并编辑关注的连接配置文件。在AAA部分下,使用之前创建的SSO服务器作为身份验证方法。完成后,单击 Save.请记得单击 Save 在右上角。
FMC设备RA导航
FMC连接配置文件设置
6.接下来,创建名为 Admins, Finance和Sales。
7.本集团的政策(续) DfltGrpPolicy 具有 Simultaneous Login Per User。值设置为0,因此任何用户都不会使用它。
FMC DfltGrpPolicy设置
8.导航至 Advanced Section > Group Policies 并点击 +.点击 + 以创建新的组策略。
9.该图显示了一个组示例 Admins. 输入名称 Admins 此组具有 Welcome Admins! 作为横幅值。此组还配置了拆分隧道 Tunnel networks specified below 可以访问这两者 Finance 和 Sales 组服务器。将其余选项保留为默认值。完成后,单击 Save.
FMC RAVPN高级GP
“GP添加”对话框
Admin GP对话框
管理GP ACL
Admin GP ACL对话框
9.同样,创建其余两个组 Finance 和 Sales.在本实验中,它们都配置有标语值 Welcome Finance Team! 和 Welcome Sales Team! 的报价。它们还配置有切分隧道,例如 Admins 组仅访问其服务器,即 Finance 组只能访问 FinanceServer 和 Sales 组只能访问 SalesServer.
10.创建后,添加所有项,然后单击 OK.
添加所有GP
11.确保单击 Save 并部署更改。
12. FTD/FMC上的所需配置已完成。Okta上的其余SAML配置在下一节中配置。
Okta - SAML配置部件编#2
1.导航至 Applications > Applications 并点击 Application > Sign on Section > Edit.
2.在中配置的自定义组属性 Okta - SAML Config Part #1 即 cisco_group_policy必须在SAML断言中发送。 点击左侧的下拉箭头 Attributes (Optional) 和 Group Attributes Statements (Optional),请使用 group 作为 Name 和 cisco_group_policy 作为 Filter 与regex ^((?!Everyone).*) 如所示.
Okta登录设置
Okta应用属性
注:Regex过滤器 ^((?!Everyone).*),提供分配给用户的组(本实验中每个用户只能有一个),但 Everyone,并将其作为值 cisco_group_policy 在SAML断言中。
4.单击 Preview SAML 以便查看断言的样子。
5.不足 Advanced Settings 填写字段中的值,以完成Okta上的SAML配置。完成后,单击 Save.
实体ID: https://
/saml/sp/metadata/
断言使用者URL: https://
/+CSCOE+/saml/sp/acs?tgname=
单一注销服务URL: https://
/+CSCOE+/saml/sp/logout
Okta SSO设置
Okta — 用户和组
1.从配置组开始,根据网络图创建三个组, Admins, Finance,和 Sales.
2.登录到Okta Admin Dashboard。导航至 Directory > Groups.
Okta目录组nav
3.单击 Add group.
Okta添加组
4.填写组名和可选说明。显示的配置为 Admins group.完成后,单击 Save.
Okta管理组
5.重复相同步骤,添加 Finance 和 Sales 组。
6.接下来,导航至 Directory > Profile Editor > Groups 如所示.点击 Okta group.
Okta组属性
7.单击 Add Attribute,并填写所示的值。
Okta添加属性
Okta组属性对话框
注:字段的值 Variable name 必须严格地 cisco_group_policy.
8.完成后,单击 Save.
9.导航至 Directory > Groups中,单击之前创建的三个组中的任何一个。该图显示了 Sales组.
Okta组列表
10.在 Profile 部分,可以看到在步骤7中创建的属性。点击 Edit 并使用要分配该组的组策略名称填写该值。配置值 Sales 为了保持简单。完成后,单击 Save.
Okta销售组
11.对组重复相同步骤 Admins 和 Finance.配置值 cisco_group_policy 到 Admins 和 Finance 的报价。
注意: cisco_group_policy 必须与之前配置的组策略名称完全相同。
12.接下来,创建一些用户,并将他们分配到前几个步骤中创建的组。导航至 Directory > People 并点击 Add Person.
13.创建三个用户来测试实验室, FinanceUser, SalesUser,和 AdminUser 属于 Finance, Sales,和 Admins 组。该图显示了示例 FinanceUser 组。
Okta添加人员
Okta财务用户
14.对其余两个用户重复相同步骤; AdminUser 和 SalesUser.
15.最后一步是将创建的组添加到SAML应用程序。导航至 Applications > Applications > Edit > Assignments.点击 Assign > Assign to Groups.分配到之前创建的三个组,然后单击 Done.
Okta将用户分配到组
Okta组分配
验证
财务用户
横幅
财务团队横幅
安全路由
融资的安全途径
服务器可达性
ICMP到目的地
FTD上的会话
firepower# sh vpn-sessiondb anyconnect filter name FinanceUser@xxxxxxx
Username : FinanceUser@xxxxxxx Index : 14
Assigned IP : 10.72.1.1 Public IP : 10.106.68.246
--------- OUTPUT OMMITTED ---------
Group Policy : Finance Tunnel Group : RAVPN
Duration : 0h:03m:26s
销售用户
横幅
销售团队横幅
安全路由
销售团队安全路由
服务器可达性
ICMP到目的地
FTD上的会话
firepower# sh vpn-sessiondb anyconnect filter name SalesUser@xxxxxxx
Username : SalesUser@xxxxxxx Index : 15
Assigned IP : 10.72.1.1 Public IP : 10.106.68.246
--------- OUTPUT OMMITTED ---------
Group Policy : Sales Tunnel Group : RAVPN
Duration : 0h:02m:57s
管理员用户
横幅
管理员团队横幅
安全路由
管理员安全路由
服务器可达性
ICMP到目的地
FTD上的会话
firepower# sh vpn-sessiondb anyconnect filter name AdminUser@xxxxxxx
Username : AdminUser@xxxxxxx Index : 16
Assigned IP : 10.72.1.1 Public IP : 10.106.68.246
--------- OUTPUT OMMITTED ---------
Group Policy : Admins Tunnel Group : RAVPN
Duration : 0h:03m:05s
故障排除
1.确保在FTD和Okta上同步时间。使用检查相同 show clock 在FTD CLI上。
firepower# sh clock
05:14:52.494 UTC Mon Sep 4 2023
2.应用SAML调试,以确认SAML断言是否成功。
firepower# debug webvpn saml 255
------------ OUTPUT OMMITTED ------------
Sep 04 05:20:42
[SAML] consume_assertion:
http://www[.]okta[.]com/XXXXXXXXXXXXXX FinanceUser@xxxxxxx
[saml] webvpn_login_primary_username: SAML assertion validation succeeded
------------ OUTPUT OMMITTED ------------
3.请参阅此文档以对客户端上发现的常见问题进行故障排除。