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)。
詳細數據:確保疑難解答程序不鼓勵或禁止設定這些類型的規則。 這些允許規則會導致錯誤的安全性感,而且經常被紅色小組發現並加以利用。

最佳做法:將較大的位址空間分割成子網。
詳細數據:使用 CIDR 型子網原則來建立子網。

最佳做法:在子網之間建立網路訪問控制。 子網之間的路由會自動發生,您不需要手動設定路由表。 根據預設,您在 Azure 虛擬網路上建立的子網之間沒有網路存取控制。
詳細數據:使用 網路安全組 來防範 Azure 子網中未經請求的流量。 網路安全組 (NSG) 是簡單的具狀態封包檢查裝置。 NSG 使用 5 元組方法(來源 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 彼此起始連線,以及與因特網的連線(僅適用於因特網的輸出通訊)。

雖然預設系統路由適用於許多部署案例,但有時候您想要自定義部署的路由設定。 您可以設定下一個躍點位址以連線到特定目的地。

建議您在 部署虛擬網路的安全性設備時設定使用者定義的路由 。 我們會在稍後的章節中討論這項建議,標題是 將重要的 Azure 服務資源只保護您的虛擬網路

注意

不需要使用者定義的路由,而且預設系統路由通常可以運作。

使用虛擬網路設備

網路安全組和用戶定義路由可以提供 OSI 模型網路和傳輸層的特定網路安全性量值。 但在某些情況下,您想要或需要啟用高層級堆疊的安全性。 在這種情況下,建議您部署 Azure 合作夥伴所提供的虛擬網路安全性設備。

相較於網路層級控制項,Azure 網路安全性設備可以提供更好的安全性。 虛擬網路安全性裝置的網路安全性功能包括:

  • 防火牆
  • 入侵檢測/入侵預防
  • 弱點管理
  • 應用程式控制
  • 網路型異常偵測
  • Web 篩選
  • 防毒
  • Botnet 保護

若要尋找可用的 Azure 虛擬網路安全性設備,請移至 Azure Marketplace 並搜尋「安全性」和「網路安全性」。

部署安全性區域的周邊網路

周邊網路(也稱為 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,您可以建立與 Azure、Microsoft 365 和 Dynamics 365 等 Microsoft 雲端服務的連線。 ExpressRoute 是內部部署位置或 Microsoft Exchange 主控提供者之間的專用 WAN 連結。 因為這是電信業連線,您的數據不會透過因特網傳輸,因此不會暴露在因特網通訊的潛在風險下。

ExpressRoute 連線的位置可能會影響防火牆容量、延展性、可靠性和網路流量可見度。 您必須識別在現有 (內部部署) 網路中終止 ExpressRoute 的位置。 您可以:

  • 在防火牆外部終止(周邊網路架構)。 如果您需要瞭解流量、需要繼續隔離數據中心的現有做法,或只是將外部網路資源放在 Azure 上,請使用此建議。
  • 在防火牆內部終止(網路延伸模組範例)。 這是預設建議。 在所有其他情況下,我們建議將 Azure 視為另一個數據中心。

優化運行時間和效能

如果服務已關閉,就無法存取資訊。 如果效能太差,數據無法使用,您可以將數據視為無法存取。 從安全性的觀點來看,您必須執行任何動作,以確保服務具有最佳的運行時間和效能。

增強可用性和效能的熱門有效方法是負載平衡。 負載平衡是將網路流量分散到屬於服務一部分的伺服器的方法。 例如,如果您的前端網頁伺服器是服務的一部分,您可以使用負載平衡將流量分散到多個前端網頁伺服器。

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

建議您儘可能採用負載平衡,並視您的服務方式使用。 以下是 Azure 虛擬網路層級和全域層級的案例,以及每個的負載平衡選項。

案例:您有一個應用程式:

  • 要求來自相同使用者/用戶端會話的要求,才能連線到相同的後端虛擬機。 例如購物車應用程式和 Web 郵件伺服器。
  • 只接受安全連線,因此對伺服器的未加密通訊不是可接受的選項。
  • 需要相同長時間執行的 TCP 連線上的多個 HTTP 要求,才能路由或負載平衡到不同的後端伺服器。

負載平衡選項:使用 Azure 應用程式閘道 HTTP Web 流量負載平衡器。 應用程式閘道 支援端對端 TLS 加密和閘道上的 TLS 終止。 然後,Web 伺服器可以從加密和解密額外負荷中解除負擔,以及流量未加密至後端伺服器。

案例:您必須在位於 Azure 虛擬網路的伺服器之間平衡來自因特網的連入連線。 案例是當您:

  • 具有可接受來自因特網之連入要求的無狀態應用程式。
  • 不需要黏性會話或 TLS 卸除。 黏性會話是搭配應用程式負載平衡使用的方法,可達成伺服器親和性。

負載平衡選項:使用 Azure 入口網站 建立外部負載平衡器,將連入要求分散到多個 VM,以提供較高層級的可用性。

案例:您需要從不在因特網上的 VM 進行負載平衡。 在大部分情況下,接受進行負載平衡的連線是由 Azure 虛擬網路上的裝置所起始,例如 SQL Server 實例或內部網頁伺服器。
負載平衡選項:使用 Azure 入口網站 建立內部負載平衡器,將連入要求分散到多個 VM,以提供較高層級的可用性。

案例:您需要全域負載平衡,因為您:

  • 擁有廣泛分散於多個區域的雲端解決方案,而且需要最高層級的運行時間(可用性)。
  • 需要可能的最高運行時間層級,以確保即使整個數據中心無法使用,您的服務仍可供使用。

負載平衡選項:使用 Azure 流量管理員。 流量管理員 可讓您根據使用者的位置,對服務的連線進行負載平衡。

例如,如果使用者向歐盟的服務提出要求,則會將連線導向至位於歐盟數據中心的服務。 流量管理員 全域負載平衡的這個部分有助於改善效能,因為連線到最接近的數據中心比連線到遙遠的數據中心更快。

停用虛擬機的 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 資料庫]。 私人端點可讓您將重要的 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 設計、部署和管理雲端解決方案時要使用的更多安全性最佳做法。