在 Azure 中的虛擬機器上保護及使用原則
適用於: ✔️ Linux VM ✔️ Windows VM ✔️ 彈性擴展集 ✔️ 統一擴展集
務必針對您執行的應用程式,保護虛擬機器 (VM) 的安全。 保護 VM 可包含一或多項 Azure 服務和功能,其中涵蓋保護 VM 的存取權及保護資料的儲存體。 本文提供可讓您保護 VM 和應用程式的資訊。
反惡意程式碼
現今雲端環境的威脅型態非常多變,因此為了符合法規和達到安全性需求,在維護有效保護機制方面增加許多壓力。 適用於 Azure 的 Microsoft Antimalware 是即時保護功能,有助於識別和移除病毒、間諜軟體和其他惡意軟體。 您可設定警示,在已知惡意或非必要軟體嘗試自行安裝或在您的 VM 上執行時通知您。 執行 Linux 或 Windows Server 2008 的 VM 不支援它。
適用於雲端的 Microsoft Defender
適用於雲端的 Microsoft Defender 可協助您防止、偵測及回應 VM 的威脅。 適用於雲端的 Defender 提供您 Azure 訂用帳戶之間的整合式安全性監視和原則管理、協助偵測可能忽略的威脅,並適用於廣泛的安全性解決方案生態系統。
適用於雲端的 Defender 的 Just-In-Time 存取可用於 VM 部署,以鎖定 Azure VM 的輸入流量、降低暴露於攻擊的風險,同時能夠視需要輕鬆存取連線至 VM。 已啟用 Just-In-Time 且使用者要求存取 VM 時,適用於雲端的 Defender 會檢查使用者擁有此 VM 的哪些權限。 如果其擁有正確權限,則要求會通過核准,且適用於雲端的 Defender 會將網路安全性群組 (NSG) 自動設定為在有限的時間內允許輸入流量進入選取的連接埠。 時間到期之後,適用於雲端的 Defender 會將 NSG 還原為其先前的狀態。
加密
受控磁碟提供兩種加密方法。 OS 層級的加密,也就是 Azure 磁碟加密,以及平台層級的加密,也就是伺服器端加密。
伺服器端加密
Azure 受控磁碟依預設會在將資料保存到雲端時,自動加密您的資料。 伺服器端加密可保護您的資料安全,並協助您符合組織安全性和合規性承諾。 Azure 受控磁碟中的資料會使用 256 位元的 AES 加密 (強度最高的區塊編碼器之一),以透明方式進行加密,且符合 FIPS 140-2 規範。
加密不會影響受控磁碟的效能。 加密不需要額外費用。
您可以依賴由平台管理的金鑰來加密受控磁碟,也可以使用您自己的金鑰來管理加密。 如果選擇使用自己的金鑰來管理加密,您可以指定「客戶管理的金鑰」,用於加密和解密受控磁碟中的所有資料。
若要深入了解伺服器端加密,請參閱 Windows 或 Linux文章。
Azure 磁碟加密
如需強化 Windows VM 和 Linux VM 安全性與合規性,可以將 Azure 中的虛擬磁碟加密。 Windows VM 上的虛擬磁碟在待用時是使用 BitLocker 進行加密。 Linux VM 上的待用虛擬磁碟會使用 dm-crypt 進行加密。
將 Azure 中的虛擬磁碟加密完全免費。 密碼編譯金鑰會使用軟體保護功能儲存在 Azure 金鑰保存庫中,或者您可以在經過 FIPS 140 驗證標準認證的硬體安全性模組 (HSM) 中匯入或產生金鑰。 這些密碼編譯金鑰用來加密及解密連接到 VM 的虛擬磁碟。 您可保留這些密碼編譯金鑰的控制權,並可稽核其使用情況。 Microsoft Entra 服務主體會提供一個安全機制,以便在 VM 開機或關機時發出這些密碼編譯金鑰。
Key Vault 和 SSH 金鑰
祕密和憑證均可模型化為資源並由 Key Vault 提供。 您可以使用 Azure PowerShell 來建立適用於 Windows VM 的金鑰保存庫以及適用於 Linux VM 的 Azure CLI。 您也可以建立用於加密的金鑰。
金鑰保存庫存取原則可分別授與金鑰、祕密和憑證的權限。 例如,您可以只提供金鑰存取權給使用者,但不提供密碼的權限。 不過,金鑰、密碼或憑證的存取權限是在保存庫層級。 換句話說,金鑰保存庫存取原則不支援物件層級權限。
當您連線到 VM 時,您應該使用公開金鑰加密來提供更安全的登入方式。 此程序包括使用安全殼層 (SSH) 命令 (而非使用者名稱和密碼) 來驗證自己的公用和私密金鑰交換。 密碼很容易遭受暴力密碼破解攻擊,尤其是在網際網路對向 VM (例如 Web 伺服器) 上。 您可以利用安全殼層 (SSH) 金鑰組,在 Azure 上建立使用 SSH 金鑰來進行驗證的 Linux VM,進而免除登入密碼的需求。 您也可以使用 SSH 金鑰從 Windows VM 連線至 Linux VM。
適用於 Azure 資源的受控識別
建置雲端應用程式常見的難題是如何管理程式碼中的認證,以向雲端服務進行驗證。 保護好這些認證是相當重要的工作。 在理想情況下,這些認證永不會出現在開發人員工作站且簽入原始程式碼控制。 Azure Key Vault 可安全地儲存認證、祕密和其他金鑰,但是您的程式碼必須向 Key Vault 進行驗證,才可擷取這些項目。
Microsoft Entra 中的 Azure 資源受控識別功能可解決此問題。 該功能為 Azure 服務提供 Microsoft Entra ID 中的自動受控識別。 您可以使用此身分識別來向任何支援 Microsoft Entra 驗證的服務 (包括 Key Vault) 進行驗證,且您的程式碼中不需有任何認證。 您在 VM 上執行的程式碼可以向僅可從 VM 內存取的兩個端點要求權杖。 如需關於這項服務的詳細資訊,請檢閱 Azure 資源的受控識別概觀頁面。
原則
Azure 原則可用來為您組織的 VM 定義所要的行為。 藉由使用原則,組織可以強制執行整個企業的各種慣例和規則。 強制執行所要的行為有助於降低風險,同時促進組織的成功。
Azure 角色型存取控制
使用 Azure 角色型存取控制 (Azure RBAC),可讓您區隔小組內的職責,而僅授予使用者在 VM 上執行作業所需的存取權。 您不需為每個人授與 VM 的權限,而是只允許執行特定的動作。 您可以使用 Azure CLI 或 Azure PowerShell,在 Azure 入口網站中設定 VM 的存取控制。