本文將討論一系列可強化網路安全性的 Azure 最佳做法。 Microsoft 從 Azure 網路經驗以及像你這樣的組織經驗中,得出了這些最佳實務。
這些最佳實務代表共識意見,反映本文撰寫時 Azure 平台的能力與功能集。 觀點和技術會隨時間改變。 Microsoft 會定期更新本文以反映這些變更。
本文與 Microsoft 的 零信任 安全模型相符,該模型消除基於網路位置的隱性信任。 關於 Azure 原則 強制執行的規範性安全控制,請參見 Microsoft Cloud Security Benchmark v2 - 網路安全。
使用強式網路控制
您可以透過將 Azure 虛擬機器 (VM) 和設備置於 Azure 虛擬網路上,來將它們連線到其他網路裝置。 也就是說,您可以將虛擬網路介面卡連線到虛擬網路,讓有網路功能的裝置之間可進行 TCP/IP 型通訊。 連線到 Azure 虛擬網路的虛擬機器能夠連線到在相同虛擬網路、其他虛擬網路、網際網路或甚至您自己的內部部署網路上的裝置。
在規劃網路及其安全性時,請集中管理:
- 核心網路功能如 ExpressRoute、虛擬網路與子網配置,以及 IP 位址。
- 網路安全元素的治理,例如網路虛擬設備功能。
如果您使用一組通用的管理工具來監視網路和網路的安全性,您便可以清楚了解這兩者。 安全性策略若能簡單且統一,就能提升人們的理解程度和自動化可靠度而減少錯誤。
- 使用虛擬網路流量日誌以全面檢視流量 虛擬網路流量日誌提供虛擬網路內的集中流量可見性,並取代 NSG 流量日誌,實現更廣泛的監控範圍。 欲了解更多資訊,請參閱 虛擬網路流程日誌總覽。
以邏輯方式將子網路分段
Azure 虛擬網路類似於內部部署網路上的 LAN。 Azure 虛擬網路背後的構想是根據單一的私人 IP 位址空間來建立網路,以供您將所有 Azure 虛擬機器置於該網路上。 類別 A (10.0.0.0/8)、類別 B (172.16.0.0/12) 和類別 C (192.168.0.0/16) 範圍中有可用的私人 IP 位址空間。
以邏輯方式分割子網路的最佳做法包括:
不要指派範圍很廣的允許規則,例如 allow 0.0.0.0 到 255.255.255.255。 確保有故障排除程序,避免或禁止設定這類規則。 這些允許規則會導致擁有安全性的錯覺,並經常為 Red Team 所發現並利用。
將較大的位址空間分割成子網。 使用 CIDR 基礎的子網原則來建立你的子網。
建立子網路間的存取控制。 子網路之間的路由傳送會自動發生,您不需手動設定路由表。 預設情況下,您在 Azure 虛擬網路上建立的子網路之間沒有網路存取控制。 使用網路安全群組來防止未經請求的流量進入 Azure 子網。 網路安全性群組 (NSG) 是簡單且具狀態的封包檢查裝置。 NSG 採用五元組方法(來源 IP、來源埠、目的 IP、目的埠與協定)來建立網路流量的允許或拒絕規則。 您可以允許或拒絕單一 IP 位址、多個 IP 位址或整個子網路的輸入或輸出流量。
將網路安全性群組用於子網路之間的網路存取控制,可讓您將屬於相同安全性區域或角色的資源置於其本身的子網路中。
避免使用小型虛擬網路和子網,以確保簡單與彈性。 大多數組織會增加比最初計畫更多的資源,而重新分配地址非常費力。 小型子網帶來的安全性有限,且將網路安全群組映射到每個子網會增加開銷。 廣泛定義子網以確保成長的彈性。
透過定義 應用程式安全群組,簡化網路安全群組的規則管理。 定義一個應用程式安全群組,列出你認為未來可能會變動或跨多個網路安全群組使用IP位址的清單。 清楚命名應用程式安全群組,讓其他人能理解其內容與目的。
採用零信任方法
基於邊界的網路假設網路內所有系統皆可信。 但現今的員工會從任何地方使用各種裝置和應用程式來存取其組織的資源,而讓周邊安全性控制變得無關緊要。 僅著重於誰可以存取資源的存取控制原則已不足夠。 為了掌握安全性與生產力之間的平衡,安全性管理員也必須考慮使用者會如何存取資源。
網路需要從傳統防禦進化,因為網路十分易受攻擊:攻擊者可以在受信界限中入侵單一端點,並接著快速在整個網路中擴散。 零信任網路則可根據周邊內的網路位置來排除信任的概念。 相反地,零信任架構會使用裝置和使用者信任宣告來限制對組織資料和資源的存取。 若您正在準備開始新的方案,請採用零信任方法,在存取時驗證信任。
最佳做法如下:
根據裝置、身份、保證、網路位置等,給予資源條件存取。Microsoft Entra 條件式存取 透過根據所需條件實施自動存取控制決策,幫助您套用正確的存取控制。 如需詳細資訊,請參閱使用條件式存取來管理 Azure 管理的存取。
只有在工作流程核准後才啟用埠接入。 在 適用於雲端的 Microsoft Defender 中使用即時虛擬機存取(Just-in-time VM access),鎖定 Azure 虛擬機的入站流量,降低攻擊風險,同時提供輕鬆連接虛擬機的存取權限。 欲了解更多資訊,請參閱適用於雲端的 Microsoft Defender中的
即時虛擬機存取。 使用 Azure Bastion 以獲得安全的遠端虛擬機存取,且不會暴露公共 IP 位址或開啟入站埠口。Azure Bastion 透過 TLS 直接透過 Azure 入口網站,提供安全的 RDP/SSH 連線給你的虛擬機器。 Azure Bastion 開發者 SKU 現已在超過 35 個 Azure 區域免費提供,非常適合開發/測試場景。 此 SKU 可免除使用跳板機或將虛擬機暴露在網際網路上的需求,在簡化管理存取的同時縮小攻擊面。 對於生產工作負載,升級到標準版或進階版 SKU,以獲得主機擴展和工作階段錄製等額外功能。 請參閱 快速入門:與 Azure Bastion Developer 連結 以開始使用。
授予臨時權限以執行特權任務。 此做法可防止惡意或未經授權使用者在權限過期後取得存取權限。 只有在使用者需要時才授予存取權限。 在Microsoft Entra Privileged Identity Management或第三方解決方案中使用即時存取,授權執行特權任務。
零信任是網路安全性的下一個演進。 網路攻擊的狀態會促使組織採用「假想缺口」的思維,但這種方法不應該受到限制。 零信任網路既能保護公司的資料和資源,又能同時確保組織可以使用能讓員工隨時隨地以任何方式發揮生產力的技術來打造現代化的工作場所。
控制路由行為
當您在 Azure 虛擬網路上放置虛擬機器時,該 VM 可以連線到相同虛擬網路上的任何其他 VM,即使其他 VM 位於不同子網路亦然。 預設系統路由使這種通訊成為可能。 這些預設的路由讓在相同虛擬網路上的 VM 可以起始彼此之間的連線,及與網際網路的連線 (僅對網際網路的輸出通訊)。
雖然預設系統路由對許多部署場景很有用,但有時你仍想自訂部署的路由配置。 您可以設定下一跳位址以到達特定的目的地。
部署虛擬網路安全設備時,請配置 使用者自訂路由 。 此建議會出現在後面標題為「僅從虛擬網路保護您的關鍵 Azure 服務資源」的章節中。
備註
不需要使用者定義的路由,預設的系統路由通常就能運作。
使用虛擬網路設備
網路安全性群組和使用者定義的路由傳送,可以提供 OSI 模型的網路和傳輸層之特定網路安全性量值。 但在某些情況下,您會想要或需要在堆疊的高層級啟用安全性。 在這種情況下,部署由 Azure 合作夥伴提供的虛擬網路安全設備。
相較於網路層級控制項,Azure 網路安全性設備可以提供更好的安全性。 虛擬網路安全性設備的網路安全性功能包括:
- 防火牆
- 入侵偵測/入侵預防
- 弱點管理
- 應用程式控制
- 以網路為基礎的異常偵測
- Web 篩選
- 防毒
- 殭屍網路防護
若要尋找可用的 Azure 虛擬網路安全性設備,請移至 Azure Marketplace 並搜尋 "security" 和 "network security"。
部署安全性區域的周邊網路
周邊網路 (也稱為 DMZ) 是實體或邏輯網路區段,可在您的資產與網際網路之間額外提供一層安全性。 在周邊網路邊緣上的特製化網路存取控制裝置,只允許所要的流量進入您的虛擬網路。
周邊網路非常實用,因為您可以將網路存取控制管理、監視、記錄和報告的重點放在位於 Azure 虛擬網路邊緣的裝置。 在周邊網路中,您通常會啟用分散式阻斷服務 (DDoS) 保護、入侵偵測/入侵預防系統 (IDS/IPS)、防火牆規則和原則、Web 篩選、網路反惡意程式碼等。 網路安全性裝置位於網際網路與您的 Azure 虛擬網路之間,具有兩個網路均適用的介面。
雖然這是界限網路的基本設計,但還有許多不同的設計,例如背對背、三路連接和多路連接。
基於前述的 零信任 概念,考慮在所有高安全性部署中使用周邊網路,以提升 Azure 資源的網路安全與存取控制。 您可以使用 Azure 或第三方解決方案,在您的資產與網際網路之間額外提供一層安全性:
- Azure 原生服務控制。 Azure 防火牆 與 Azure Web 應用程式防火牆 提供基本的安全優勢,包括完全有狀態的防火牆即服務(firewall as a service)、內建高可用性、無限制的雲端擴展性、FQDN 過濾、支援 OWASP 核心規則集,以及簡易的設定與設定。
- 第三方提供的產品。 搜尋 Azure Marketplace 以取得新一代防火牆 (NGFW) 和其他第三方供應項目,其提供熟悉的安全性工具及增強的網路安全性等級。 第三方供應項目的設定可能會比較複雜,但可讓您使用現有的功能和技能集。
防範 DDoS 攻擊
DDoS 防護有助於維持對網工作負載的可用性,因為它能在體積攻擊和協定攻擊淹沒公共端點之前降低它們的影響。
- 在具有公開資源的虛擬網路上啟用 DDoS 網路保護。 將 DDoS 網路保護套用至承載公用 IP 資源的虛擬網路,讓關鍵工作負載受益於持續啟用的自適應調校與回應。 如需詳細資訊,請參閱 Azure DDoS 保護概觀。
- 選擇符合您公共暴露風險的 DDoS 防護方案。 當你需要保護虛擬網路中的多個公共 IP 資源時,請使用 DDoS 網路保護;當你需要針對較少數量的公共 IP 位址進行針對性保護時,則考慮使用 DDoS IP 保護。 如需詳細資訊,請參閱 Azure DDoS 保護概觀。
- 透過網頁應用防火牆來層層 DDoS 防護。 結合 DDoS 防護與 Azure Web 應用程式防火牆,以防範第 3 層與第 4 層的體積攻擊與協定攻擊,同時檢查第 7 層的網頁流量。 如需詳細資訊,請參閱 Azure DDoS 保護概觀。
- 使用DDoS診斷與警示來應對事件。 將DDoS遙測數據串流至監控工具,並設定警示,讓您的資安團隊能迅速調查攻擊並確認緩解措施。 如需詳細資訊,請參閱 Azure DDoS 保護概觀。
請避免暴露於專用 WAN 連結的網路中
許多組織已選擇混合式 IT 路由。 若使用混合式 IT,則部分公司的資訊資產將放置於 Azure 中,而其他資產則維持內部部署。 在許多情況下,服務的部分元件在 Azure 中執行,而其他元件則維持內部部署。
在混合式 IT 案例中,通常會有某種類型的跨單位連線。 跨部署連線能力讓公司能將其內部部署網路連線至 Azure 虛擬網路。 可用的跨單位連線解決方案有兩個︰
- 站台對站台 VPN。 可靠且完備的技術,但連線是透過網際網路來建立。 頻寬會受限於約 1.25 Gbps 的最大值。 在某些情況下,站對站 VPN 是理想的選項。
- Azure ExpressRoute。 使用 ExpressRoute 進行跨場所連接。 ExpressRoute 幫助您透過由連接服務提供者協助的私人連線,將本地網路擴展至 Microsoft 雲端。 透過 ExpressRoute,您可以建立 Microsoft 雲端服務的連線,例如 Azure、Microsoft 365 和 Dynamics 365。 ExpressRoute 是內部部署位置或 Microsoft Exchange 主機服務提供者之間專用的 WAN 連結。 因為這是電信連線,你的資料不會透過網際網路傳輸,因此不會暴露在網路通訊的潛在風險中。
ExpressRoute 連線的位置可能會影響防火牆的容量、可擴縮性、可靠性和網路流量可見度。 在現有(本地)網路中,找出 ExpressRoute 應終止的位置。 您可以:
- 在防火牆外部終止 (周邊網路典範)。 如果您需要了解流量、需要繼續現有隔離資料中心的做法,或者只要將外部網路資源放在 Azure 上,請使用此建議。
- 在防火牆內終止 (網路延伸典範)。 這個選項是預設的建議。 在其他情況下,請將 Azure 視為另一個資料中心。
將執行時間和效能最佳化
如果服務中斷,你就無法取得資訊。 如果因為效能不佳而使資料無法使用,您可以將該資料視為無法存取。 從安全角度來看,請確保您的服務擁有最佳的運作時間與效能。
增強可用性和效能之常見且有效的方法是負載平衡。 負載平衡將網路流量分配到服務的一部分伺服器之間。 例如,使用負載平衡將流量分配到多個屬於你服務的前端網頁伺服器。
這種流量分配提升可用性,因為如果其中一台網頁伺服器無法使用,負載平衡器會停止向該伺服器傳送流量,並將流量導向仍在線上的伺服器。 負載平衡也有助於效能,因為服務要求的處理器、網路和記憶體額外負荷會分散於所有負載平衡的伺服器。
在適合您的服務的情況下,請盡可能採用負載平衡機制。 下列是在 Azure 虛擬網路層級和全域層級的案例,以及兩者的負載平衡選項。
案例:您擁有的應用程式:
- 需要來自相同使用者/用戶端工作階段的要求到達相同的後端虛擬機器。 此情況的範例為:購物車應用程式和網頁郵件伺服器。
- 只接受安全連線,因此,對伺服器進行未加密通訊不是可接受的選項。
- 需要在相同的長時間執行 TCP 連線上,將多個 HTTP 要求路由或負載平衡到不同的後端伺服器。
負載平衡選項:使用 Azure 應用程式閘道 (HTTP Web 流量負載平衡器)。 應用程式閘道支援在閘道上的端對端 TLS 加密和 TLS 終止。 網路伺服器因此可以免除加密與解密的負擔,流量也能無加密地流向後端伺服器,儘管當後端機密性重要時,端對端 TLS 仍是較安全的預設。
案例:您需要將來自網際網路的傳入連線進行負載平衡,以便分散到位於 Azure 虛擬網路中的伺服器之間。 情境是當您:
- 有可接受來自網際網路傳入要求的無狀態應用程式。
- 不需要黏著工作階段或 TLS 卸載。 黏著工作階段是搭配應用程式負載平衡使用的方法,用於達到伺服器親和性。
負載平衡選項:使用 Azure 入口網站建立外部負載平衡器,將傳入要求分散到多個 VM,以提供較高層級的可用性。
情境:你需要對非網路虛擬機的連線進行負載平衡。 大部分情況下,發起負載平衡連線的裝置來自於 Azure 虛擬網路,例如 SQL Server 實例或內部網頁伺服器。 負載平衡選項:使用 Azure 入口網站建立內部負載平衡器,將傳入要求分散到多個 VM,以提供較高層級的可用性。
案例:您需要全域負載平衡,因為:
- 有一套廣泛分散於多個區域的雲端解決方案,且需要盡可能最高等級的正常運行時間(可用性)。
- 需要最高等級的上線時間,以確保即使整個資料中心無法使用,您的服務仍可用。
負載平衡選項:使用 Azure 流量管理員。 流量管理員可以根據使用者的位置,對您服務的連線進行負載平衡。
例如,如果使用者從 EU 對您的服務提出要求,此連線則會被導向到您位於 EU 資料中心的服務。 這部分的流量管理員全域負載平衡有助於改善效能,因為連接到最近的資料中心比連接到遠處的資料中心還要快。
關閉對虛擬機的 RDP 與 SSH 存取
有可能可以使用遠端桌面通訊協定 (RDP) 和安全殼層 (SSH) 通訊協定來連線到 Azure 虛擬機器。 這些通訊協定可讓您從遠端位置管理 VM,且它們是資料中心計算的標準。
在網際網路上使用這些通訊協定的潛在安全性問題是,攻擊者可以使用暴力密碼破解技術來取得 Azure 虛擬機器的存取權。 攻擊者取得存取權之後,就可以使用您的虛擬機器作為破壞您虛擬網路上其他電腦的啟動點,或甚至攻擊 Azure 之外的網路裝置。
關閉從網際網路直接存取 Azure 虛擬機器的 RDP 和 SSH 功能。 在關閉直接 RDP 和 SSH 網路存取後,使用其他選項遠端管理這些虛擬機。
案例:讓單一使用者能透過網際網路連線到 Azure 虛擬網路。 選項:點對站 VPN 是遠端存取 VPN 用戶端/伺服器連線的另一種說法。 點對站連線建立後,使用者可使用 RDP 或 SSH 連接 Azure 虛擬網路中透過點對地 VPN 連接的虛擬機。 此連線假設使用者被授權存取這些虛擬機。
點對站 VPN 比直接 RDP 或 SSH 連線更安全,因為使用者必須先經過兩次驗證,才會連線到 VM。 首先,使用者必須經過驗證 (並獲得授權) 以建立點對站 VPN 連線。 然後,使用者必須經過驗證 (並獲得授權) 以建立 RDP 或 SSH 工作階段。
案例:讓您內部部署網路上的使用者可以連線到您 Azure 虛擬網路上的 VM。 選項:站對站 VPN 透過網際網路將整個網路連線到另一個網路。 您可以使用站對站 VPN 將內部部署網路連線到 Azure 虛擬網路。 您內部部署網路上的使用者是透過站對站 VPN 連線,使用 RDP 或 SSH 通訊協定來連線。 您不需要允許透過網際網路的直接 RDP 或 SSH 存取。
案例:使用專用的 WAN 連結來提供類似站對站 VPN 的功能。 選項:使用 ExpressRoute。 ExpressRoute 提供類似站對站 VPN 的功能。 主要差別在於:
- 專用的 WAN 連結不會周遊網際網路。
- 專用的 WAN 連結通常比較穩定且效能較好。
請只從虛擬網路保護你的關鍵 Azure 服務資源
使用 Azure Private Link 透過虛擬網路中的私有端點存取 Azure PaaS 服務,例如 Azure 儲存體 和 SQL Database。 私有端點限制你對關鍵 Azure 服務資源的存取權限,僅限於虛擬網路。 從您虛擬網路到 Azure 服務的流量一定會保留在 Microsoft Azure 骨幹網路上。 使用Azure PaaS服務不再需要將虛擬網路暴露於公共網際網路。
Azure Private Link 提供下列優點:
- 提升 Azure 服務資源的安全。 透過使用 Azure Private Link,您可以使用私有端點將 Azure 服務資源安全至虛擬網路。 將服務資源保護到虛擬網路中的私人端點,可藉由移除對資源的公用網際網路存取,並只允許來自虛擬網路中私人端點的流量,來提升安全性。
- 私密存取 Azure 平台上的 Azure 服務資源。 透過私有端點將你的虛擬網路連接到 Azure 中的服務。 你不需要公共 IP 位址。 Private Link 平台負責消費者與服務之間的連接,透過 Azure 骨幹網路。
- 可從本地及對等網路存取服務。 透過 ExpressRoute 私人對等互連、VPN 通道及透過私人端點連接的虛擬網路,從內部部署存取 Azure 中執行的服務。 您不需要設定 ExpressRoute Microsoft 對等互連或周遊網際網路,即可連線到服務。 Private Link 提供將工作負載移轉至 Azure 的安全方式。
- 防止資料外洩。 私有端點被映射到某個 PaaS 資源的實例,而非整個服務。 消費者只能連接到特定資源,且對服務中其他資源的存取會被阻擋。 此映射可防範資料外洩風險。
- 跨地區擴展私人存取權限。 以私密方式連線到在其他區域執行的服務。 消費者的虛擬網路可以位於區域 A,並連接到區域 B 的服務。
- 簡化私有端點的部署與操作。 你不再需要在虛擬網路中保留公共 IP 位址來透過 IP 防火牆保護 Azure 資源。 你不需要 NAT 或閘道裝置來設置私有端點。 私有端點透過簡單的工作流程配置,服務端也能輕鬆管理 Azure 服務資源上的連線請求。 Azure Private Link 適用於屬於不同 Microsoft Entra 租戶的消費者與服務。
- 啟用私有端點後,請停用公共網路存取。 當服務支援時,驗證私有端點連線後,關閉公共網路存取,使資源只接受經核准的私有路徑流量。 更多資訊請參見Azure Private Link。
- 為每個服務設計專用 DNS 區域。 使用每個 Azure 服務推薦的私有 DNS 區域,並將該區域連結到承載私人端點的虛擬網路,這樣名稱解析才能保持一致。 如需詳細資訊,請參閱 Azure 私人端點私人 DNS 區域值。
- 在支援的私人端點子網路上套用網路安全性群組 (NSG)。 啟用私人端點的網路原則,並在主機子網路使用 NSG 執行東西向及輸入篩選要求,以支援情境。 如需詳細資訊,請參閱 管理私人端點的網路原則。
- 使用 Network Security Perimeter 來進行受管理的網路隔離。 當您需要較新的受控隔離界線,用於 PaaS 資源並降低公開曝露,而不僅仰賴以 IP 為基礎的限制時,請評估 Network Security Perimeter。 欲了解更多資訊,請參閱 網路安全邊界概念。
關於私有端點及私有端點可用的Azure服務與區域的更多資訊,請參見 Azure Private Link。
下一步
- 如需更多安全性最佳做法,請參閱 Azure 安全性最佳做法與模式,以便在使用 Azure 設計、部署和管理雲端解決方案時使用。
- 請檢視 Microsoft Cloud Security Benchmark v2(預覽版)-網路安全 控制,以獲得完整的網路安全指引,並搭配 Azure 原則 映射。
- 了解 Microsoft 安全未來倡議(SFI),這是 Microsoft 內部保護網路的安全最佳實務。