适用于:✔️ Linux 虚拟机 ✔️ Windows 虚拟机 ✔️ 灵活规模集 ✔️ 统一规模集
为了所运行的应用程序,请务必确保虚拟机 (VM) 安全。 保护 VM 可以包括一个或多个Azure服务和功能,这些服务和功能包括对 VM 的安全访问以及数据的安全存储。 按照本文提供的信息操作,可确保 VM 和应用程序安全。
反恶意软件
现代云环境的威胁局势非常多变,增加了为了满足合规性和安全要求,维护有效保护机制方面的压力。 Microsoft Azure 的反恶意软件是一种免费的实时保护功能,可帮助识别和删除病毒、间谍软件和其他恶意软件。 可配置警报,以便在已知恶意或不需要的软件试图安装自身或在 VM 上运行时通知你。 在运行 Linux 或 Windows Server 2008 的 VM 上不支持它。
Microsoft Defender for Cloud
Microsoft Defender for Cloud可帮助防止、检测和响应对 VM 的威胁。 Defender for Cloud跨Azure订阅提供集成的安全监视和策略管理,有助于检测可能未被忽视的威胁,并与广泛的安全解决方案生态系统配合使用。
Defender for Cloud的实时访问可在 VM 部署中应用,以锁定发往Azure VM 的入站流量,减少受到攻击的风险,同时在需要时轻松访问 VM。 在启用即需即用并且用户请求访问 VM 时,Defender for Cloud 会检查用户对 VM 拥有的权限。 如果请求具有正确的权限,则请求获得批准,Defender for Cloud会自动配置网络安全组(NSG),以允许入站流量在有限的时间内流向所选端口。 时间过期后,Defender for Cloud将 NSG 还原到其以前的状态。
加密
为托管磁盘提供了两种加密方法。 OS 级别的加密(Azure Disk Encryption)和平台级别的加密(即服务器端加密)。
服务器端加密
Azure托管磁盘在将数据保存到云时,默认会自动加密数据。 服务器端加密可保护数据,并帮助组织履行在安全性与合规性方面做出的承诺。 Azure托管磁盘中的数据使用 256 位 AES 加密(可用的最强块加密之一)以透明方式加密,并且符合 FIPS 140-2 标准。
加密不会影响托管磁盘的性能。 加密不会产生额外的费用。
可以依赖于平台托管的密钥来加密托管磁盘,也可以使用自己的密钥来管理加密。 如果选择使用自己的密钥管理加密,可以指定一个客户托管密钥,用于加密和解密托管磁盘中的所有数据。
若要了解有关服务器端加密的详细信息,请参阅 Windows 或 Linux 的文章。
Azure 磁盘加密
对于增强的 Windows VM 和 Linux VM 安全性和符合性,可以加密Azure中的虚拟磁盘。 Windows VM 上的虚拟磁盘使用 BitLocker 进行静态加密。 Linux VM 上的虚拟磁盘是使用 dm-crypt 静态加密的。
Azure中加密虚拟磁盘不收取任何费用。 加密密钥存储在使用软件保护的Azure Key Vault中,或者可以在认证为 FIPS 140 验证标准的硬件安全模块(HSM)中导入或生成密钥。 这些加密密钥用于加密和解密附加到 VM 的虚拟磁盘。 可以控制这些加密密钥,以及审核对它们的使用。 Microsoft Entra服务主体提供了一种安全机制,用于在 VM 开机和关机时颁发这些加密密钥。
Key Vault 和 SSH 密钥
机密和证书可以建模为资源,并由 Key Vault 提供。 可以使用Azure PowerShell为 Windows VM 和 Linux VM 的Azure CLI创建密钥保管库。 还可以创建用于加密的密钥。
密钥保管库访问策略单独授予对密钥、机密和证书的权限。 例如,可以向用户授予仅限密钥的访问权限,而不授予对机密的权限。 但是,访问密钥、机密或证书的权限是在保管库层级分配的。 换而言之,密钥保管库访问策略不支持对象级别的权限。
连接到 VM 时,应使用公钥加密,提供更安全的方式登录到 VM。 此过程涉及使用安全外壳 (SSH) 命令进行公钥和私钥交换,对自己(而不是用户名和密码)进行身份验证。 密码容易受到暴力破解攻击,尤其是在面向 Internet 的 VM 上(如 Web 服务器)。 使用安全外壳 (SSH) 密钥对,可以创建使用 SSH 密钥进行身份验证的 Linux VM,从而无需密码即可登录。 还可以使用 SSH 密钥从 Windows VM 连接到 Linux VM。
Azure资源的托管标识
生成云应用程序时需要应对的常见挑战是,如何管理代码中用于云服务身份验证的凭据。 保护这些凭据是一项重要任务。 理想情况下,这些凭据永远不会出现在开发者工作站上,也不会被签入源代码管理系统中。 Azure Key Vault 提供了一种安全地存储凭据、机密和其他密钥的方法,但您的代码必须进行身份验证才能从 Key Vault 检索到它们。
Microsoft Entra中Azure资源的托管标识功能解决了此问题。 此功能为 Azure 服务在微软 Entra ID 中提供自动管理的标识。 可以使用标识向支持Microsoft Entra身份验证的任何服务(包括Key Vault)进行身份验证,而无需在代码中提供任何凭据。 在 VM 上运行的代码可以从两个仅限 VM 内部访问的终结点请求令牌。 有关此服务的详细信息,请查看管理Azure资源的标识概述页。
策略
Azure策略可用于定义组织的 VM 所需的行为。 通过使用策略,组织可以在整个企业中强制实施各种约定和规则。 强制实施所需行为有助于缓解风险,同时帮助组织取得成功。
Azure基于角色的访问控制
使用 Azure 基于角色的访问控制(Azure RBAC),可以在团队中分离职责,并仅向 VM 上的用户授予执行作业所需的访问权限。 可以仅允许某些操作,而不是向 VM 上的每个人授予不受限制的权限。 可以使用 Azure 门户、Azure CLI或Azure PowerShell为 VM 配置访问控制。