將 零信任 原則套用至分割以 Azure 為基礎的網路通訊
本文提供在 Azure 環境中套用 零信任 區隔網路原則的指引。 以下是 零信任 原則。
零信任 原則 | 定義 |
---|---|
明確驗證 | 一律根據所有可用的資料點進行驗證及授權。 |
使用最低權限存取 | 使用 Just-In-Time 和 Just-Enough-Access (JIT/JEA)、風險型調適型原則以及資料保護來限制使用者存取權。 |
假設缺口 | 將爆炸半徑和區段存取權降至最低。 確認端對端加密,運用分析來提升資訊透明度與威脅偵測,並改善防禦。 您可以藉由在 Azure 基礎結構中的各種層級執行網路分割,將網路攻擊的爆炸半徑和區段存取降到最低。 |
本文是一系列文章的一部分,示範如何將 零信任 原則套用至 Azure 網路。
隨著組織從小型企業成長為大型企業,他們通常需要從單一 Azure 訂用帳戶移至多個訂用帳戶,以針對每個部門個別資源。 請務必仔細規劃網路分割,以在環境之間建立邏輯界限和隔離。
每個環境通常反映貴組織的個別部門,都應該有自己的特定工作負載訪問許可權和原則。 例如,來自內部軟體開發人員訂用帳戶的使用者不應該有權在聯機訂用帳戶中管理及部署網路資源。 不過,這些環境仍然需要網路連線,才能達到基本服務所需的功能,例如 DNS、混合式連線,以及能夠跨不同 Azure 虛擬網路 (VNet) 連線到其他資源。
Azure 基礎結構的分割不僅提供隔離,還可以建立安全性界限,以防止攻擊者跨環境移動並造成額外的損害(假設缺口 零信任 原則)。
參考架構
您可以在 Azure 中使用不同層級的分割,協助保護您的資源免於未經授權的存取或惡意攻擊。 這些分割層級從訂用帳戶層級開始,並一路移至在虛擬機上執行的應用程式。 分割會建立界限,將一個環境與另一個環境分開,每個環境都有自己的規則和原則。 假設可能會發生缺口,您必須分割您的網路,以防止其傳播。
Azure 網路功能會使用下列層級的分割:
訂用帳戶
Azure 訂用帳戶是用來在 Azure 中佈建資源的邏輯容器。 它會連結至 Microsoft Entra ID 租使用者中的 Azure 帳戶,並作為指派給訂用帳戶之 Azure 資源的單一計費單位。 Azure 訂用帳戶也是存取訂用帳戶中所含資源的邏輯界限。 不同訂用帳戶中的資源之間的存取需要明確的許可權。
VNet
Azure VNet 是隔離的專用網,默認允許其內的所有虛擬機彼此通訊。 根據預設,除非您透過對等互連、VPN 連線或 ExpressRoute 建立彼此之間的連線,否則 VNet 無法與其他 VNet 通訊。 個別 VNet 可用來作為信任界限,以分割不同的應用程式、工作負載、部門或組織。
Azure 虛擬網絡 Manager (AVNM) 是一項網路管理服務,可讓單一系統管理小組管理 VNet,並在全球多個訂用帳戶之間強制執行安全性規則。 您可以使用 AVNM 來定義網路群組,以判斷哪些 VNet 可以彼此通訊。 您也可以使用 AVNM 來監視網路設定變更。
VNet 內的工作負載
針對 VNet 內的工作負載,例如虛擬機或任何支援 VNet 整合的 PaaS 服務,例如 Azure Databricks 和 App Service,預設允許通訊,因為它們包含在相同的 VNet 內,而且必須使用網路安全組進一步保護。 VNet 內分割的工具和服務包括下列各項:
Azure 防火牆
Azure 防火牆 是部署在 VNet 中的服務,可篩選雲端資源、內部部署和因特網之間的流量。 透過 Azure 防火牆,您可以定義規則和原則,以允許或拒絕網路和應用層的流量。 您也可以受益於 Azure 防火牆 所提供的進階威脅防護功能,例如入侵檢測和預防系統(IDPS)、傳輸層安全性 (TLS) 檢查,以及威脅情報型篩選。
網路安全性群組
網路安全組是訪問控制機制,可篩選 Azure 資源之間的網路流量,例如 VNet 內的虛擬機。 網路安全組包含安全性規則,可允許或拒絕 VNet 中子網或虛擬機層級的流量。 網路安全組的常見用法是分割不同子網中的虛擬機集合。
應用程式安全性群組
應用程式 安全組是網路安全組 的延伸模組,可讓您根據虛擬機的角色和功能,將虛擬機的網路介面分組。 然後,您可以大規模地使用網路安全組中的應用程式安全組,而不需要定義虛擬機的IP位址。
Azure Front Door
Azure Front Door 是Microsoft現代化雲端 內容傳遞網路 (CDN),可在使用者與您的應用程式在世界各地的靜態和動態 Web 內容之間提供快速、可靠且安全的存取。
下圖顯示分割層級的參考架構。
在圖表中,實心紅線表示以下兩者之間的分割層級:
- Azure 訂用帳戶
- 訂用帳戶中的 VNet
- VNet 中的子網
- 因特網和 VNet
此圖也會顯示一組由AVNM管理的 VNet,可跨越 Azure 訂用帳戶。
本文的內容為何?
零信任 原則會套用至 Azure 雲端內的參考架構。 下表說明在此架構中分割網路以遵守假設缺口 零信任 原則的建議。
步驟 | Task |
---|---|
1 | 個別 VNet 內的區段。 |
2 | 使用對等互連連線多個 VNet。 |
3 | 在中樞和輪輻組態中聯機多個 VNet。 |
步驟 1:個別 VNet 內的區段
在 Azure 訂用帳戶中的單一 VNet 內,您會使用子網來分隔和分割資源。 例如,在 VNet 內,可能有資料庫伺服器的子網、另一個用於 Web 應用程式的子網,以及具有 Web 應用程式防火牆 的 Azure 防火牆 或 Azure 應用程式閘道 專用子網。 根據預設,子網之間的所有通訊都會在 VNet 內啟用。
若要在子網之間建立隔離,您可以套用網路安全組或應用程式安全組,以根據IP位址、埠或通訊協定允許或拒絕特定網路流量。 不過,設計和維護網路安全組和應用程式安全組也可以建立管理額外負荷。
此圖顯示一個常見且建議的三層應用程式組態,每個層都有個別的子網,以及使用網路安全組和應用程式安全組來建立每個子網之間的區段界限。
您也可以使用指向 Azure 防火牆 或第三方網路虛擬設備 (NVA) 的使用者定義路由來路由子網間流量,以達到資源的分割。 Azure 防火牆和 NVA 也能夠允許或拒絕使用第 3 層對第 7 層控件的流量。 這些服務大部分都提供進階篩選功能。
如需詳細資訊,請參閱模式 1:單一虛擬網路中的指引。
步驟 2:使用對等互連連線多個 VNet
根據預設,VNet 與單一 Azure 訂用帳戶或跨多個訂用帳戶之間不允許通訊。 屬於不同實體的多個 VNet 有自己的訪問控制。 他們可以使用 VNet 對等互連來彼此連線或連線到集中式中樞 VNet,其中 Azure 防火牆 或第三方 NVA 會檢查所有流量。
此圖顯示兩個 VNet 之間的 VNet 對等互連連線,以及在連線的每個端使用 Azure 防火牆。
中樞 VNet 通常包含共用元件,例如防火牆、識別提供者和混合式聯機組件等等。 UDR 管理變得更簡單,因為只有在 VNet 內部流量是需求時,才需要針對微分割新增特定的前置詞 UDR。 不過,由於 VNet 有自己的界限,因此安全性控制已經就緒。
如需詳細資訊,「請參閱」下列指導:
步驟 3:在中樞和輪輻設定中聯機多個 VNet
針對中樞和輪輻設定中的多個 VNet,您必須考慮如何分割這些界限的網路流量:
- 網際網路邊界
- 內部部署網路界限
- 全域 Azure 服務的界限
網際網路邊界
保護因特網流量是網路安全性的基本優先順序,這牽涉到管理來自因特網的輸入流量(不受信任),以及從您的 Azure 工作負載導向至因特網的輸出流量。
Microsoft建議來自因特網的輸入流量具有單一進入點。 Microsoft強烈建議輸入流量穿越 Azure PaaS 資源,例如 Azure 防火牆、Azure Front Door 或 Azure 應用程式閘道。 這些 PaaS 資源提供的功能比具有公用 IP 位址的虛擬機更多。
Azure 防火牆
此圖顯示自己子網中的 Azure 防火牆 如何作為中央進入點和分割界限,以用於因特網與 Azure VNet 中三層工作負載之間的流量。
如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework 中的 Azure 防火牆。
Azure Front Door
Azure Front Door 可以做為 Azure 中裝載之因特網與服務之間的界限。 Azure Front Door 支援 私人連結 連線到 VNet 存取的內部負載平衡 (ILB) 等資源、靜態網站和 Blob 記憶體的記憶體的記憶體帳戶,以及 Azure 應用程式服務。 Azure Front Door 通常是針對大規模部署完成。
Azure Front Door 不僅僅是負載平衡服務。 Azure Front Door 基礎結構內建了 DDoS 保護。 啟用快取時,可以從存在點 (POP) 位置擷取內容,而不是持續存取後端伺服器。 當快取過期時,Azure Front Door 會擷取要求的資源並更新快取。 Azure Front Door 會針對兩個不同的連線使用分割 TCP,而不是存取其伺服器的使用者。 這不僅可改善用戶體驗,還能防止惡意執行者直接存取資源。
此圖顯示 Azure Front Door 如何提供因特網使用者與 Azure 資源之間的分割,其可位於記憶體帳戶中。
如需詳細資訊,請參閱 Azure Well-Architected Framework 中的 Azure Front Door 。
Azure 應用程式閘道
因特網進入點也可以是輸入點的組合。 例如,HTTP/HTTPS 流量可以透過受 Web 應用程式防火牆 或 Azure Front Door 保護的 應用程式閘道 輸入。 RDP/SSH 之類的非 HTTP/HTTPS 流量可以透過 Azure 防火牆 或 NVA 輸入。 您可以使用這兩個元素來進一步檢查,並使用 UDR 控制流量。
此圖顯示因特網輸入流量,以及使用 應用程式閘道 搭配 HTTP/HTTPS 流量的 Web 應用程式防火牆,以及所有其他流量的 Azure 防火牆。
兩個通常建議的案例是:
- 將 Azure 防火牆 或 NVA 與 應用程式閘道 平行放置。
- 將 Azure 防火牆 或 NVA 放在 應用程式閘道 之後進行進一步的流量檢查,再到達目的地。
如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework 中的 Azure 應用程式閘道。
以下是因特網流量流程的其他常見模式。
使用多個介面的輸入流量
其中一種方法涉及在使用 NVA 時,在虛擬機上使用多個網路介面:一個介面用於不受信任的流量(外部面向),另一個用於信任流量(內部面向)。 在流量流量方面,您必須使用UDR將輸入流量從內部部署路由傳送至NVA。 來自 NVA 所接收因特網的輸入流量,必須透過客體 OS 設備和 UDR 中的靜態路由組合,路由傳送至適當 VNet 或子網上的目的地工作負載。
輸出流量和 UDR
若要讓 VNet 離開因特網的流量,您可以使用路由表搭配所選 NVA 作為下一個躍點來套用 UDR。 若要降低複雜性,您可以在 Azure 虛擬 WAN 中樞內部署 Azure 防火牆 或 NVA,並使用路由意圖開啟因特網安全性。 這可確保以非 Azure 虛擬 IP 位址 (VIP) 為目標的南北流量(進出網路範圍)和東西部流量(在網路範圍內裝置之間)都會受到檢查。
輸出流量和預設路由
某些方法牽涉到使用不同的方法管理預設路由 (0.0.0.0.0/0)。 一般情況下,建議源自 Azure 的輸出流量利用出口點,並使用 Azure 防火牆 或 NVA 進行檢查,因為 Azure 基礎結構可以處理的輸送量量,在大部分情況下,輸出流量可能更大且更具復原性。 在此情況下,在工作負載子網的 UDR 中設定預設路由,可能會強制流量流向這些結束點。 您也可以偏好將輸出流量從內部部署路由傳送至 Azure 作為結束點。 在此情況下,請結合 NVA 利用 Azure 路由伺服器 來公告使用邊界閘道通訊協定 (BGP) 的內部部署預設路由。
當您需要透過 BGP 公告預設路由,將所有輸出流量路由傳送回內部部署時,有特殊情況。 這會強制流量讓 VNet 透過內部部署網路通道傳送至防火牆,以進行檢查。 最後一個方法是最不想要的方法,因為延遲增加,且 Azure 提供的安全性控制不足。 政府與銀行部門普遍採用這種做法,這些部門在內部部署環境中對交通檢查有具體要求。
就規模而言:
- 對於單一 VNet,您可以使用嚴格遵循第 4 層語意的網路安全組,也可以使用遵守第 4 層和第 7 層語意的 Azure 防火牆。
- 針對多個 VNet,如果可連線,仍然可以使用單一 Azure 防火牆,或者您可以在每個虛擬網路中部署 Azure 防火牆,並使用 UDR 直接流量。
針對大型企業分散式網路,您仍然可以使用中樞和輪輻模型,並使用UDR引導流量。 不過,這可能會導致管理額外負荷和 VNet 對等互連限制。 為了方便使用,如果您在虛擬中樞部署 Azure 防火牆,並啟用因特網安全性的路由意圖,Azure 虛擬 WAN 就可以達到此目的。 這會將預設路由插入所有輪輻和分支網路,並將因特網系結的流量傳送至 Azure 防火牆 以進行檢查。 目的地為 RFC 1918 位址區塊的私人流量會傳送至 Azure 防火牆 或 NVA,作為 Azure 虛擬 WAN 中樞內的指定下一個躍點。
內部部署網路界限
在 Azure 中,與內部部署網路建立連線的主要方法包括因特網通訊協定 (IPsec) 通道、ExpressRoute 通道或軟體定義的 WAN (SD-WAN) 通道。 一般而言,您會使用 Azure 站對站 (S2S) VPN 連線 ,以用於需要較少頻寬的較小工作負載。 對於需要專用服務路徑和更高輸送量需求的工作負載,Microsoft建議 ExpressRoute。
此圖顯示 Azure 環境與內部部署網路之間的不同連線方法類型。
雖然 Azure VPN 連線可以支援多個通道,但 ExpressRoute 通常會針對需要透過連線夥伴的較高頻寬和私人連線的大型企業網路進行設定。 針對 ExpressRoute,可以將相同的 VNet 連線到多個線路,但為了分割目的,這通常不理想,因為它可讓 VNet 彼此未連線通訊。
分割的其中一種方法包括選擇不使用輪輻 VNet 上的遠端閘道,或者如果您使用路由表,則停用 BGP 路由傳播。 您仍然可以使用 NVA 和防火牆區隔連線至 ExpressRoute 的中樞。 對於對等互連至中樞的輪輻,您可以選擇不要在 VNet 對等互連屬性中使用遠端閘道。 如此一來,輪輻只會瞭解其直接連線的中樞,而不是任何內部部署路由。
另一個分割內部部署來回流量的新興方法是使用 SD-WAN 技術。 您可以使用 Azure 中的第三方 NVA,根據來自 NVA 設備內不同分支的 SD-WAN 通道來建立分割,以將分支位置擴充至 Azure SD-WAN。 您可以使用 Azure 路由伺服器,將 SD-WAN 通道的地址前綴插入 Azure 平台中樞和輪輻拓撲。
針對虛擬 WAN 拓撲,您可以在虛擬中樞內直接整合第三方 SD-WAN NVA。 您也可以使用 BGP 端點來允許使用 SD-WAN 解決方案,從虛擬中樞整合的 NVA 建立通道。
針對這兩個模型,您可以使用 ExpressRoute 來分割與私人對等互連或Microsoft對等互連的基礎私人或公用連線。 基於安全性,常見做法是透過 ExpressRoute 公告預設路由。 這會強制所有流量讓 VNet 以通道傳送至您的內部部署網路,以進行檢查。 同樣地,透過 VPN 和 ExpressRoute 傳送的流量可以傳送至 NVA 以進行進一步檢查。 這也適用於離開 Azure 的流量。 當環境較小時,這些方法很簡單,例如一或兩個區域。
針對大型分散式網路,您也可以使用路由意圖啟用私人流量檢查,以使用 Azure 虛擬 WAN。 這會引導所有目的地為 NVA 私人 IP 位址的流量進行檢查。 如同上述方法,當您的環境跨越多個區域時,這更容易管理。
Azure 虛擬 WAN 的另一種方法是使用自定義路由表進行隔離界限。 您可以建立自定義路由,並只關聯並傳播您想要的 VNet 至這些路由表。 不過,這項功能目前無法與路由意圖結合。 若要隔離分支,您可以將標籤指派給將分支與該標籤建立關聯。 您也可以根據每個中樞停用對預設標籤的傳播。 目前,您無法在單一中樞上個別隔離 Azure 中的個別分支。 例如,您無法隔離 SD-WAN 與 ExpressRoute。 但在整個中樞上,您可以停用傳播至默認標籤。
全域 Azure 服務的界限
在 Azure 中,大部分服務預設都可透過 Azure 全域 WAN 存取。 這也適用於對 Azure PaaS 服務的公用存取。 例如,Azure 儲存體 具有內建防火牆,可限制對 VNet 的存取,並封鎖公用存取。 不過,通常需要更細微的控制。 典型的喜好設定是私下連線到 Azure VIP,而不是使用提供的預設公用 IP 位址。
限制 PaaS 資源的存取最常見的方法是透過 Azure Private Link。 當您建立私人端點時,它會插入 VNet。 Azure 會使用此私人 IP 位址來通道傳送至有問題的 PaaS 資源。 Azure 會使用 Azure 私用 DNS 區域將 DNS A 記錄對應至私人端點,並將 CNAME 記錄對應至私人連結 PaaS 資源。
服務端點提供連線至 PaaS VIP 的替代方法。 您可以選取服務標籤,以允許連線到該標籤內的所有 PaaS 資源,並提供 PaaS 資源的私人連線。
另一個普遍的方法牽涉到使用 expressRoute 的Microsoft對等互連。 如果您想要從內部部署連線到 PaaS VIP,您可以設定Microsoft對等互連。 您可以選擇要取用VIP的 BGP 社群,這會在Microsoft對等互連路徑上公告。
如需詳細資訊,「請參閱」下列指導:
分割摘要
下表摘要說明不同層級的分割和安全性方法。
介於 | 預設行為 | 由開啟通訊... | 分割安全性方法(秒) |
---|---|---|---|
訂用帳戶 | 沒有通訊 | - VNet 對等互連 - VPN 閘道 |
Azure 防火牆 |
VNet | 沒有通訊 | - VNet 對等互連 - VPN 閘道 |
Azure 防火牆 |
VNet 內子網上的工作負載 | 開放式溝通 | N/A | - 網路安全組 - 應用程式安全組 |
因特網和 VNet | 沒有通訊 | - 負載平衡器 - 公用IP - 應用程式閘道 - Azure Front Door |
- 使用 Web 應用程式防火牆 Azure 應用程式閘道 - Azure 防火牆 - 具有 Web 應用程式防火牆 的 Azure Front Door |
因特網和內部部署網路 | 沒有通訊 | - Azure S2S VPN - IPSec 通道 - ExpressRoute 通道 - SD-WAN 通道 |
Azure 防火牆 |
VNet 中的因特網和虛擬機 | 如果虛擬機只有私人IP位址,則不會通訊 | 將虛擬機指派為公用IP位址 | 本機虛擬機防火牆 |
推薦項目培訓
- 設定和管理 Azure 系統管理員的虛擬網路
- Azure Web 應用程式防火牆簡介
- 使用網路安全性群組和服務端點來保護及隔離對 Azure 資源的存取
- Azure Front Door 簡介
- Azure 應用程式閘道簡介
- Azure Private Link 簡介
- Azure 虛擬 WAN 簡介
- 使用 VPN 閘道 將內部部署網路連線至 Azure
後續步驟
如需將 零信任 套用至 Azure 網路的其他資訊,請參閱:
- 加密以 Azure 為基礎的網路通訊
- 取得網路流量的可見度
- 停止舊版網路安全性技術
- 使用零信任保護網路
- Azure 中的輪輻虛擬網路
- Azure 中的中樞虛擬網路
- 使用 Azure PaaS 服務的輪輻虛擬網路
- Azure 虛擬 WAN
參考資料
請參閱這些連結,以瞭解本文所述的各種服務和技術。