保護您的 Azure 資源免於破壞性網路攻擊
本文提供套用 零信任 原則的步驟,以下列方式保護您的Microsoft Azure 資源免於破壞性網路攻擊:
零信任 原則 | 定義 |
---|---|
明確驗證 | 一律根據所有可用的資料點進行驗證及授權。 |
使用最低權限存取 | 使用 Just-In-Time 和 Just-Enough-Access (JIT/JEA)、風險型調適型原則以及資料保護來限制使用者存取權。 |
假設缺口 | 將爆炸半徑和區段存取權降至最低。 確認端對端加密,並使用分析來取得可見度、 驅動威脅偵測,以及改善防禦。 使用虛擬機的資源鎖定、備份和災害復原、數據保護和數據可用性服務,以及復原基礎結構、以組態為基礎的服務和平臺自動化和 DevOps 工具的保護,改善防禦。 針對威脅偵測,請使用 Microsoft Sentinel 和進階多階段偵測,併為 Azure 資源準備您的事件響應計劃。 |
本文包含如何:
- 保護您的Microsoft Azure 資源免於破壞性網路攻擊。
- 偵測網路攻擊發生時。
- 如何回應它們。
本文適用於技術實作者,以支援在商務案例 零信任 實作安全性外洩防護和復原基礎結構。
參考架構
下圖顯示此 零信任 指引的參考架構,其中包含每個保護類別的群組。
此 Azure 環境包括:
元件 | 描述 |
---|---|
A | 虛擬機及其檔案 |
B | 數據服務及其數據 |
C | 復原基礎結構,包括檔案和範本和自動化腳本 |
D | 以組態為基礎的服務 |
E | 平台自動化和 DevOps 工具(未顯示) |
本文的步驟 1 會詳細說明保護每種資產類型的工作。
本文的內容為何?
本文將逐步解說在參考架構中套用 零信任 原則的步驟。
步驟 | Task |
---|---|
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 Database | Azure SQL Database 中的自動備份 | 作用中異地複寫 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 元件收集訊號,併為伺服器、容器、記憶體、資料庫和其他工作負載提供特定保護。
下圖顯示透過 適用於雲端的 Defender 和 Microsoft Sentinel,從 Azure 服務傳送的安全性事件資訊流程。
在圖中:
- Azure 服務會將訊號傳送至 適用於雲端的 Microsoft Defender。
- 適用於雲端的 Microsoft Defender,使用適用於伺服器的 Defender 等其他計劃,分析增強威脅偵測的訊號,並將安全性資訊和事件管理 (SIEM) 資料傳送至 sentinel Microsoft。
- Microsoft Sentinel 會使用 SIEM 數據進行網路攻擊偵測、調查、回應和主動搜捕。
使用本文步驟 1 中的建議,更妥善地保護 Azure 資源之後,您必須規劃使用 Microsoft Sentinel 來偵測破壞性網路攻擊。 起點是在 sentinel Microsoft 中使用進階多階段攻擊偵測。 這可讓您針對特定案例建立偵測,例如數據解構、阻斷服務、惡意系統管理活動等等。
在準備工作負載以進行回應時,您需要:
- 識別您將如何判斷資源是否受到攻擊。
- 判斷如何擷取並引發事件。
步驟 3:準備事件回應計劃
您必須在發生事件之前,針對破壞性網路攻擊,妥善定義並準備好實作事件回應計劃。 在事件期間,您將沒有時間判斷如何挫敗進行中的攻擊,或還原損毀的數據和服務。
Azure 應用程式和共用服務都應該有回應和復原方案,其中包含用來還原虛擬機、數據服務、組態服務和自動化/DevOps 服務的劇本。 每個應用程式或服務區域都應該有其定義和妥善定義的相依性。
您的劇本應該:
包含下列案例的程式:
包含組成此服務的任何其他資源的還原程式。
在 SecOps 維護程式中定期進行測試。
建議的訓練
- 實作 Privileged Identity Management
- 設計備份和災害復原的解決方案
- 使用 適用於雲端的 Microsoft Defender 改善雲端安全性狀態
- 使用 sentinel 建立偵測並執行調查Microsoft
下一步
繼續實作安全性 外洩防護和復原基礎結構。
參考資料
請參閱這些連結,以瞭解本文所述的各種服務和技術。