简介
本文档介绍在思科安全防火墙上使用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.请参阅此文档以对客户端上发现的常见问题进行故障排除。