簡介
本文檔介紹使用Azure身份提供程式對思科ASA上的多個隧道組進行SAML身份驗證。
必要條件
需求
思科建議瞭解以下主題:
- Adaptive Security Appliance (ASA)
- 安全斷言標籤語言(SAML)
- 安全通訊端層(SSL)憑證
- Microsoft Azure
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- ASA 9.2(1)1
- 使用SAML 2.0的Microsoft Azure Entra ID
- 思科安全使用者端5.1.7.80
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
Microsoft Azure可以支援同一實體ID的多個應用程式。每個應用程式(對映到不同的隧道組)都需要唯一的證書。在ASA上,由於IdP證書功能,可以將多個隧道組配置為使用不同的覆蓋身份提供程式(IdP)保護的應用程式。此功能允許管理員使用每個隧道組的特定IdP證書覆蓋單點登入(SSO)伺服器對象中的主IdP證書。此功能自9.17.1版本開始在ASA上引入。
SAML SP啟動的SSO
當終端使用者通過訪問ASA啟動登入時,登入行為按以下方式進行:
1.當VPN使用者訪問或選擇啟用SAML的隧道組時,終端使用者將被重定向到SAML IdP進行身份驗證。系統會提示使用者,除非使用者直接訪問group-url,在這種情況下,重定向是靜默的。
2. ASA生成SAML身份驗證請求,瀏覽器將其重定向到SAML IdP。
3. IdP向終端使用者詢問憑據並請求終端使用者登入。輸入的憑據必須滿足IdP身份驗證配置。
4. IdP響應被傳送回瀏覽器並發佈到ASA登入URL。ASA驗證響應以完成登入。
組態
從庫中新增Cisco安全防火牆 — 安全客戶端
在此示例中,為在ASA上配置的兩個隧道組新增了Microsoft Entra SSO與Cisco安全防火牆 — Azure上的安全客戶端的整合:
要配置思科安全防火牆 — 安全客戶端與Microsoft Entra ID的整合,您需要將庫中的思科安全防火牆 — 安全客戶端新增到託管SaaS應用清單中。
附註:以下步驟用於將思科安全防火牆 — 安全客戶端新增到第一個隧道組SAML1的庫中。
步驟1.登入到Azure門戶並選擇Microsoft Entra ID。
Microsoft Entra ID
步驟2.如下圖所示,選擇Enterprise Applications。
企業應用程式
步驟3.現在選擇New Application,如下圖所示。
新應用程式
步驟4.在Add from the gallery部分中,在搜尋框中鍵入Cisco Secure Firewall - Secure Client,從結果面板中選擇Cisco Secure Firewall - Secure Client,然後新增應用。
思科安全防火牆 — 安全使用者端
步驟5.選擇Single Sign-on功能表專案,如下圖所示。
設定單一登入
步驟6.在選擇單點登入方法頁上,選擇SAML。
SAML
步驟7.在使用SAML設定單一登入頁面上,按一下Basic SAML Configuration的編輯/筆圖示以編輯設定。
基本Saml配置
步驟8.在「使用SAML設定單一登入」頁上,輸入以下欄位的值:
a.在Identifiertext框中,使用以下模式鍵入URL:
https://<VPN URL>/saml/sp/metadata/<Tunnel_Group_Name>
b.在回覆URL文本框中,鍵入使用以下模式的URL:
https://<VPN URL>/+CSCOE+/saml/sp/acs?tgname=<Tunnel_Group_Name> [Tunnel_Group_Name = SAML1]
附註:Tunnel_Group_Name區分大小寫,並且值不得包含點「。」 並斜槓「/」。
步驟9.在使用SAML設定單一登入頁面上,在SAML簽名證書部分中查詢證書(Base64)並選擇Download,下載證書檔案並將其儲存在您的電腦上。
Certificate(Base64)Download
注意:此下載的證書已匯入到ASA信任點AzureAD-AC-SAML1。有關詳細資訊,請參閱「ASA配置」部分。
步驟10.在設定Cisco安全防火牆 — 安全客戶端部分,根據您的要求複製適當的URL。這些URL用於在ASA上配置SSO伺服器對象。
- Microsoft Entra Identifier — 這是VPN配置中的SAML idp。
- 登入URL — 這是URL登入。
- 註銷URL — 這是URL註銷。
SSO URL
附註:重複前面的配置步驟,以便為第二個隧道組從庫中新增Cisco Secure Firewall - Secure Client應用。此案例中的第二個隧道組名稱為SAML2。
注意:為第二個隧道組(SAML 2)新增Cisco安全防火牆 — 安全客戶端應用時,將在步驟8中下載的azure證書匯入到ASA信任點AzureAD-AC-SAML2。
將Azure AD使用者分配給應用
在本節中,Test1和Test2被啟用以使用Azure SSO,因為您授予了對思科安全客戶端應用的訪問許可權。
對於第一個IdP應用程式:
步驟1.在第一個IdP應用程式概述頁中,依次選擇Users and groups和Add user。
使用者和組
步驟2.在「新增分配」對話框中選擇「使用者」或「組」。
新增作業1
步驟3.在Add Assignment對話框中,按一下Assign按鈕。
測試1使用者分配
對於第二個IdP應用程式:
如這些影象所示,對第二個Idp應用程式重複上述步驟。
新增作業2
測試2使用者分配
Test1使用者分配:
測試1使用者分配
Test2使用者分配:
測試2使用者分配
通過CLI配置ASA
步驟1.建立信任點並匯入SAML證書。
配置兩個信任點,並為每個隧道組匯入各自的SAML證書。
config t
crypto ca trustpoint AzureAD-AC-SAML1
revocation-check none
no id-usage
enrollment terminal
no ca-check
crypto ca authenticate AzureAD-AC-SAML1
-----BEGIN CERTIFICATE-----
…
PEM Certificate Text you downloaded from AzureAD goes here
…
-----END CERTIFICATE-----
quit
!
!
crypto ca trustpoint AzureAD-AC-SAML2
revocation-check none
no id-usage
enrollment terminal
no ca-check
crypto ca authenticate AzureAD-AC-SAML2
-----BEGIN CERTIFICATE-----
…
PEM Certificate Text you downloaded from AzureAD goes here
…
-----END CERTIFICATE-----
quit
步驟2.配置SAML IdP。
使用這些命令設定SAML IdP設定。
webvpn
saml idp https://xxx.windows.net/xxxxxxxxxxxxx/ - [Azure AD Identifier]
url sign-in https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxxxxxx/saml2 - [Login URL]
url sign-out https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxxxxxx/saml2 – [Logout URL]
trustpoint idp AzureAD-AC-SAML1 - [IdP Trustpoint]
trustpoint sp ASA-EXTERNAL-CERT - [SP Trustpoint]
no force re-authentication
no signature
base-url https://asa.example.com
步驟3.將SAML身份驗證應用到第一個VPN隧道組。
使用AzureAD-AC-SAML1 IdP信任點配置SAML1隧道組。
tunnel-group SAML1 webvpn-attributes
authentication saml
group-alias SAML1 enable
saml identity-provider https://xxx.windows.net/xxxxxxxxxxxxx/
saml idp-trustpoint AzureAD-AC-SAML1 <---- Overrides the primary IDP certificate in the Single Sign-On (SSO) Server object
步驟4.將SAML身份驗證應用到第二個VPN隧道組。
使用AzureAD-AC-SAML2 IdP信任點配置SAML2隧道組。
tunnel-group SAML2 webvpn-attributes
authentication saml
group-alias SAML2 enable
saml identity-provider https://xxx.windows.net/xxxxxxxxxxxxx/
saml idp-trustpoint AzureAD-AC-SAML2 <---- Overrides the primary IDP certificate in the Single Sign-On (SSO) Server object
步驟 5:儲存組態。
write memory
附註:如果更改IdP配置,則需要從隧道組刪除SAML身份提供程式配置,然後重新應用該配置以使更改生效。
驗證
使用SAML身份驗證測試AnyConnect。
步驟1。連線到您的VPN URL並在Azure AD詳細資訊中輸入您的日誌。
步驟2.(可選)批准登入請求。
步驟3. AnyConnect已連線。
疑難排解
大多數SAML故障排除都涉及配置錯誤,在檢查SAML配置或運行調試時可以發現該錯誤。debug webvpn saml 255可用於解決大多數問題,但是,在此調試不提供有用資訊的情況下,可以運行其他調試:
debug webvpn saml 255
debug webvpn 255
debug webvpn session 255
debug webvpn request 255
相關資訊