本文提供套用 零信任 原則的步驟,以下列方式保護您的Microsoft Azure 資源免於破壞性網路攻擊:
| 零信任 原則 | 定義 |
|---|---|
| 明確驗證 | 一律根據所有可用的資料點進行驗證及授權。 |
| 使用最低權限存取 | 使用 Just-In-Time 和 Just-Enough-Access (JIT/JEA)、風險型調適型原則以及資料保護來限制使用者存取權。 |
| 假設入侵 | 將爆炸半徑和區段存取權降至最低。 確認端對端加密,並使用分析來取得可見度、 驅動威脅偵測,以及改善防禦。 改善防禦,通過資源鎖定來保護虛擬機,備份和災害復原,資料保護和可用性服務,以及保護復原的基礎結構、基於配置的服務和平臺自動化和 DevOps 工具。 針對威脅偵測,請使用 Microsoft Sentinel 和進階多階段偵測,併為 Azure 資源準備您的事件響應計劃。 |
本文包含指導如何進行:
- 保護您的Microsoft Azure 資源免於破壞性網路攻擊。
- 偵測網路攻擊。
- 如何回應它們。
本文旨在支援技術實作者,協助實作安全性外洩防護和復原基礎結構 的零信任業務情境。
參考架構
下圖顯示此 零信任 指引的參考架構,其中包含每個保護類別的群組。
此 Azure 環境包括:
| 元件 | 描述 |
|---|---|
| A | 虛擬機及其檔案 |
| B | 數據服務及其數據 |
| C | 復原基礎結構,包括檔案和範本和自動化腳本 |
| D | 以設定為基礎的服務 |
| E | 平台自動化和 DevOps 工具(未顯示) |
本文的步驟 1 會詳細說明保護每種資產類型的工作。
本文的內容為何?
本文將逐步解說在參考架構中套用 零信任 原則的步驟。
| 步驟 | 工作 |
|---|---|
| 1 | 設定防範網路攻擊的保護。 |
| 2 | 設定網路攻擊的偵測。 |
| 3 | 準備您的事件回應計劃。 |
步驟 1:設定防範網路攻擊的保護
許多組織會為其 Azure 虛擬機實作備份和災害復原解決方案,作為移轉工作的一部分。 例如,您可以使用 Azure 原生解決方案,或選擇針對雲端生態系統使用您自己的第三方解決方案。
雖然保護虛擬機及其應用程式和數據很重要,但擴充虛擬機以外的保護範圍也很重要。 本節提供如何保護 Azure 中不同類型的資源免於破壞性網路攻擊的考慮和建議。
除了服務特定考慮之外,您也應該考慮使用 資源鎖定 ,藉由保護其管理平面來防止刪除服務。 您也可以使用資源鎖定來設為唯讀狀態。 資源鎖定可搭配受控存取使用,藉由防止其修改或破壞,以減少在網路攻擊中損毀 Azure 資源的機會。
若要防止資源鎖定產生非預期的結果,您應該先檢閱考量事項,然後再套用鎖定,以確保您以允許鎖定正常運作的方式,將鎖定套用到適當的資源。 例如,鎖定虛擬網路(VNet)而不是整個資源群組,可以避免對資源群組內其他資源造成過度限制。 基於這些考慮,您應該優先鎖定資源,如果變更或刪除,將會造成最多中斷。
鎖定機制在工作負載故障轉移時,也可能需要考慮復原時間目標。 您的災難復原計劃應該考慮到鎖定機制,並且您應該已測試的程序,以受控制的方式移除鎖定機制。 您必須訓練您的系統管理員和安全運營(SecOps)人員,了解如何在日常操作和緊急情況中管理鎖。
具有移除鎖定權限的系統管理員應受到限制,並應使用 JIT 存取,例如 Microsoft Entra Privileged Identity Management 提供的存取。 資源變更鎖定的存取權是透過 Microsoft.Authorization/locks/* 範圍來控制,不應在常設存取中授與。
A. 保護虛擬機
針對虛擬機器的工作負載,包括規模集合和 Kubernetes 叢集,除了在管理平面中使用資源鎖定之外,您還需要規劃兩層保護措施。
首先,您需要規劃從虛擬機備份數據,以便在發生攻擊時還原遺失的數據,其中包括 Azure Kubernetes Service (AKS)。 您也需要使用虛刪除控件來保護備份的數據本身不受攻擊。 如需設定備份的資訊,請參閱:
- 建立及設定復原服務保存庫
- 在 Azure 中備份虛擬機
- 設定 Azure Kubernetes Service 叢集的備份
- AKS 的備份和復原
- 備份和還原計劃以防範勒索軟體
- Azure 備份的軟刪除
其次,您需要規劃在您區域的基礎設施遭受攻擊時,能夠將伺服器復原至新的位置。 如需在虛擬機上設定複寫的詳細資訊,請參閱 設定 Azure VM 的災害復原。 這包括在故障轉移期間,對所使用資源的設定和應用程式進行配置。
重要
針對屬於虛擬機擴展集的虛擬機使用 Azure Site Recovery 時,您可以復寫虛擬機狀態。 不過,複製的設備不支援擴展。
對於某些以虛擬機為基礎的工作負載,例如 Kubernetes 叢集,無法透過 Azure Site Recovery 複寫伺服器的實際狀態。 您可能需要其他解決方案,例如主動/被動設定。
B. 保護數據服務
數據服務是包含作業必要數據的非正式服務集合,但資源本身並不重要。 例如,以相同方式設定且儲存相同資料的兩個儲存帳戶之間幾乎沒有任何差異。
數據服務與虛擬機不同,其操作系統組態可能與執行的應用程式不同,且與管理平面的設定不同。 因此,這些服務:
- 通常包含自己的故障轉移工具,例如儲存帳戶具備複寫至另一個區域的能力,作為異地備援儲存 (GRS) 層的一部分。
- 有自己的考慮如何保護數據免於攻擊,並在發生攻擊時再次提供數據。
下表提供常用服務的數據保護和可用性參考,但您應該調查每個服務的產品檔,以瞭解可用的選項。
| 服務 | 資料保護 | 資料可用性 |
|---|---|---|
| Azure 檔案儲存體 |
備份 Azure 檔案共享 預防意外刪除 Azure 檔案共用 |
在 Azure 檔案共享上啟用軟刪除 |
| Azure Blob 儲存體 |
在 Blob 資料上啟用時間點還原 使用不可變儲存體儲存業務關鍵 Blob 資料 |
適用於 Azure Blob 的數據保護概觀 啟用及管理容器的軟刪除 啟用 Blob 的軟刪除 |
| Azure SQL 資料庫 | Azure SQL 資料庫 中的自動備份 |
主動地理複寫 Azure SQL 資料庫故障轉移群組 |
| SQL 受控執行個體 | Azure SQL 受控執行個體中的自動化備份 | Azure SQL 受控執行個體的故障轉移群組 |
| Azure VM 上的 SQL | Azure VM 上的 SQL Server 備份與還原 | 在 Azure 虛擬機器中使用 SQL Server 故障轉移叢集實例 |
| 金鑰保存庫 | Azure Key Vault 備份與還原 |
啟用金鑰保存庫的軟刪除和清除保護 Azure 金鑰保存庫的可用性與備援 |
警告
不支援某些記憶體帳戶復原案例。 如需詳細資訊,請參閱 不支援的記憶體復原。
C. 保護復原基礎結構
除了保護工作負載上的資源之外,您還需要保護中斷后用來還原功能的資源,例如復原程式文件和設定腳本和範本。 如果攻擊者可以瞄準並中斷您的復原基礎結構,整個環境可能會遭到入侵,導致從攻擊中復原過程中會遭受顯著的延誤,並使您的組織容易受到勒索軟體情境的影響。
針對受 Azure 備份 保護的資料,使用 Azure 備份 的軟刪除可讓您復原備份資料,即使已刪除也能復原。 此外,增強的虛刪除會強制執行虛刪除的分配,並允許您定義保留期間。
若要進一步增強安全性,請針對重要作業實 作多用戶授權 (MUA), 這需要兩個以上的使用者在執行前核准重要作業。 這增加了一層額外的安全保障,確保沒有單一使用者,因此只有一個使用者帳戶的攻擊者無法損害備份完整性。 啟用並設定 MUA 以保護您的備份原則,以防止未經授權的變更和刪除。
您可以使用資源鎖定和 JEA/JIT 存取來保護 Azure Site Recovery,以防止資源處於風險時未經授權的存取和偵測。
使用已使用 Azure 磁碟加密 (ADE) 或客戶自控密鑰 (CMK) 加密的 Azure Site Recovery 複寫虛擬機時,請確定加密金鑰會儲存在目標區域的 Azure 金鑰保存庫 中。 將金鑰儲存在目標區域中有助於在故障轉移之後順暢地存取金鑰,並維護數據安全性持續性。 若要保護 Azure 金鑰保存庫 免受破壞性網路攻擊,請啟用進階威脅防護功能,例如虛刪除和清除保護。
如需加密虛擬機的逐步複製指南,請參閱下列各項:
D. 保護以組態為基礎的服務
配置為基礎的服務是 Azure 服務,除了管理層的配置之外,沒有其他數據。 這些資源通常是以基礎結構為基礎的,而且是支援工作負載的基礎服務。 範例包括 VNet、負載平衡器、網路閘道和應用程式閘道。
因為這些服務是無狀態的,因此沒有可保護的作業數據。 保護這些服務的最佳選擇是使用基礎設施即程式碼(IaC)部署範本,如Bicep,能在遭受破壞性攻擊後恢復這些服務的狀態。 您也可以使用腳本進行部署,但 IaC 部署的運作效果較好,以在只影響少數服務的現有環境中還原功能。
只要以相同方式設定的資源可以部署,服務就可以繼續運作。 您可以使用程式設計部署來從攻擊中復原,而不是嘗試備份及維護這些資源的複本。
如需使用 IaC 的詳細資訊,請參閱 使用基礎結構即程式代碼的建議。
E. 保護平臺自動化和DevOps工具
如果您使用程式設計部署或其他類型的自動化,平臺自動化和 DevOps 工具資源也必須受到保護。 如需保護部署基礎結構的範例,請參閱 保護DevOps CI/CD管線 和 保護開發生命周期的建議。
不過,您也應該規劃保護程序代碼本身,其會根據您所使用的原始檔控制工具而有所不同。 例如,GitHub 有備份原始程式碼存放庫的指引。
您也應該檢閱您的特定服務,以判斷如何最好地保護您的原始程式碼和管線免受攻擊和破壞。
針對裝載於虛擬機上的組建代理程式等元件,您可以使用適當的虛擬機型保護計劃,以確保您的代理程式在需要時可供使用。
步驟 2:設定網路攻擊的偵測
若要偵測 Azure 基礎結構的攻擊,請從 適用於雲端的 Microsoft Defender 開始,這是一個雲端原生應用程式保護平臺 (CNAPP),由安全性措施和做法所組成,旨在保護雲端式應用程式免於各種網路威脅和弱點。
適用於雲端的 Defender 搭配 Azure 元件的其他方案,從 Azure 元件收集訊號,併為伺服器、容器、記憶體、資料庫和其他工作負載提供特定保護。
下圖顯示從 Azure 服務到 適用於雲端的 Defender 和 Microsoft Sentinel 的安全性事件資訊流程。
在圖中:
- Azure 服務會將訊號傳送至 適用於雲端的 Microsoft Defender。
- 適用於雲端的 Microsoft Defender,使用適用於伺服器的Defender等其他計劃,分析增強式威脅偵測的訊號,並將安全性資訊和事件管理 (SIEM) 資料傳送至 Microsoft Sentinel。
- Microsoft Sentinel 會使用 SIEM 數據進行網路攻擊偵測、調查、回應和主動搜捕。
使用本文步驟 1 中的建議,更妥善地保護 Azure 資源之後,您必須規劃使用 Microsoft Sentinel 來偵測破壞性網路攻擊。 起點是使用 Microsoft Sentinel 中的進階多階段攻擊偵測。 這可讓您針對特定案例建立偵測,例如數據解構、阻斷服務、惡意系統管理活動等等。
在準備工作負載以進行回應時,您需要:
- 如何判斷一個資源是否正受到攻擊。
- 判斷如何捕捉並引發一個事件作為結果。
步驟 3:準備事件回應計劃
您必須在發生事件之前,針對破壞性網路攻擊,妥善定義並準備好實作事件回應計劃。 在事件期間,您將沒有時間判斷如何挫敗進行中的攻擊,或還原損毀的數據和服務。
Azure 應用程式和共用服務都應該有回應和復原方案,其中包含用來還原虛擬機、數據服務、組態服務和自動化/DevOps 服務的劇本。 每個應用程式或服務區域都應該有其定義和妥善定義的相依性。
您的運作手冊應該:
包含你在以下情境中的流程:
包含組成此服務的任何其他資源的還原過程。
在 SecOps 維護流程中定期進行測試。
推薦的訓練
下一步
繼續實施您的安全性漏洞防護和復原架構。
參考資料
請參閱這些連結,以瞭解本文所述的各種服務和技術。