簡介
本文檔介紹在安全防火牆上配置無客戶端零信任訪問遠端訪問部署的過程。
必要條件
需求
思科建議您瞭解以下主題:
- 安全防火牆管理中心(FMC)
- 基本ZTNA知識
- 基本安全性宣告標籤語言(SAML)知識
採用元件
本檔案中的資訊是根據以下軟體版本:
- 安全防火牆版本7.4.1
- Firepower管理中心(FMC)版本7.4.1
- Duo身分辨識提供者(IdP)
- Microsoft Entra ID (以前稱為Azure AD)作為IdP
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
零信任訪問功能基於零信任網路訪問(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)。存取這些應用程式時,有兩個不同的IdP:Duo與Microsoft Entra ID,如下圖所示。
網路圖表
拓撲圖表
- 遠端使用者需要訪問託管在安全防火牆之後的應用。
- 每個應用程式在公共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證書:用於身份驗證的IdP為定義的每個應用程式或應用程式組提供證書。必須配置此證書,以便安全防火牆
能夠驗證傳入SAML斷言上的IdP簽名(如果這是針對應用程式組定義的,則同一證書將用於整個應用程式組)
- 應用證書:從遠端使用者到應用的加密流量需要由安全防火牆解密,因此,必須將每個應用的證書鏈和私鑰增加到安全防火牆。
一般組態
要配置新的Zero Trust應用程式,請執行以下步驟:
- 導航到策略>訪問控制>零信任應用程式,然後按一下增加策略。
- 填寫必填欄位:
a)一般:輸入策略的名稱和說明。
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後設資料以繼續安全防火牆上的配置。
f.輸入來自ZTNA應用程式群組的實體ID和宣告消費者服務(ACS) URL (產生於步驟a)。
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.按一下Add user/group > Select the needed users/groups > Assign。分配了正確使用者/組後,按一下Single sign-on。
g.進入單一登入部分後,按一下SAML。
h.點選上傳後設資料檔案,選擇從服務提供商(安全防火牆)下載的XML檔案,或從ZTNA應用程式組(在步驟a中生成)手動輸入實體ID和斷言消費者服務(ACS) URL。
注意:請同時下載聯合後設資料XML或單獨下載證書(基本64),並從IdP複製SAML後設資料(登入和註銷URL和Microsoft Entra Identifiers),因為這些是繼續在Secure Firewall上配置所必需的。
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時,會繼承此應用程式的其餘設定。您仍然可以使用不同的設定來覆寫「安全性區域」和「安全性控制」。
檢視已配置的應用程式,然後按一下Finish。
應用程式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 Trust監控應用程式和使用者。
要調查連線事件,請導航到分析>連線>事件。
此外,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. 檢視報表中的結果。
如果您出於故障排除目的需要與Cisco技術支援中心(TAC)合作,請收集下一個debug和show命令的輸出:
- show counters protocol zero-trust
- 調試零信任255
- debug webvpn request 255
- debug webvpn response 255
- debug webvpn saml 255
相關資訊