網路安全輸入的模式實作

網路安全輸入會封裝數種設計模式,包括全域路由、全域卸載和健全狀況端點監視的模式。 您可以使用本文中的模式實作作為任何需要高可用性或可靠性之 HTTP 或 HTTPS 工作負載的閘道,方法是將安全全域路由提供給不同區域中具有低延遲容錯移轉的工作負載。

影片:網路安全輸入實作

模式需求

本文說明網路安全輸入模式實作的三個需求:全域路由、低延遲容錯移轉,以及降低邊緣的攻擊。

全域路由

網路安全輸入模式會封裝全域路由模式。 因此,實作可以將要求路由傳送至不同區域中的工作負載。

此圖顯示路由傳送至不同區域中兩個工作負載的 HTTPS 要求。

低延遲容錯移轉

實作必須能夠識別狀況良好且狀況不良的工作負載,並以區分時間的方式調整路由。 延遲應該能夠在幾分鐘內支援調整路由。

此圖顯示未路由傳送至狀況不良工作負載的 HTTPS 要求。

減輕邊緣的攻擊

在邊緣降低攻擊需要實作的「網路安全」部分。 無法透過網際網路存取工作負載或平臺即服務 (PaaS) 服務。 網際網路流量應該只能透過閘道進行路由傳送。 閘道應該能夠減輕惡意探索。

此圖顯示在邊緣未停止要求的查詢字串中具有 SQL 語句的 HTTPS 要求。

模式

此解決方案會實作下列設計模式:

設計

此圖顯示流經 Azure Front Door Premium 至區域戳記的要求。

此圖顯示流向 Azure Front Door Premium 方塊的 HTTPS 要求,其中包含 Web 應用程式防火牆。 這說明 Azure Front Door Premium 與 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 實例具有下列高階設定:
    • 具有指向單一原始來源群組之單一路由的端點。 源群組是原點或後端的集合。
    • 原始來源群組已設定為指向每個儲存體帳戶。
    • 每個原始來源要求Private Link儲存體帳戶的存取權。
    • 源群組已設定健康情況探查,以存取儲存體帳戶中的 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 應用程式。 此外,系統管理員可能需要存取資源以進行疑難排解。

為了說明為了作業目的提供網路安全存取的存取權,此實作會在具有儲存體帳戶存取權的虛擬網路中部署虛擬機器 (VM Private Link) 。 此實作會部署 Azure Bastion,系統管理員可用來連線到 VM。 針對部署案例,私人組建代理程式可以部署到虛擬網路,類似于 VM 的部署方式。

以下是作業元件的詳細資料:

  • Azure 虛擬網路:此實作會使用虛擬網路來包含系統管理員透過私人 Microsoft 骨幹網路安全地與儲存體帳戶通訊所需的元件。
  • Azure 虛擬機器:此實作會使用 VM 作為 Jumpbox,讓系統管理員連線。 VM 部署在專用虛擬網路中。
  • Azure Bastion:Azure Bastion可讓系統管理員透過安全殼層安全地連線到 jumpbox VM (SSH) ,而不需要 VM 具有公用 IP 位址。
  • Private Link端點:私人端點會從虛擬網路指派私人 IP 位址,並聯機到儲存體帳戶 PaaS 服務。 此連線可讓私人虛擬網路中的資源透過私人 IP 位址與儲存體帳戶通訊。
  • 私人 Azure DNS 區域:私人 Azure DNS 區域是用來將 Azure 儲存體帳戶Private Link主機名稱解析為私人端點私人 IP 位址的 DNS 服務。

Web 要求流程

此圖顯示 Web 要求的流程。

此圖顯示對 Azure Front Door 提出 Web 要求的使用者。 在 [Azure Front Door] 方塊中,圖表會顯示 Azure Front Door 路由流程的每個步驟。 流程中醒目提示的是評估 WAF 規則的步驟,其中會比對 Azure Front Door 路由,並選取來源群組,以及從原始群組選取來源的位置。 最後一個醒目提示的部分是 Azure Front Door 透過 Private Link 連線到Azure Blob 儲存體帳戶的位置。

  1. 使用者向 Azure Front Door 端點發出 HTTP 或 HTTPS 要求。

  2. 系統會評估 WAF 規則。 一律會記錄相符的規則。 如果 Azure Front Door WAF 原則模式設定為 預防 ,且比對規則的動作設定為封鎖 異常,則會封鎖要求。 否則,要求會繼續或重新導向,或評估後續的規則。

  3. Azure Front Door 中設定的路由會相符,並選取正確的原始來源群組。 在此範例中,路徑是網站中的靜態內容。

  4. 來源是從源群組中選取的。

    a. 在此範例中,健康情況探查認為網站狀況不良,因此會從可能的來源中排除。
    b. 已選取此網站。

  5. 要求會透過 Microsoft 骨幹網路透過Private Link路由傳送至 Azure 儲存體帳戶。

如需 Azure Front Door 路由架構的詳細資訊,請參閱 路由架構概觀

作業流程

此圖顯示系統管理員用來連線到受保護資源的流程。

圖表有三個部分。 第一個部分會顯示Azure Blob 儲存體做為靜態網站。 Azure Front Door 會透過Private Link連線到儲存體帳戶。 第二個部分是代表虛擬網路的方塊。 虛擬網路具有子網及其內容。 這些子網包含私人端點子網,其中包含 IP 位址為 10.0.2.5 的Private Link端點、具有 jumpbox 虛擬機器的 Jumpbox 子網,以及具有 Azure Bastion 的 Azure Bastion 子網。 第三個部分是使用 SSH 透過 Azure Bastion 存取虛擬網路中 Jumpbox VM 的系統管理使用者。 箭號會從 VM 移至私人 Azure DNS 區域。 最後一個箭號會從 VM 移至私人連結端點,然後移至儲存體帳戶。

  1. 系統管理員會連線到部署在虛擬網路中的 Azure Bastion 實例。

  2. Azure Bastion 提供 Jumpbox VM 的 SSH 連線能力。

  3. 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。

  4. 透過Private Link端點建立儲存體帳戶的私人連線。

考量

當您使用此解決方案時,請記住下列幾點。

可靠性

可靠性可確保您的應用程式可以符合您對客戶所做的承諾。 如需詳細資訊,請參閱 可靠性要素概觀

此案例可解決下列有關可靠性的重要重點:

安全性

安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性要素的概觀

此案例可解決關於安全性的下列重點:

成本最佳化

成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化要素的概觀

雖然 Azure Front Door Premium 和 Web 應用程式防火牆 Premium 都提供標準層的進階安全性功能,但兩者都有額外的成本。 請檢閱下列資源,以深入瞭解 Azure Front Door 和Web 應用程式防火牆的價格:

卓越營運

卓越營運涵蓋部署應用程式的作業程式,並讓它在生產環境中執行。 如需詳細資訊,請參閱 營運卓越要素概觀

實作網路安全性界限會增加作業和部署的複雜度。 請記住下列重點:

重要

網路安全輸入範例可讓您部署透過 Azure Bastion 連線到 Jumpbox 並聯機到網路安全 VM 所需的所有資源。

效能效率

效能效率是工作負載調整以符合使用者放置的需求的能力。 如需詳細資訊,請參閱 效能效率要素概觀。

全域路由可透過在相同區域或不同區域中部署更多資源來水準調整。

下一步