簡介
本文描述在安全防火牆上配置無客戶端零信任訪問遠端訪問部署的過程。
必要條件
需求
思科建議您瞭解以下主題:
- Firepower Management Center (FMC)
- 基本ZTNA知識
- 基本安全斷言標籤語言(SAML)知識
採用元件
本檔案中的資訊是根據以下軟體版本:
- 安全防火牆版本7.4.1
- Firepower管理中心(FMC)版本7.4.1
- Duo作為身份提供者(IdP)
- 作為IdP的Microsoft Entra ID(以前稱為Azure AD)
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
零信任訪問功能基於零信任網路訪問(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匹配
- 僅在路由模式下支援
- 需要智慧許可證(無法在評估模式下工作)
有關安全防火牆中零信任訪問的詳細資訊和詳細資訊,請參閱思科安全防火牆管理中心裝置配置指南7.4。
設定
本文檔重點介紹ZTNA的遠端訪問部署。
在此示例場景中,遠端使用者需要訪問測試FMC和思科遙測代理(CTB)的Web使用者介面(UI),它們託管在安全防火牆之後。訪問這些應用程式由兩個不同的IdP分別授予:Duo和Microsoft Entra ID,如下圖所示。
網路圖表
拓撲圖表
- 遠端使用者需要訪問安全防火牆後託管的應用程式。
- 每個應用程式在公共DNS伺服器中必須有一個DNS條目。
- 這些應用程式名稱必須解析為安全防火牆外部介面的IP地址。
- 安全防火牆解析為應用程式的實際IP地址,並使用SAML身份驗證對每個應用程式驗證每個使用者。
先決條件配置
身分識別提供程式(IdP)和網域名稱伺服器(DNS)
- 必須在SAML身份提供程式(IdP)中配置應用程式或應用程式組,例如Duo、Okta或Azure AD。在此示例中,Duo和Microsoft Entra ID用作IdP。
- 在安全防火牆上配置應用程式時,會使用由IdP生成的證書和後設資料
內部和外部DNS伺服器
- 外部DNS伺服器(由遠端使用者使用)必須具有應用程式的FQDN條目,並解析到安全防火牆外部介面IP地址
- 內部DNS伺服器(由Secure Firewall使用)必須具有應用程式的FQDN條目,並解析為應用程式的實際IP地址
憑證
ZTNA策略配置需要以下證書:
- 身份/代理證書:由安全防火牆用於偽裝應用程式。此處的安全防火牆充當SAML服務提供商(SP)。此證書必須是與專用應用程式的FQDN相匹配的萬用字元或使用者替代名稱(SAN)證書(在預身份驗證階段代表所有專用應用程式的通用證書)
- IdP證書:用於身份驗證的IdP為定義的每個應用程式或應用程式組提供證書。必須配置此證書,以便安全防火牆
能夠驗證傳入SAML斷言上的IdP簽名(如果這是針對應用程式組定義的,則同一證書將用於整個應用程式組)
- 應用證書:從遠端使用者到應用的加密流量需要由安全防火牆解密,因此,必須將每個應用的證書鏈和私鑰新增到安全防火牆。
常規配置
要配置新的零信任應用程式,請執行以下步驟:
- 導航到Policies > Access Control > Zero Trust Application,然後點選Add Policy。
- 填寫必填欄位:
a)General:輸入策略的名稱和說明。
b)域名:這是新增到DNS中的名稱,必須解析到訪問應用程式的威脅防禦網關介面。
注意:域名用於為應用程式組中的所有專用應用程式生成ACS URL。
c)身份證書:這是代表預身份驗證階段的所有專用應用程式的通用證書。
注意:此證書必須是與專用應用程式的FQDN相匹配的萬用字元或使用者替代名稱(SAN)證書。
d)Security Zones:選擇用於管理專用應用程式的outside或/和inside zones。
e)全域性埠池:此池中的唯一埠分配給每個專用應用程式。
f)安全控制(可選):選擇是否對私人申請進行檢查。
在此範例組態中,輸入以下資訊:
在此案例中使用的身份/代理證書是與專用應用程式的FQDN匹配的萬用字元證書:
3.儲存策略。
4.建立新的應用程式組和/或新的應用程式:
- 應用定義具有SAML身份驗證、介面訪問、入侵和惡意軟體以及檔案策略的專用Web應用。
- Application Group允許您對多個應用程式進行分組,並共用通用設定,例如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,然後導航到Applications > Protect an an Application。
d.查詢通用SAML服務提供程式,然後按一下保護。
e.從IdP下載證書和SAML後設資料,因為在Secure Firewall上繼續配置需要該後設資料。
f.輸入ZTNA應用程式組(在步驟a中生成)的實體ID和斷言使用者服務(ACS)URL。
g.根據您的特定要求編輯應用程式,僅允許目標使用者訪問應用程式,然後按一下儲存。
h.使用從IdP下載的檔案導航回到FMC,並將SAML IdP後設資料新增到應用程式組。
i.按一下Next,然後根據要求設定Re-Authentication Interval和Security Controls。檢視摘要配置,然後按一下Finish。
應用程式組2:使用Microsoft Entra ID(Azure AD)作為IdP
a.輸入應用程式組名稱,然後按一下下一步以顯示的SAML服務提供程式(SP)後設資料。
b.顯示SAML SP後設資料後,請轉到IdP並配置新的SAML SSO應用程式。
c.登入到Microsoft Azure,然後導航到「企業應用程式」>「新應用程式」。
d.按一下建立自己的應用程式>輸入應用程式的名稱>建立
e.開啟應用程式,然後按一下分配使用者和組,以定義允許訪問應用程式的使用者和/或組。
f.按一下Add user/group > Select the needed users/groups > Assign。分配正確的使用者/組後,按一下單點登入。
g.在Single sign-on部分中,按一下SAML。
h.按一下Upload metadata file 並選擇從服務提供商(Secure Firewall)下載的XML檔案,或手動從ZTNA應用程式組輸入Entity ID和Assertion Consumer Service(ACS)URL(在步驟a中生成)。
注意:請確保也下載聯合後設資料XML或單獨下載證書(基本64),並從IdP(登入和註銷URL和Microsoft Entra識別符號)複製SAML後設資料,因為這些內容是繼續安全防火牆上的配置所必需的。
i.使用從IdP下載的後設資料檔案或手動輸入所需資料,導航回到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)Application Certificate:要訪問的應用程式的證書鏈和私鑰(從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.向使用者傳送Push for 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.向使用者傳送Push for MFA(這取決於IdP上配置的MFA方法)。
4.一旦使用者成功通過身份驗證並獲得IdP授權,即被授予對ZTNA策略(CTB Web UI)中定義的應用程式的遠端訪問許可權。
監視
您可以通過FMC概述>控制面板>零信任監控應用程式和使用者。
要調查連線事件,請導航到分析>連線>事件。
疑難排解
已將診斷工具新增到FMC以診斷ZTNA相關問題。
- 診斷功能旨在通過顯示「零信任訪問」配置中存在的問題來簡化使用者的故障排除過程
- 診斷提供整體分析(確定與否)並收集可分析以解決問題的詳細日誌
特定於應用程式的診斷用於檢測:
- DNS相關問題
- 配置錯誤,例如,套接字未開啟、分類規則、NAT規則
- 零信任訪問策略中的問題
- 與介面相關的問題,例如介面未配置或介面關閉
要檢測的通用診斷:
- 如果未啟用強式密碼許可證
- 如果應用程式證書無效
- 如果身份驗證方法在預設隧道組中未初始化為SAML
- HA和群集批次同步問題
- 從snort計數器獲取見解以診斷問題,例如與令牌或解密有關的問題
- 源轉換中的PAT池耗盡問題。
要運行診斷程式:
1.導航到每個ZTNA應用程式的diagnostics圖示。
2.選擇一個裝置,然後按一下Run。
3.檢視報表中的結果。
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>
要啟用零信任和webvpn模組調試,請使用Lina提示符中的以下命令:
- firepower# debug zero-trust 255
- firepower# debug webvpn request 255
- firepower# debug webvpn response 255
- firepower# debug webvpn saml 255
相關資訊
- 如需其他協助,請聯絡技術協助中心(TAC)。需要有效的支援合約:Cisco全球支援聯絡人。
- 您還可以在此處訪問Cisco VPN社群。