套用 零信任 原則來加密以 Azure 為基礎的網路通訊
本文提供指引,以下列方式套用 零信任 原則,將網路通訊加密至 Azure 環境,以及跨 Azure 環境進行加密。
零信任 原則 | 定義 | 符合者 |
---|---|---|
明確驗證 | 一律根據所有可用的資料點進行驗證及授權。 | 針對您的 Azure VPN 閘道 連線使用條件式存取原則,並針對使用者對虛擬機連線使用安全殼層 (SSH) 和遠端桌面通訊協定 (RDP)。 |
使用最低權限存取 | 使用 Just-In-Time 和 Just-Enough-Access (JIT/JEA)、風險型調適型原則以及資料保護來限制使用者存取權。 | 設定您的Microsoft Enterprise Edge (MSEE) 裝置,以使用 Azure ExpressRoute 的靜態聯機關聯密鑰 (CAK) 搭配直接埠,並使用受控識別來驗證 ExpressRoute 線路資源。 |
假設缺口 | 將爆炸半徑和區段存取權降至最低。 確認端對端加密,運用分析來提升資訊透明度與威脅偵測,並改善防禦。 | 使用加密方法和通訊協定保護網路流量,以提供傳輸中數據的機密性、完整性和真實性。 使用 Azure 監視器來提供 ExpressRoute 網路效能計量和警示。 使用 Azure Bastion 管理 Bastion 服務的個別會話,並刪除或強制中斷連線。 |
本文是一系列文章的一部分,示範如何套用 Azure 網路 零信任 原則。
網路流量的加密層級如下:
網路層加密
保護並確認從因特網或內部部署網路到 Azure VNet 和虛擬機的通訊
在 Azure VNet 內及跨 Azure VNet 保護及驗證通訊
應用層加密
- Azure Web 應用程式的保護
保護在 Azure 虛擬機上執行的工作負載
參考架構
下圖顯示此 零信任 指導方針的參考架構,這些指引適用於使用者與內部部署或 Azure 環境中的因特網和元件之間的加密通訊,以及本文所述的步驟。
在圖表中,數字會對應至下列各節中的步驟。
本文的內容為何?
零信任 原則會套用至參考架構,從因特網上的使用者和系統管理員,或內部部署網路到 Azure 雲端和內部部署網路。 下表說明確保此架構間網路流量加密的建議。
步驟 | Task | 零信任 原則(s) 已套用 |
---|---|---|
1 | 實作網路層加密。 | 明確驗證 使用最低許可權存取 假設缺口 |
2 | 保護及驗證從內部部署網路到 Azure VNet 的通訊。 | 明確驗證 假設缺口 |
3 | 保護及驗證 Azure VNet 內和跨 Azure VNet 的通訊。 | 假設缺口 |
4 | 實作應用層加密。 | 明確驗證 假設缺口 |
5 | 使用 Azure Bastion 來保護 Azure 虛擬機。 | 假設缺口 |
步驟 1:實作網路層加密
將 零信任 原則套用至內部部署和 Azure 環境時,網路層加密非常重要。 當網路流量通過因特網時,您應該一律假設攻擊者可能會攔截流量,而您的數據可能會在到達目的地之前遭到公開或改變。 因為服務提供者會控制數據如何透過因特網路由傳送,所以您想要確保數據隱私權和完整性從離開內部部署網路到Microsoft雲端的那一刻起維護。
下圖顯示實作網路層加密的參考架構。
在接下來的兩節中,我們將討論因特網通訊協定安全性 (IPsec) 和媒體 存取控制 安全性 (MACsec),Azure 網路服務支援這些通訊協定,以及如何確保它們正在使用。
IPsec
IPsec 是一組通訊協定,可為因特網通訊協定 (IP) 通訊提供安全性。 它會使用一組加密演演算法來驗證和加密網路封包。 IPSec 是用來建立虛擬專用網 (VPN) 的安全性封裝通訊協定。 IPsec VPN 信道包含兩個階段,第 1 階段稱為主要模式,第 2 階段稱為快速模式。
IPsec 階段 1 是通道建立,其中對等會交涉因特網密鑰交換 (IKE) 安全性關聯的參數,例如加密、驗證、哈希和 Diffie-Hellman 演算法。 若要驗證其身分識別,對等會交換預先共用的密鑰。 IPsec 階段 1 可以兩種模式運作:主要模式或主動模式。 Azure VPN 閘道 支援兩個版本的 IKE、IKEv1 和 IKEv2,而且只以主要模式運作。 主要模式可確保 Azure VPN 閘道 與內部部署裝置之間連線的身分識別加密。
在 IPsec 階段 2 中,對等會交涉數據傳輸的安全性參數。 在這個階段中,兩個對等都同意加密和驗證演算法、安全性關聯(SA)的存留期值,以及定義透過 IPsec 通道加密哪些流量的流量選取器(TS)。 在階段 1 中建立的通道可作為此交涉的安全通道。 IPsec 可以使用驗證標頭 (AH) 通訊協定或封裝安全性承載 (ESP) 通訊協議來保護IP封包。 AH 提供完整性和驗證,而 ESP 也提供機密性(加密)。 IPsec 階段 2 可以在傳輸模式或通道模式中運作。 在傳輸模式中,只有IP封包的承載會加密,而在通道模式中,則會加密整個IP封包,並新增新的IP標頭。 IPsec 階段 2 可以在 IKEv1 或 IKEv2 之上建立。 目前的 Azure VPN 閘道 IPsec 實作僅支援通道模式中的 ESP。
支援 IPsec 的一些 Azure 服務包括:
-
站對站 VPN 連線
VNet 對 VNet 連線
點對站連線
-
VPN 網站
使用者 VPN 組態
您不需要修改任何設定來啟用這些服務的 IPsec。 默認會啟用它們。
MACsec 和 Azure 金鑰保存庫
MACsec (IEEE 802.1AE) 是一種網路安全性標準,可藉由透過乙太網路連結提供驗證和加密,在數據連結層套用假設缺口 零信任 原則。 MACsec 假設任何網路流量,即使在相同的局域網路中,也可能遭到惡意執行者入侵或攔截。 MACsec 會使用兩個網路介面之間共用的安全性密鑰來驗證並保護每個畫面。 此設定只能在兩個支援MACsec的裝置之間完成。
MACsec 是使用聯機關聯來設定,這是網路介面用來建立輸入和輸出安全性通道的一組屬性。 建立之後,透過這些通道的流量會透過兩個MACsec安全鏈接交換。 MACsec 有兩種聯機關聯模式:
- 靜態聯機關聯密鑰 (CAK) 模式:MACsec 安全連結是使用預先共用金鑰來建立,其中包含聯機關聯密鑰名稱 (CKN) 和指派的 CAK。 這些金鑰會在連結的兩端設定。
- 動態 CAK 模式:安全性金鑰是使用 802.1x 驗證程式動態產生,其可以使用集中式驗證裝置,例如遠端驗證撥入使用者服務 (RADIUS) 伺服器。
當您使用直接埠設定 Azure ExpressRoute 時,Microsoft Enterprise Edge (MSEE) 裝置將 CAK 和 CKN 儲存在 Azure 金鑰保存庫 中,以支援靜態 CAK。 若要存取 Azure 金鑰保存庫 中的值,請設定受控識別來驗證 ExpressRoute 線路資源。 此方法遵循使用最低特殊許可權存取 零信任 原則,因為只有授權的裝置可以從 Azure 金鑰保存庫 存取密鑰。 如需詳細資訊,請參閱 在 ExpressRoute Direct 埠上設定 MACsec。
步驟 2:保護及驗證從內部部署網路到 Azure VNet 的通訊
隨著不同規模的企業雲端移轉變得越來越普遍,混合式連線扮演重要角色。 請務必不僅保護和保護,還要驗證及監視內部部署網路與 Azure 之間的網路通訊。
下圖顯示保護內部部署網路與 Azure VNet 通訊及驗證通訊的參考架構。
Azure 提供兩個選項,可將內部部署網路連線到 Azure VNet 中的資源:
Azure VPN 閘道 可讓您使用 IPsec 建立站對站 VPN 通道,以加密和驗證您中央或遠端辦公室與 Azure VNet 之間的網路通訊。 它也允許個別用戶端建立點對站連線,以在沒有 VPN 裝置的情況下存取 Azure VNet 中的資源。 針對 零信任 遵循,請為 Azure VPN 閘道 連線設定Microsoft Entra ID 驗證和條件式存取原則,以驗證連線裝置的身分識別和合規性。 如需詳細資訊,請參閱 搭配條件式存取原則使用Microsoft通道 VPN 閘道。
Azure ExpressRoute 提供高頻寬私人連線,可讓您利用連線提供者的協助,將內部部署網路延伸至 Azure。 因為網路流量不會透過公用因特網傳輸,因此數據預設不會加密。 若要透過 ExpressRoute 加密流量,請設定 IPsec 通道。 不過,請記住,透過 ExpressRoute 執行 IPsec 通道時,頻寬僅限於通道頻寬,您可能需要執行多個通道以符合 ExpressRoute 線路頻寬。 如需詳細資訊,請參閱透過 ExpressRoute 私人對等互連的站對站 VPN 連線 - Azure VPN 閘道。
如果您使用 ExpressRoute Direct 連接埠,您可以在建立 BGP 對等互連或設定 MACsec 以保護第 2 層通訊時啟用驗證,以增加網路安全性。 MACsec 為乙太網路框架提供加密,確保邊緣路由器與Microsoft邊緣路由器之間的數據機密性、完整性和真實性。
Azure ExpressRoute 也支援適用於網路效能計量和警示的 Azure 監視器。
加密可以保護您的數據免於未經授權的攔截,但也引進了額外的一層處理,以加密和解密可能會影響效能的網路流量。 透過因特網進行的網路流量也可能無法預測,因為它必須通過多個網路裝置來造成網路等待時間。 為了避免效能問題,Microsoft建議使用 ExpressRoute,因為它提供可靠的網路效能和頻寬配置,可供您為工作負載自定義。
在 Azure VPN 閘道 或 ExpressRoute 之間決定時,請考慮下列問題:
- 您在內部部署網路與 Azure 之間存取的檔案和應用程式種類為何? 您是否需要一致的頻寬來傳輸大量數據?
- 您的應用程式需要一致且低延遲才能以最佳方式執行?
- 您需要監視混合式連線的網路效能和健康情況嗎?
如果您回答了上述任何問題,則 Azure ExpressRoute 應該是將內部部署網路連線到 Azure 的主要方法。
ExpressRoute 和 Azure VPN 閘道 可以共存的常見案例有兩種:
- Azure VPN 閘道 可用來將分公司連線至 Azure,同時使用 ExpressRoute 將主要辦公室連線。
- 如果您的 ExpressRoute 服務中斷,您也可以使用 Azure VPN 閘道 作為對中央辦公室的備份連線。
步驟 3:在 Azure VNet 內和跨 Azure VNet 保護及驗證通訊
Azure 內的流量具有基礎層級的加密。 在不同區域中的 VNet 之間移動流量時,Microsoft會使用 MACsec 在數據連結層加密和驗證對等互連流量。
下圖顯示用來保護及驗證 Azure VNet 內和跨 Azure VNet 通訊的參考架構。
不過,僅加密就不足以確保 零信任。 您也應該在 Azure VNet 內和跨 Azure VNet 驗證和監視網路通訊。 在 Azure VPN 閘道 或網路虛擬裝置 (NVA) 的説明下,VNet 之間的進一步加密和驗證是可行的,但並非常見做法。 Microsoft建議您設計網路拓撲,以使用集中式流量檢查模型,以強制執行細微的原則並偵測異常。
若要降低設定 VPN 閘道或虛擬裝置的額外負荷,請啟用 特定虛擬機器大小的 VNet 加密 功能,以加密和驗證主機層級、VNet 內,以及跨 VNet 對等互連的虛擬機之間的流量。
步驟 4:在應用層實作加密
應用層加密是 零信任 在使用者與 Web 應用程式或裝置互動時會加密所有數據和通訊的一個重要因素。 應用層加密可確保只有已驗證且受信任的實體可以存取 Web 應用程式或裝置。
下圖顯示應用層實作加密的參考架構。
應用層中最常見的加密範例之一是超文本傳輸通訊協定安全 (HTTPS),它會加密網頁瀏覽器與網頁伺服器之間的數據。 HTTPS 使用傳輸層安全性 (TLS) 通訊協定來加密用戶端-伺服器通訊,並使用 TLS 數位證書來驗證網站或網域的身分識別和可信度。
應用層安全性的另一個範例是安全殼層 (SSH) 和遠端桌面通訊協定 (RDP),可加密用戶端與伺服器之間的數據。 這些通訊協定也支援多重要素驗證和條件式存取原則,以確保只有授權且相容的裝置或使用者可以存取遠端資源。 如需保護 Azure 虛擬機 SSH 和 RDP 連線的相關信息,請參閱步驟 5。
Azure Web 應用程式的保護
您可以使用 Azure Front Door 或 Azure 應用程式閘道 來保護 Azure Web 應用程式。
Azure Front Door
Azure Front Door 是一項全域散發服務,可透過Microsoft的邊緣位置,將內容傳遞優化給終端使用者。 透過 Web 應用程式防火牆 (WAF) 和 Private Link 服務等功能,您可以在Microsoft網路邊緣偵測及封鎖 Web 應用程式的惡意攻擊,同時使用Microsoft內部網路私下存取來源。
為了保護您的數據,對 Azure Front Door 端點的流量會使用 HTTPS 搭配端對端 TLS 來保護所有來回端點的流量。 流量會從用戶端加密到來源,以及從來源到用戶端。
Azure Front Door 會處理 HTTPS 要求,並判斷其配置檔中的哪個端點具有相關聯的功能變數名稱。 然後它會檢查路徑,並判斷哪個路由規則符合要求的路徑。 如果已啟用快取,Azure Front Door 會檢查其快取,以查看是否有有效的回應。 如果沒有有效的回應,Azure Front Door 會選取可提供所要求內容的最佳來源。 將要求傳送至來源之前,可以將規則集套用至要求,以變更標頭、查詢字串或源目的地。
Azure Front Door 同時支援前端和後端 TLS。 前端 TLS 會加密用戶端與 Azure Front Door 之間的流量。 後端 TLS 會加密 Azure Front Door 與來源之間的流量。 Azure Front Door 支援 TLS 1.2 和 TLS 1.3。 您可以將 Azure Front Door 設定為使用自定義 TLS 憑證,或使用 Azure Front Door 管理的憑證。
注意
您也可以使用 Private Link 功能來連線到 NVA,以進行進一步的封包檢查。
Azure 應用程式閘道
Azure 應用程式閘道 是區域負載平衡器,可在第 7 層運作。 它會根據 HTTP URL 屬性來路由和散發 Web 流量。 它可以使用三種不同的方法來路由和散發流量:
- 僅限 HTTP:應用程式閘道 以未加密形式接收和路由傳送傳入 HTTP 要求至適當的目的地。
- SSL終止:應用程式閘道 解密實例層級的連入 HTTPS 要求、檢查它們,並將其路由傳送至目的地。
- 端對端 TLS:應用程式閘道 解密實例層級的連入 HTTPS 要求、檢查它們,並在路由傳送至目的地之前重新加密它們。
最安全的選項是端對端 TLS,其允許使用驗證憑證或受信任的跟證書來加密和傳輸敏感數據。 它也需要將這些憑證上傳至後端伺服器,並確保這些後端伺服器已知 應用程式閘道。 如需詳細資訊,請參閱使用 應用程式閘道 設定端對端 TLS。
此外,另一個 VNet 中虛擬機上的內部部署使用者或使用者可以使用具有相同 TLS 功能的 應用程式閘道 內部前端。 除了加密之外,Microsoft建議您一律啟用 WAF,以取得端點的更多前端保護。
步驟 5:使用 Azure Bastion 來保護 Azure 虛擬機
Azure Bastion 是受控 PaaS 服務,可讓您透過 TLS 連線安全地連線到虛擬機。 您可以從 Azure 入口網站 或透過原生用戶端建立此連線到虛擬機上的私人IP位址。 使用 Bastion 的優點包括:
- Azure 虛擬機不需要公用IP位址。 連線是透過 TCP 連接埠 443 進行 HTTPS,而且可以周遊大部分的防火牆。
- 虛擬機會受到保護,以防止埠掃描。
- Azure Bastion 平台會持續更新並受到保護,以防止零時差惡意探索。
使用 Bastion,您可以從單一進入點控制虛擬機的 RDP 和 SSH 連線能力。 您可以在 Azure 入口網站 中管理 Bastion 服務的個別會話。 如果您懷疑使用者不應該連線到該計算機,您也可以刪除或強制中斷進行中遠端會話的連線。
下圖顯示使用 Azure Bastion 保護 Azure 虛擬機的參考架構。
若要保護您的 Azure 虛擬機,請部署 Azure Bastion ,並開始使用 RDP 和 SSH 連線到具有其私人 IP 位址的虛擬機。
推薦項目培訓
- 使用 VPN 閘道 將內部部署網路連線至 Azure
- 使用 ExpressRoute 將內部部署網路連線至 Microsoft 全球網路
- Azure Front Door 簡介
- 設定 Azure 應用程式閘道
- Azure Bastion 簡介
後續步驟
如需將 零信任 套用至 Azure 網路的其他資訊,請參閱:
- 區隔以 Azure 為基礎的網路通訊
- 取得網路流量的可見度
- 停止舊版網路安全性技術
- 使用零信任保護網路
- Azure 中的輪輻虛擬網路
- Azure 中的中樞虛擬網路
- 使用 Azure PaaS 服務的輪輻虛擬網路
- Azure 虛擬 WAN
參考資料
請參閱這些連結,以瞭解本文所述的各種服務和技術。