共用方式為


Azure 的網路安全性最佳做法

本文將討論一系列可強化網路安全性的 Azure 最佳做法。 這些最佳作法衍生自我們的 Azure 網路經驗和客戶的經驗。

針對每個最佳做法,本文說明:

  • 最佳作法是什麼
  • 您為何想要啟用該最佳作法
  • 如果無法啟用最佳作法,結果可能為何
  • 最佳作法的可能替代方案
  • 如何學習啟用最佳作法

這些最佳做法的根據是眾人一致同意的觀點以及 Azure 平台功能和特性集 (因為在撰寫本文時已存在)。 意見和技術會隨著時間改變,本文將定期更新以反映那些變更。

使用強式網路控制

您可以透過將 Azure 虛擬機器 (VM) 和設備置於 Azure 虛擬網路上,來將它們連線到其他網路裝置。 也就是說,您可以將虛擬網路介面卡連線到虛擬網路,讓有網路功能的裝置之間可進行 TCP/IP 型通訊。 連線到 Azure 虛擬網路的虛擬機器能夠連線到在相同虛擬網路、其他虛擬網路、網際網路或甚至您自己的內部部署網路上的裝置。

在規劃網路和網路的安全性時,建議您集中:

  • 核心網路功能的管理,例如 ExpressRoute、虛擬網路和子網路佈建,以及 IP 定址。
  • 網路安全性元素的治理,例如 ExpressRoute、虛擬網路和子網路佈建以及 IP 定址等網路虛擬設備功能。

如果您使用一組通用的管理工具來監視網路和網路的安全性,您便可以清楚了解這兩者。 安全性策略若能簡單且統一,就能提升人們的理解程度和自動化可靠度而減少錯誤。

以邏輯方式將子網路分段

Azure 虛擬網路類似於內部部署網路上的 LAN。 Azure 虛擬網路背後的構想是根據單一的私人 IP 位址空間來建立網路,以供您將所有 Azure 虛擬機器置於該網路上。 類別 A (10.0.0.0/8)、類別 B (172.16.0.0/12) 和類別 C (192.168.0.0/16) 範圍中有可用的私人 IP 位址空間。

以邏輯方式分割子網路的最佳做法包括:

最佳做法:請勿指派範圍廣泛的允許規則 (例如,允許 0.0.0.0 到 255.255.255.255)。
詳細資料:確定疑難排解程序不鼓勵或禁止設定這些類型的規則。 這些允許規則會導致擁有安全性的錯覺,並經常為 Red Team 所發現並利用。

最佳做法:將較大的位址空間分割成子網路。
詳細資料:您可以使用 CIDR 型子網路原則來建立子網路。

最佳做法:建立子網路之間的網路存取控制。 子網路之間的路由傳送會自動發生,您不需手動設定路由表。 根據預設,您在 Azure 虛擬網路上建立的子網路之間沒有網路存取控制。
詳細資料:使用網路安全性群組,以防止未經要求的流量進入 Azure 子網路。 網路安全性群組 (NSG) 是簡單且具狀態的封包檢查裝置。 NSG 使用 5 Tuple 的方法 (來源 IP、來源連接埠、目的地 IP、目的地連接埠和第 4 層通訊協定) 來建立網路流量的允許/拒絕規則。 您可以允許或拒絕單一 IP 位址、多個 IP 位址或整個子網路的輸入或輸出流量。

將網路安全性群組用於子網路之間的網路存取控制,可讓您將屬於相同安全性區域或角色的資源置於其本身的子網路中。

最佳做法:避免小型虛擬網路和子網路,以確保簡單和彈性。 詳細資料:大多數組織會新增比一開始所規劃還要多的資源,但重新配置位址相當耗費人力。 使用小型子網路所能增加的安全性價值有限,而且將網路安全性群組對應到每個子網路會帶來額外負荷。 請定義廣泛的子網路,以確保成長彈性。

最佳做法:透過定義應用程式安全性群組,來簡化網路安全性群組規則管理。
詳細資料:針對您認為未來可能變更或在許多網路安全性群組中使用的 IP 位址清單,定義一個應用程式安全性群組。 請務必為應用程式安全性群組提供清楚的名稱,以便其他人可以了解其內容和用途。

採用零信任方法

周邊網路的運作會假設網路內的所有系統都可受信任。 但現今的員工會從任何地方使用各種裝置和應用程式來存取其組織的資源,而讓周邊安全性控制變得無關緊要。 僅著重於誰可以存取資源的存取控制原則已不足夠。 為了掌握安全性與生產力之間的平衡,安全性管理員也必須考慮使用者會如何存取資源。

網路需要從傳統防禦進化,因為網路十分易受攻擊:攻擊者可以在受信界限中入侵單一端點,並接著快速在整個網路中擴散。 零信任網路則可根據周邊內的網路位置來排除信任的概念。 相反地,零信任架構會使用裝置和使用者信任宣告來限制對組織資料和資源的存取。 若您正在準備開始新的方案,請採用零信任方法,在存取時驗證信任。

最佳做法如下:

最佳做法:根據裝置、身分識別、保證、網路位置等,提供對資源的條件式存取。
詳細資料Microsoft Entra 條件式存取可讓您根據所需的條件來實作自動化的存取控制決策,以套用正確的存取控制。 如需詳細資訊,請參閱使用條件式存取來管理 Azure 管理的存取

最佳做法:只有在工作流程核准後,才會啟用連接埠存取。
詳細資料:您可以在適用於雲端的 Microsoft Defender 中使用 Just-In-Time VM 存取權來鎖定 Azure VM 的輸入流量,進而降低暴露於攻擊的風險,同時讓您視需要輕鬆連線至 VM。

最佳做法:授與臨時權限以執行特殊權限的工作,這可防止惡意或未經授權的使用者在權限過期後取得存取權。 只有當使用者需要時才會獲得存取權。
詳細資料:在 Microsoft Entra Privileged Identity Management 或第三方解決方案中使用 Just-In-Time 存取權,以授與用來執行特殊權限工作的權限。

零信任是網路安全性的下一個演進。 網路攻擊的狀態會促使組織採用「假想缺口」的思維,但這種方法不應該受到限制。 零信任網路既能保護公司的資料和資源,又能同時確保組織可以使用能讓員工隨時隨地以任何方式發揮生產力的技術來打造現代化的工作場所。

控制路由行為

當您在 Azure 虛擬網路上放置虛擬機器時,該 VM 可以連線到相同虛擬網路上的任何其他 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 應用程式防火牆提供基本的安全性優點。 優點是具備服務形式的完整具狀態防火牆、內建的高可用性、不受限制的雲端可擴縮性、FQDN 篩選、對 OWASP 核心規則集的支援,以及簡單的安裝和設定。
  • 第三方供應項目。 搜尋 Azure Marketplace 以取得新一代防火牆 (NGFW) 和其他第三方供應項目,其提供熟悉的安全性工具及增強的網路安全性等級。 第三方供應項目的設定可能會比較複雜,但可讓您使用現有的功能和技能集。

許多組織已選擇混合式 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 視為另一個資料中心。

將執行時間和效能最佳化

如果服務已關閉,便無法存取資訊。 如果因為效能不佳而使資料無法使用,您可以將該資料視為無法存取。 從安全性觀點來看,您需要盡可能地確保您的服務有最佳的執行時間和效能。

增強可用性和效能之常見且有效的方法是負載平衡。 負載平衡是將網路流量分散於服務中各伺服器的方法。 比方說,如果您的服務中有前端 Web 伺服器,您可以使用負載平衡將流量分散於多部前端 Web 伺服器。

此流量分散會提高可用性,因為如果其中一部 Web 伺服器無法使用,負載平衡器將會停止將流量傳送到該伺服器,並將流量重新導向至仍在運作的伺服器。 負載平衡也有助於效能,因為服務要求的處理器、網路和記憶體額外負荷會分散於所有負載平衡的伺服器。

建議您儘可能為您的服務採用適當的負載平衡。 下列是在 Azure 虛擬網路層級和全域層級的案例,以及兩者的負載平衡選項。

案例:您擁有的應用程式:

  • 需要來自相同使用者/用戶端工作階段的要求,到達相同的後端虛擬機器。 此情況的範例為:購物車應用程式和網頁郵件伺服器。
  • 只接受安全連線,因此,對伺服器進行未加密通訊不是可接受的選項。
  • 需要在同一個長時間執行之 TCP 連線上的多個 HTTP 要求,會路由傳送到或進行負載平衡分散到不同的後端伺服器。

負載平衡選項:使用 Azure 應用程式閘道 (HTTP Web 流量負載平衡器)。 應用程式閘道支援在閘道上的端對端 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 存取之後,您有其他選項可用來存取這些 VM,以進行遠端管理。

案例:讓單一使用者能透過網際網路連線到 Azure 虛擬網路。
選項點對站 VPN 是遠端存取 VPN 用戶端/伺服器連線的另一種說法。 建立點對站連線之後,使用者就能使用 RDP 或 SSH 連線到位於使用者透過點對站 VPN 連線之 Azure 虛擬網路上的任何 VM。 此案例假設使用者有權連到這些 VM。

點對站 VPN 比直接 RDP 或 SSH 連線更安全,因為使用者必須先經過兩次驗證,才會連線到 VM。 首先,使用者必須經過驗證 (並獲得授權) 以建立點對站 VPN 連線。 然後,使用者必須經過驗證 (並獲得授權) 以建立 RDP 或 SSH 工作階段。

案例:讓您內部部署網路上的使用者可以連線到您 Azure 虛擬網路上的 VM。
選項站對站 VPN 透過網際網路將整個網路連線到另一個網路。 您可以使用站對站 VPN 將內部部署網路連線到 Azure 虛擬網路。 您內部部署網路上的使用者是透過站對站 VPN 連線,使用 RDP 或 SSH 通訊協定來連線。 您不需要允許透過網際網路的直接 RDP 或 SSH 存取。

案例:使用專用的 WAN 連結來提供類似站對站 VPN 的功能。
選項:使用 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 服務和區域,請參閱 Azure Private Link

下一步

如需更多安全性最佳做法,請參閱 Azure 安全性最佳做法與模式,以便在使用 Azure 設計、部署和管理雲端解決方案時使用。