簡介
本文檔介紹在思科安全防火牆上使用SAML身份驗證動態分配組策略的過程。
必要條件
需求
思科建議您瞭解以下主題:
- 基本遠端訪問VPN、SSL和證書知識
- 基本SAML知識
- 使用Firepower管理中心的經驗
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- 思科安全防火牆7.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.選擇適當的裝置,然後按一下「Cert Enrollment(證書註冊)」旁邊的+。為證書註冊指定一個名稱。在 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憑證的相關資訊。IdP證書是 OktaSSO
,而Service Provider證書是 SSL certificate
對於FTD,即 RAVPN-SSL
在這個案例中。將其他所有內容保留為預設值。完成後,按一下 Save
.
FMC對象導航
FMC SSO配置
5.此SSO伺服器用作遠端訪問配置檔案中的身份驗證。導航至 Devices > Remote Access > Edit
並編輯Connection Profile of Concern。在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!
作為標語值。此組還將Split Tunneling配置為 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
符合正規表示式 ^((?!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.請參閱本檔案,以排解在使用者端找到的常見問題。