編輯

共用方式為


Azure 中高度敏感的 IaaS 應用程式的安全注意事項

Azure 磁碟加密
Azure 防火牆
Azure 金鑰保存庫
適用於雲端的 Microsoft Defender
Azure 虛擬網路

將基礎結構即服務 (IaaS) 應用程式部署至 Azure 有許多安全性考慮。 本文以虛擬機型工作負載和混合式網路基礎結構的參考架構為基礎,以根據 Azure 安全性基本概念,專注於 Azure 中高度敏感 IaaS 工作負載的安全性。

另請參閱 Azure 中 IaaS 工作負載的 Azure 虛擬機安全性概觀和安全性最佳做法。

Azure VM

Azure 的計算平臺是以機器虛擬化為基礎。 Hypervisor 會在每個 Azure 節點或網路端點的實體硬體上執行,並在節點中建立可變數目的客體 Hyper-V 虛擬機(VM)。 所有使用者程式代碼都會在 VM 上執行。 如需基本的 Azure VM 部署指示,請參閱 在 Azure 上執行 Linux VM 或 在 Azure 上執行 Windows VM。 這兩個操作系統 (OS) 的大部分部署程式都相同,但磁碟加密等 OS 特定工具可能會有所不同。

您可以使用 適用於雲端的 Microsoft Defender 進行 VM 修補程式管理,以及部署和監視反惡意程式碼工具。 或者,您可以管理自己的或第三方修補和反惡意代碼工具,這在擴充或移轉至 Azure 時很常見。

Microsoft提供基本 分散式阻斷服務 (DDoS) 保護,作為 Azure 平臺的一部分。 具有公用端點的應用程式可以使用標準 Azure DDoS 保護 進行其他保護。 不過,高度敏感的工作負載通常沒有公用端點,而且只能透過虛擬專用網 (VPN) 或租用線路從特定位置存取。

多層式架構

許多 IaaS 應用程式是由多層組成,例如 Web 層、商務層和數據層,這些層裝載於多個 VM。 在 Azure VM 上部署 多層 式應用程式架構的主要層面包括:

  • 高可用性 (HA)。 HA 應用程式必須超過99.9%的時間。 將多層式 VM 放在不同的 Azure 可用性區域中 可確保 HA,因為可用性區域跨越一或多個資料中心,透過對資料中心失敗的抵抗提供復原能力。 不支援可用性區域的區域可以使用 可用性設定組,將 VM 分散到多個隔離的硬體節點。
  • 負載平衡負載平衡器會將 流量分散到 VM 之間,以平衡負載,並在 VM 失敗時進行復原。 如果應用程式管理負載平衡,且呼叫端知道個別 VM,則不需要負載平衡器。
  • 虛擬網路虛擬網路 和子網會分割您的網路,讓您更輕鬆地進行安全性管理和進階路由。
  • 功能變數名稱系統(DNS)Azure DNS 提供高可用性且安全的 DNS 服務。 Azure DNS 中的私人區域可讓您在虛擬網路內使用自定義網域。

備份和還原

若要防範人為錯誤、惡意數據刪除和勒索軟體,您應該至少備份您的資料層 VM。 Azure 備份 可以在 Azure 金鑰保存庫 中存取加密金鑰時備份和還原加密的 VM

針對 Web 和商務層,您可以使用 虛擬機擴展集 自動調整規則來自動 終結遭入侵的 VM ,並從基底映射部署新的 VM 實例。

計算隔離

在每個 Azure 節點或網路端點上,Hypervisor 和特殊的根 OS 可確保客體 VM 無法存取實體主機伺服器,而且使用者程式代碼只會在客體 VM 上執行。 此隔離可防止使用者取得系統的原始讀取、寫入或執行存取權,並降低共用資源的風險。 Azure 可透過 Hypervisor 和進階 VM 放置演算法,防範所有已知的 側路攻擊嘈雜的鄰居 。 如需詳細資訊,請參閱計算隔離

針對高度敏感的工作負載,您可以使用隔離的 VM專用主機來新增額外的保護,以防止側通道攻擊。

隔離式 VM

隔離的 VM 是大型 VM 大小,會隔離至特定硬體類型,並專用於單一客戶。 使用隔離的 VM 大小可確保您的 VM 是唯一在特定伺服器實例上執行的 VM。 您可以使用巢狀虛擬機的 Azure 支援,進一步細分隔離 VM 的資源。

隔離 VM 的大小下限為 64 個虛擬 CPU 核心和 256 GiB 的記憶體。 這些 VM 遠大於大部分多層式應用程式所需的規模,而且可能會產生大量的成本額外負荷。 若要降低額外負荷,您可以在具有巢狀虛擬化的單一 VM 上執行多個應用層,或在不同的進程或容器中執行。 您仍然需要在可用性區域中部署不同的 VM 以進行復原,並在不同的 VM 上執行 非軍事區域 (DMZ) 設備 。 基於經濟原因,將多個應用程式結合在一個基礎結構上,也可能與組織應用程式隔離原則衝突。

隨著 Azure 區域功能隨著時間的擴充,Azure 也可以移除特定 VM 大小的隔離保證,並通知一年。

Azure 專用主機

Azure 專用主機 是高度敏感工作負載的慣用計算隔離解決方案。 專用主機是專用於一個客戶用來裝載多個 VM 的實體伺服器。 除了隔離 VM 之外,專用主機還可讓您控制 維護和 VM 放置,以避免吵雜的鄰居。

專用主機

專用主機的大小下限和許多與隔離 VM 相同的重設大小考慮。 不過,專用主機可以裝載位於不同虛擬網路中的 VM,以滿足應用程式隔離原則。 您仍應該在不同的主機上執行 DMZ VM,以防止 DMZ 中任何側路攻擊遭到入侵的 VM。

加密

數據加密是保護工作負載的重要元件。 加密會編碼資訊,因此只有授權的接收者可以使用密鑰或憑證將它譯碼。 加密包括 磁碟加密、待用數據加密,以及 傳輸層級安全性 (TLS),用於透過網路進行加密傳輸。

Azure Key Vault

您可以將加密金鑰和憑證儲存在 Azure 金鑰保存庫,這是針對聯邦資訊處理標準 (FIPS) 140-2 層級 2 驗證的雲端硬體安全性模組 (HSM) 解決方案。 如需只允許授權的應用程式和使用者存取 金鑰保存庫 的最佳做法,請參閱保護密鑰保存庫的存取。

若要保護 金鑰保存庫 中的金鑰,您可以啟用虛刪除,以確保已刪除的金鑰可復原。 如需其他保護,您可以將 個別密鑰 備份至可用來 還原密鑰的加密檔案,可能位於相同地理位置的另一個 Azure 區域。

在 VM 上裝載 SQL Server 時,您可以使用 適用於 Microsoft Azure Key Vault 的 SQL Server 連接器 來取得透明數據加密 (TDE)數據行層級加密 (CLE) 和備份加密的金鑰。 如需詳細資訊,請參閱在 Azure 虛擬機上設定 SQL Server 的 Azure 金鑰保存庫 整合。

Azure 磁碟加密

Azure 磁碟加密 使用 BitLocker 外部金鑰保護裝置來為 Azure VM 的 OS 和資料磁碟提供磁碟區加密,並可與 Azure 金鑰保存庫 整合,以協助您控制和管理磁碟加密密鑰和秘密。 每個 VM 都會產生自己的加密金鑰,並將其儲存在 Azure 金鑰保存庫。 若要設定 Azure 金鑰保存庫 以啟用 Azure 磁碟加密,請參閱建立及設定 Azure 磁碟加密 的密鑰保存庫。

針對高度敏感的工作負載,您也應該使用 密鑰加密金鑰 (KEK) 來獲得額外的安全性層級。 當您指定KEK時,Azure 磁碟加密 使用該金鑰來包裝加密秘密,再寫入 金鑰保存庫。 您可以在 Azure 金鑰保存庫 中產生 KEK,但更安全的方法是在內部部署 HSM 中產生金鑰,並將其匯入 Azure 金鑰保存庫。 此案例通常稱為「自備金鑰」(BYOK)。 由於匯入的金鑰無法離開 HSM 界限,因此在 HSM 中產生金鑰可確保您完全控制加密金鑰。

受 HSM 保護的加密

如需受 HSM 保護密鑰的詳細資訊,請參閱如何為 Azure 金鑰保存庫 產生和傳輸受 HSM 保護的密鑰。

網路流量加密

HTTPS 之類的網路協定會使用憑證加密傳輸中的數據。 用戶端對應用程式流量通常會使用來自受信任證書頒發機構單位 (CA)憑證。 內部應用程式可以使用來自內部 CA 或公用 CA 的憑證,例如 DigiCert 或 GlobalSign。 階層對層通訊通常會使用內部 CA 或自我簽署憑證所簽發的憑證。 Azure 金鑰保存庫 可以容納上述任何憑證類型。 如需建立不同憑證類型的詳細資訊,請參閱 憑證建立方法

Azure 金鑰保存庫 可作為階層對層流量的自我簽署憑證 CA。 金鑰保存庫 VM 擴充功能會根據使用案例,在 VM 上提供指定憑證的監視和自動重新整理,不論是否使用私鑰。 若要使用 金鑰保存庫 VM 擴充功能,請參閱適用於 Linux 的 金鑰保存庫 虛擬機擴充功能或適用於 Windows 的 金鑰保存庫 虛擬機擴充功能。

金鑰保存庫 也可以儲存不使用憑證的網路通訊協定密鑰。 自定義工作負載可能需要編寫自定義腳本延伸模組的腳本以從 金鑰保存庫 擷取密鑰,並將其儲存以供應用程式使用。 應用程式也可以使用 VM 的受控識別,直接從 金鑰保存庫 擷取秘密。

網路安全性

網路安全組 (NSG) 會篩選 Azure 虛擬網路中資源之間的流量。 NSG 安全性規則會根據IP位址和埠,允許或拒絕來自 Azure 資源的網路流量。 根據預設,NSG 會封鎖來自因特網的輸入流量,但允許從 VM 到因特網的輸出連線。 若要防止意外輸出流量,請新增具有最低可能優先順序 4096 的自定義規則,以封鎖所有輸入和輸出流量。 然後,您可以新增較高優先順序的規則,以允許特定流量。

NSG 會建立現有連線的流量記錄,並根據流量記錄的連接狀態允許或拒絕通訊。 流量記錄可讓 NSG 可設定狀態。 例如,如果您透過埠 443 將輸出安全性規則指定至任何位址,則不需要同時指定回應的輸入安全性規則。 只有在外部起始通訊時,才需要指定輸入安全性規則。

大部分的 Azure 服務都可讓您使用 虛擬網路服務標籤 ,而不是 NSG。 服務標籤代表來自 Azure 服務的 IP 位址前置詞群組,並協助將頻繁網路安全性規則更新的複雜度降到最低。 Azure 金鑰保存庫 服務標籤可讓 VM 從 Azure 金鑰保存庫 擷取憑證、密鑰和秘密。

另一個控制網路安全性的方法,是透過 虛擬網路流量路由強制通道。 Azure 會自動建立系統路由,並將路由指派給虛擬網路中的每個子網路。 您無法建立或移除系統路由,但是您可以使用自訂路由覆寫某些系統路由。 自定義路由可讓您透過 網路虛擬設備 (NVA) 路由傳送流量,例如防火牆或 Proxy,或捨棄垃圾流量,這與封鎖 NSG 的流量有類似的效果。

您可以使用 Azure 防火牆 之類的 NVA 來允許、封鎖和檢查網路流量。 Azure 防火牆 是受控、高可用性的平臺防火牆服務。 您也可以從 Azure Marketplace 部署第三方 NVA。 若要讓這些 NVA 具有高可用性,請參閱 部署高可用性網路虛擬設備

應用程式安全性群組

若要篩選虛擬網路內應用層之間的流量,請使用 應用程式安全組 (ASG) 。 ASG 可讓您將網路安全設定為應用程式結構的延伸模組,讓您將 VM 分組,並根據群組定義網路安全策略。 您可以大規模重複使用安全策略,而不需手動維護明確的IP位址。

應用程式安全性群組

由於 ASG 會套用至網路介面,而不是子網,因此可啟用微分割。 您可以嚴格控制哪些 VM 可以彼此通訊,甚至封鎖相同層級 VM 之間的流量,並輕鬆地從該 VM 移除 ASG 來隔離 VM。

混合式網路

混合式架構會將內部部署網路與 Azure 等公用雲端連線。 有數種方式可將內部部署網路連線到在 Azure 中執行的應用程式:

  • 透過因特網的公用端點。 您可以依賴身分識別、傳輸層級安全性 (HTTPS) 和應用程式閘道來保護應用程式,可能會與防火牆結合。 不過,對於高度敏感的工作負載,不建議透過因特網公開公用端點。
  • Azure 或第三方 VPN 閘道。 您可以使用 Azure VPN 閘道,將內部部署網路連線到 Azure。 流量仍會透過因特網傳輸,但透過使用 TLS 的加密通道。 如果您有 Azure VPN 閘道不支援的特定需求,您也可以在 VM 中執行第三方閘道。
  • ExpressRoute。 ExpressRoute 連線會透過協力廠商連線提供者,使用私人的專用連線。 私人聯機會將內部部署網路延伸至 Azure,並提供延展性和可靠的服務等級協定 (SLA)。
    • 具有 VPN 故障轉移的 ExpressRoute。 此選項在正常情況下使用 ExpressRoute,但如果 ExpressRoute 線路中聯機中斷,則會故障轉移至 VPN 連線,以提供更高的可用性。
    • 透過 ExpressRoute 的 VPN。 此選項最適合高度敏感的工作負載。 ExpressRoute 提供具有延展性和可靠性的私人線路,VPN 提供額外的保護層,以終止特定 Azure 虛擬網路中的加密連線。

如需選擇不同混合式連線類型的詳細資訊指引,請參閱 選擇將內部部署網路連線到 Azure 的解決方案。

部署 DMZ

線上內部部署和 Azure 環境可讓內部部署使用者存取 Azure 應用程式。 周邊網路或 非軍事區域 (DMZ) 為高度敏感的工作負載提供額外的保護。

Azure 與內部部署資料中心 之間的網路 DMZ 中的架構會部署相同虛擬網路中的所有 DMZ 和應用程式服務,並搭配 NSG 規則和使用者定義的路由來隔離 DMZ 和應用程式子網。 即使內部部署閘道無法使用,此架構仍可透過公用因特網提供管理子網,以管理應用程式。 不過,對於高度敏感的工作負載,您應該只允許在中斷的玻璃案例略過閘道。 更好的解決方案是使用 Azure Bastion,這可讓您直接從 Azure 入口網站 存取,同時限制公開公用 IP 位址。

您也可以使用 Just-In-Time (JIT) VM 存取 進行遠端管理,同時限制公開公用 IP 位址。 使用 JIT VM 存取時,NSG 預設會封鎖遠端桌面通訊協定 (RDP) 和安全殼層 (SSH)遠端管理埠。 在要求時,JIT VM 存取只會針對指定的時間範圍啟用埠,並可能針對特定IP位址或範圍啟用埠。 JIT 存取也適用於只有私人IP位址的 VM。 您可以使用 Azure Bastion 來封鎖 VM 的流量,直到啟用 JIT VM 存取為止。

若要部署更多應用程式,您可以使用 Azure 中的中樞輪輻網路拓撲 ,搭配中樞虛擬網路中的 DMZ 和輪輻虛擬網路中的應用程式。 中樞虛擬網路可以包含 VPN 和/或 ExpressRoute 閘道、防火牆 NVA、管理主機、身分識別基礎結構和其他共享服務。 輪輻虛擬網路會連線到具有 虛擬網路對等互連的中樞。 Azure 虛擬網路不允許透過中樞從一個輪輻到另一個輪輻的可轉移路由。 輪輻對輪輻流量只能透過中樞中的防火牆設備。 此架構會有效地隔離應用程式彼此。

多區域部署 (部分機器翻譯)

商務持續性和災害復原可能需要跨多個 Azure 區域部署您的應用程式,這可能會影響數據落地和安全性。

區域配對

Azure 地理位置是包含至少一個 Azure 區域的已定義區域,每個區域都有一或多個數據中心。 每個 Azure 區域會與區域配對中相同地理位置中的另一個 區域配對。 區域配對不會同時更新,如果災害襲擊這兩個區域,其中一個區域會優先回到在線。 針對商務持續性,如果您在多個區域中部署,您應該至少將高度敏感的應用程式部署至區域配對。

如需詳細資訊,請參閱 商務持續性和災害復原(BCDR):Azure 配對區域。 白皮書 使用 Azure 達成符合規範的數據落地和安全性會討論數據落地,以及如何符合數據落地需求。

區域之間的複寫

在 IaaS 架構中,在區域之間復寫資料是應用程式的責任。 最常見的復寫案例會使用資料庫伺服器產品內建的資料庫復寫技術,例如 SQL Server Always On 可用性群組Oracle Data GuardMySQL 複寫。

設定 IaaS 資料庫伺服器之間的複寫並不簡單,您需要將商務持續性需求納入考慮。 Azure SQL 資料庫、適用於 MySQL 的 Azure 資料庫 和 Azure Cosmos DB 等 Azure 資料庫服務可讓區域之間的復寫變得更容易,但可能不符合高度敏感工作負載的安全性需求。

如需多區域 SQL Server 和 Oracle 部署的詳細資訊和指引,請參閱:

跨區域對等互連

您可以使用全域 虛擬網路對等互連,在不同的區域中啟用虛擬網路之間的安全通訊。 全域對等互連的運作方式與區域內對等互連相同。 區域之間的流量會透過Microsoft骨幹執行、不會周游因特網,而且與其他流量隔離。 如需更多安全性,您可以在這兩個區域中部署 VPN NVA,並使用 使用者定義的路由 來強制透過 NVA 的區域之間的流量,類似於 部署 DMZ

故障轉移流量路由

透過公用端點,您可以使用 流量管理員Azure Front Door,將流量導向使用中-主動故障轉移組態中的作用中區域或最接近的區域。 不過,流量管理員 和 Azure Front Door 都需要公用端點來監視可用性,且其對應的 DNS 專案都是公用的。 對於高度敏感的工作負載,替代解決方案是部署 DNS 內部部署,並將專案變更為作用中的區域以進行故障轉移。

管理和治理

保護高度敏感的 IaaS 應用程式,不僅需要部署正確的架構並實作網路安全性規則。 因為雲端環境很容易變更,因此請務必確保變更只能使用特定許可權,以及在安全策略的界限內進行變更。 例如,您必須防止惡意執行者能夠變更網路安全性規則,以允許來自因特網的流量。

若要在 Azure 中部署工作負載,您需要一或多個 管理帳戶。 保護管理帳戶對於保護您的工作負載至關重要。 如需詳細資訊,請參閱 在 Microsoft Entra ID 中保護混合式和雲端部署的特殊許可權存取。

使用管理子網中的資源,僅將應用層存取權授與需要管理該層的人員。 例如,您可以使用 Microsoft Identity Manager 搭配 Microsoft Entra ID。 不過,針對雲端原生案例,最好Microsoft Entra Privileged Identity Management (PIM)

有數種方式可控制 Azure 角色和原則:

  • 適用於 Azure 資源的 Azure 角色型存取控制 (Azure RBAC) 可讓您將內建或自定義角色指派給使用者,因此他們只有所需的許可權。 您可以將 Azure RBAC 與 PIM 結合,以實作稽核核准工作流程,以在有限的時間內提高許可權。
  • 原則會強制執行公司規則、標準和 SLA。 Azure 原則 是一項 Azure 服務,可建立、指派和管理原則,並評估您的資源以符合原則。
  • Azure 藍圖結合了 角色指派、原則指派和部署範本,以定義一組可複製的 Azure 資源,以實作並遵循組織的標準、模式和需求。 藍圖是協調資源範本和其他成品部署的宣告式方式。 您可以自行建立藍圖,或利用現有的藍圖。 例如, ISO 27001 共用服務藍圖 會部署共用服務中樞,您可以修改並擴充至組織的需求。

監視

適用於雲端的 Microsoft Defender 提供監視和警示,協助您維護環境的安全性。 免費服務會自動檢查遺漏 OS 修補程式、安全性設定錯誤和基本網路安全性等弱點。 標準付費版本提供其他功能,例如 行為分析自適性網路強化JIT VM 存取。 如需功能的完整清單,請參閱 機器的功能涵蓋範圍。 適用於雲端的 Defender 也會為 Azure 金鑰保存庫 等其他資源提供威脅防護

您可以使用 Azure 監視器 進行進一步的監視和分析。 若要監視身分識別和存取,您可以將 Microsoft Entra 活動記錄路由傳送至 Azure 監視器。 您也可以監視 VM、網路和 Azure 防火牆,並使用功能強大的記錄查詢功能來分析匯入的記錄。 您可以將 Azure 監視器與 安全性資訊和事件管理員 (SIEM)整合,其可以是 第三方 SIEMMicrosoft Sentinel

  • 如需多層式架構的詳細資訊,請參閱 使用 Apache Cassandra 在 Azure 中的 Linux 多層式應用程式。
  • 如需使用 Azure 金鑰保存庫 虛擬機擴充功能的端對端教學課程,請參閱使用儲存在 金鑰保存庫 的 SSL 憑證來保護 Azure 中 Windows 虛擬機上的網頁伺服器。
  • 如需 Azure 磁碟加密 的詳細資訊,請參閱 Linux VM 的 Azure 磁碟加密 或 Windows VM Azure 磁碟加密。
  • 如需 Azure 網路安全性的詳細資訊,請參閱 Azure 網路安全性概觀