網路安全輸入的模式實作
網路安全輸入會封裝數種設計模式,包括全域路由、全域卸除和健康情況端點監視的模式。 您可以使用本文中的模式實作作為任何需要高可用性或可靠性之 HTTP 或 HTTPS 工作負載的閘道,方法是將安全的全域路由提供給具有低延遲故障轉移之不同區域中的工作負載。
影片:網路安全輸入實作
模式需求
本文說明網路安全輸入模式實作的三個需求:全域路由、低延遲故障轉移,以及降低邊緣攻擊。
全域路由
網路安全輸入模式會封裝全域路由模式。 因此,實作可以將要求路由傳送至不同區域中的工作負載。
低延遲故障轉移
實作必須能夠識別狀況良好且狀況不良的工作負載,並以區分時間的方式調整路由。 延遲應該能夠在幾分鐘內支持調整路由。
減輕邊緣的攻擊
在邊緣降低攻擊需要實作的「網路安全」部分。 工作負載或平臺即服務 (PaaS) 服務不應該透過因特網存取。 因特網流量應該只能透過網路進行路由傳送。 閘道應該能夠減輕惡意探索。
模式
此解決方案會實作下列設計模式:
- 網關路由模式:將要求路由傳送至多個可位於不同區域的服務或服務實例。
- 網關卸除模式:將功能,例如降低攻擊的卸除功能卸除至網關 Proxy。
- 健康情況端點監視模式:公開驗證工作負載健全狀況的端點。
設計
此圖顯示流向 Azure Front Door 進階版 方塊的 HTTPS 要求,其中包含 Web 應用程式防火牆。 這說明 Azure Front Door 進階版 與 Azure Web 應用程式防火牆 之間的整合。 然後,此圖顯示要求流經 Private Link 到不同區域中的兩個戳記。 每個戳記都有靜態網站和內部負載平衡器。 要求會透過 Private Link 流向靜態網站,以及兩個戳記中的負載平衡器。
此實作包含下列詳細資料:
- 它會使用 Azure Blob 儲存體 帳戶來模擬在兩個區域中執行的靜態 Web 工作負載。 此實作不包含在內部負載平衡器 (ILB) 後方執行的任何工作負載。 此圖顯示 ILB,說明此實作適用於在 ILB 後方執行的私人工作負載。
- 它會使用 Azure Front Door 進階版 層作為全域網關。
- Azure Front Door 實例具有全域 Web 應用程式防火牆 (WAF) 原則,其已設定受控規則,可協助防範常見的惡意探索。
- 記憶體帳戶不會透過因特網公開。
- Azure Front Door 進階版 層會透過 Azure Private Link 存取記憶體帳戶。
- Azure Front Door 實例具有下列高階設定:
- 具有指向單一原始群組之單一路由的端點。 原始群組是來源或後端的集合。
- 來源群組已設定為指向每個記憶體帳戶的原點。
- 每個原始來源都會要求私人連結存取記憶體帳戶。
- 來源群組已設定健康情況探查,以存取記憶體帳戶中的 HTML 頁面。 HTML 頁面會作為靜態工作負載的健康情況端點。 如果探查在最近四次嘗試的三次嘗試中成功存取來源,則原點會被視為狀況良好。
元件
Web 要求
- Azure Web 應用程式防火牆:Web 應用程式防火牆 進階版 層支援 Microsoft 管理的規則,可協助防範常見的惡意探索。
- Azure Private Link:Azure Private Link 中的私人端點會將 Azure PaaS 服務公開至虛擬網路中的私人 IP 位址。 此曝光可讓通訊流向 Microsoft 骨幹網路,而不是在公用因特網上流動。
- Azure Front Door 進階版 層:Azure Front Door 提供第 7 層全域負載平衡。 Azure Front Door 已與 Web 應用程式防火牆 整合。 進階版 層支援:
- Azure Private Link:Private Link 支援可讓 Azure Front Door 與透過 Microsoft 骨幹網路在私人虛擬網路中執行的 PaaS 服務或工作負載通訊。
- Microsoft 管理的規則集:Azure Front Door 的進階層支援 Web 應用程式防火牆 的進階層,其支援 WAF 中的受控規則集。
- Azure 儲存體:此實作會使用 Blob 儲存體 帳戶來代表靜態網站或工作負載。
- 內部負載平衡器:此實作不會使用內部負載平衡器。 其圖為代表在該負載平衡器後方執行的私人工作負載。 記憶體帳戶的路由與負載平衡器相同。
Operations
從網路觀點保護資源有助於防止惡意探索,但也會將資源與可能需要存取這些資源的處理程式或系統管理員隔離。 例如,DevOps 管線中的組建代理程式可能需要存取記憶體帳戶,才能將更新部署至 Web 應用程式。 此外,系統管理員可能需要存取資源以進行疑難解答。
為了說明為了操作目的提供網路安全存取的存取權,此實作會在具有記憶體帳戶 Private Link 存取權的虛擬網路中部署虛擬機(VM)。 此實作會部署 Azure Bastion,系統管理員可用來連線到 VM。 針對部署案例,私人組建代理程式可以部署到虛擬網路,類似於 VM 的方式。
以下是作業元件的詳細資料:
- Azure 虛擬網絡:此實作會使用虛擬網路來包含系統管理員透過私人 Microsoft 骨幹網路安全地與記憶體帳戶通訊所需的元件。
- Azure 虛擬機器:此實作會使用 VM 作為 Jumpbox,讓系統管理員連線。 VM 部署在專用虛擬網路中。
- Azure Bastion:Azure Bastion 可讓系統管理員透過安全殼層 (SSH) 安全地連線到 Jumpbox VM,而不需要 VM 具有公用 IP 位址。
- Private Link 端點:私人端點會從虛擬網路指派私人IP位址,並連線到記憶體帳戶 PaaS 服務。 此連線可讓私人虛擬網路中的資源透過私人IP位址與記憶體帳戶通訊。
- 私人 Azure DNS 區域:私人 Azure DNS 區域是 DNS 服務,用來將 Azure 記憶體帳戶的 Private Link 主機名解析為私人端點的私人 IP 位址。
Web 要求流程
此圖顯示使用者向 Azure Front Door 提出 Web 要求。 在 [Azure Front Door] 方塊中,圖表會顯示 Azure Front Door 路由流程的每個步驟。 流程中醒目提示的是評估 WAF 規則的步驟,其中會比對 Azure Front Door 路由並選取來源群組,以及從原始群組選取來源。 最後一個醒目提示的片段是 Azure Front Door 透過 Private Link 連線到 Azure Blob 儲存體 帳戶的位置。
使用者向 Azure Front Door 端點發出 HTTP 或 HTTPS 要求。
評估 WAF 規則。 一律會記錄相符的規則。 如果 Azure Front Door WAF 原則模式設定為 預防 ,且比對規則的動作設定為 封鎖異常,則會封鎖要求。 否則,要求會繼續或重新導向,或評估後續的規則。
Azure Front Door 中設定的路由會相符,並選取正確的原始群組。 在此範例中,路徑是網站中的靜態內容。
來源是從原始群組選取的。
a. 在此範例中,健康情況探查認為網站狀況不良,因此會從可能的來源中排除。
b. 已選取此網站。要求會透過 Microsoft 骨幹網路透過 Private Link 路由傳送至 Azure 記憶體帳戶。
如需 Azure Front Door 路由架構的詳細資訊,請參閱 路由架構概觀。
作業流程
圖表有三個部分。 第一個部分顯示 Azure Blob 儲存體 做為靜態網站。 Azure Front Door 會透過 Private Link 連線到記憶體帳戶。 第二個部分是代表虛擬網路的方塊。 虛擬網路具有子網及其內容。 這些子網包含私人端點子網,其中包含IP位址為10.0.2.5的私人連結端點、具有 jumpbox 虛擬機的 Jumpbox 子網,以及具有 Azure Bastion 的 Azure Bastion 子網。 第三部分是使用SSH透過 Azure Bastion 存取虛擬網路中 jumpbox VM 的系統管理使用者。 箭頭會從 VM 移至私人 Azure DNS 區域。 最後一個箭號會從 VM 移至私人連結端點,然後移至記憶體帳戶。
系統管理員會連線到部署在虛擬網路中的 Azure Bastion 實例。
Azure Bastion 提供 Jumpbox VM 的 SSH 連線能力。
Jumpbox 上的系統管理員會嘗試透過 Azure CLI 存取記憶體帳戶。 Jumpbox 會查詢公用 Azure Blob 儲存體 帳戶端點的 DNS:
storageaccountname.blob.core.windows.net
。私用 DNS 最終解析為
storageaccountname.privatelink.blob.core.windows.net
。 它會傳回 Private Link 端點的私人 IP 位址,在此範例中為 10.0.2.5。透過 Private Link 端點建立記憶體帳戶的私人連線。
考量
當您使用此解決方案時,請記住下列幾點。
可靠性
可靠性可確保您的應用程式可以符合您對客戶所做的承諾。 如需詳細資訊,請參閱可靠性要素的概觀 (部分機器翻譯)。
此案例可解決下列可靠性重點:
- 透過使用健康情況探查來提供低延遲的全域路由,藉由將應用程式與區域性中斷隔離,以啟用可靠性。
- Azure Front Door 上的 Web 應用程式防火牆 提供 HTTP 和 HTTPS 要求的集中式保護。
安全性
安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性要素的概觀。
此案例可解決下列安全性重點:
- Azure Front Door 中的 Private Link 支援 進階版 不需要透過因特網公開您的內部或 PaaS 服務。 Private Link 可讓 Azure Front Door 透過 Microsoft 骨幹網路與您的私人服務或 PaaS 服務通訊。
- Azure Front Door 上的 Web 應用程式防火牆 提供 HTTP 和 HTTPS 要求的集中式保護。
- Web 應用程式防火牆 進階版 中的受管理規則是 Microsoft 管理的規則,可協助您抵禦一組常見的安全性威脅。
成本最佳化
成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化要素的概觀。
雖然 Azure Front Door 進階版 和 Web 應用程式防火牆 進階版 在標準層上都提供進階安全性功能,但兩者都有額外的成本。 請檢閱下列資源,以深入瞭解 Azure Front Door 和 Web 應用程式防火牆 的定價:
卓越營運
卓越營運涵蓋部署應用程式並使其持續在生產環境中執行的作業流程。 如需詳細資訊,請參閱卓越營運要素的概觀 (部分機器翻譯)。
實作網路安全性界限會增加作業和部署的複雜性。 請記住以下幾點:
- Microsoft 裝載代理程式的IP範圍會隨著時間而有所不同。 請考慮在虛擬網路中實作自我裝載代理程式。
- 針對作業小組需要存取網路安全資源的案例,實 作 Azure Bastion 。
- 使用 Azure Front Door 上的 Web 應用程式防火牆 來為 HTTP 和 HTTPS 要求提供集中式保護,是網關卸除模式的範例。 檢查惡意探索要求的責任會卸除至 Azure Front Door 中的 Web 應用程式防火牆。 卓越營運觀點的好處在於,您只需要在一個地方管理規則。
重要
網路 安全輸入範例 可讓您部署透過 Azure Bastion 連線到 Jumpbox 並連線到網路安全 VM 所需的所有資源。
效能效益
效能效率是工作負載調整以符合使用者放置的需求的能力。 如需詳細資訊,請參閱 效能效率要素概觀。
全域路由可透過在相同區域或不同區域中部署更多資源來水平調整。
下一步
- 遵循網路安全輸入範例中所述 的步驟來部署此實作。