Compartilhar via

Azure中 IaaS 工作负荷的安全最佳做法

本文介绍了 VM 和操作系统的安全最佳做法。

最佳做法来自意见的共识,它们适用于当前Azure平台功能和功能集。 由于意见和技术可能会随时间而变化,本文将更新以反映这些更改。

在大多数基础结构即服务(IaaS)方案中,Azure virtual machines(VM)是使用云计算的组织的主要工作负荷。 这种事实在混合方案中十分明显,组织希望在混合方案中慢慢将工作负载迁移到云。 在这种方案中,应遵循 IaaS 常规安全注意事项,并向所有 VM 应用安全最佳做法。

使用身份验证和访问控制保护VM

若要保护 VM,请确保只有经过授权的用户才能设置新 VM 并access现有 VM。

注意事项

若要提高 Azure 上的 Linux VM 的安全性,可以与 Microsoft Entra 身份验证集成。 使用 Microsoft Entra 身份验证用于 Linux 虚拟机时,可以集中控制并强制实施允许或拒绝对虚拟机的访问策略。

最佳实践:控制虚拟机访问。 Detail:使用 Azure 策略为组织中的资源建立约定并创建自定义策略。 将这些策略应用于资源,例如 resource groups。 属于该资源组的 VM 将继承该组的策略。

如果您的组织有多个订阅,您可能需要一种方法来有效管理这些订阅的访问、策略和合规性。 Azure管理组提供高于订阅的范围级别。 可将订阅组织到管理组别(容器)中,并将管理条件应用到这些组中。 管理组中的所有订阅都将自动继承应用于该组的条件。 不管使用什么类型的订阅,管理组都能提供大规模的企业级管理。

最佳做法:减少 VM 的安装和部署的可变性。 Detail:使用 Azure Resource Manager 模板来加强部署选择,使其更易于理解和清点环境中的 VM。

最佳实践:确保特权访问的安全。 Detail:使用最小特权原则和内置Azure角色,使用户能够访问和设置VM:

  • 虚拟机参与者:可以管理 VM,但不能管理其连接到的虚拟网络或存储帐户。
  • Classic Virtual Machine 参与者:可以管理使用经典部署模型创建的虚拟机,但不能管理虚拟机所连接的虚拟网络或存储账户。
  • Security Admin:仅限 Defender for Cloud:可以查看安全策略、查看安全状态、编辑安全策略、查看警报和建议、消除警报和建议。
  • DevTest Labs User:可以查看所有内容并连接、启动、重启和关闭 VM。

订阅管理员和共同管理员可以更改此设置,使其成为订阅中所有 VM 的管理员。 信任所有订阅管理员和共同管理员登录到任何计算机。

注意事项

将具有相同生命周期的 VM 合并到同一资源组中。 使用资源组可以部署和监视资源,并统计资源的计费成本。

控制虚拟机访问和设置的组织可以提高其整体虚拟机安全性。

使用虚拟机规模集以实现高可用性

如果 VM 运行需要高可用性的关键应用程序,请使用 Virtual Machine Scale Sets

Virtual Machine Scale Sets允许创建和管理一组负载均衡的 VM。 可以根据需求或定义的计划自动增减 VM 实例的数目。 规模集为应用程序提供高可用性,可以集中管理、配置和更新多个 VM。 规模集本身不产生任何费用,只需为创建的每个 VM 实例付费。

可以在规模集中将虚拟机部署到多个可用性区域、单个可用性区域或区域。

防范恶意软件

安装反恶意软件保护,以帮助识别和删除病毒、间谍软件和其他恶意软件。 可安装 Microsoft 反恶意软件或 Microsoft 合作伙伴的终结点保护解决方案(Trend MicroBroadcomMcAfeeWindows DefenderSystem Center Endpoint Protection)。

Microsoft 反恶意软件包括实时保护、计划扫描、恶意软件修正、签名更新、引擎更新、示例报告和排除事件收集等功能。 对于与生产环境分开托管的环境,请使用反恶意软件扩展来帮助保护虚拟机和云服务。

可以将Microsoft反恶意软件和合作伙伴解决方案与 Microsoft Defender for Cloud,以便轻松部署和内置检测(警报和事件)。

最佳做法:安装反恶意软件解决方案,以防范恶意软件。
详细信息安装 Microsoft 合作伙伴解决方案或 Microsoft 反恶意软件

最佳做法:将反恶意软件解决方案与 Defender for Cloud 集成,以监视你的保护状态。
详细信息:使用 Defender for Cloud 管理终端保护问题

管理 VM 更新

Azure VM(与所有本地 VM 一样)旨在由用户管理。 Azure不会向其推送 Windows 更新。 你需要管理 VM 更新。

最佳做法:使 VM 保持最新
Detail:使用 Azure Automation 中的 Update Management 解决方案管理部署在Azure、本地环境或其他云提供程序中部署的 Windows 和 Linux 计算机的作系统更新。 可以快速评估所有代理计算机上可用更新的状态,并管理为服务器安装所需更新的过程。

由更新管理托管的计算机使用以下配置执行评估和更新部署:

  • 用于 Windows 或 Linux 的 Microsoft 监视代理 (MMA)
  • 适用于 Linux 的 PowerShell Desired State Configuration (DSC)
  • 自动化混合运行手册工作器
  • 适用于 Windows 计算机的 Microsoft 更新或 Windows Server 更新服务 (WSUS)

如果使用Windows Update,请保持启用自动Windows Update设置。

最佳做法:在部署时,确保构建的映像包含最新一轮的 Windows 更新。
详细信息:每个部署的第一步应是检查和安装所有 Windows 更新。 在部署自己或库中提供的映像时,采用此措施就特别重要。 尽管默认情况下会自动更新来自Azure Marketplace的映像,但在公开发布后可能会有延迟时间(最长为几周)。

最佳做法:定期重新部署 VM 以强制刷新操作系统版本。
Detail:使用 Azure Resource Manager 模板定义 VM以便轻松重新部署 VM。 使用模板可在需要时提供已修补且安全的 VM。

最佳做法:快速对 VM 应用安全更新。
Detail:启用Microsoft Defender for Cloud(免费层或标准层)以标识缺少的安全更新并应用它们

最佳做法:安装最新的安全更新。
Detail:客户最先迁移到Azure的工作负载主要是实验室和面向外部的系统。 如果您的 Azure 虚拟机托管着需要通过互联网访问的应用程序或服务,请务必认真进行补丁更新。 修补不仅仅包括操作系统。 合作伙伴应用程序上未修补的漏洞还可能导致一些问题,而如果实施良好的修补程序管理,就可以避免这些问题。

最佳做法:部署并测试一个备份解决方案。
详细信息:需要按照处理任何其他操作的相同方法处理备份。 这些处理适用于那些作为生产环境一部分并延伸到云端的系统。

测试和开发系统必须遵循备份策略,该策略能够根据用户在本地环境中的经验,提供与他们习惯的类似恢复功能。 迁移到Azure的生产工作负荷应尽可能与现有备份解决方案集成。 或者,可以使用 Azure Backup 来帮助满足备份要求。

未实施软件更新策略的组织面临更多利用已修复的已知漏洞的威胁。 为了遵守行业法规,公司还必须证明他们在不断作出相应努力并使用正确的安全控制机制来帮助确保云中工作负载的安全性。

传统数据中心和 Azure IaaS 的软件更新最佳做法有许多相似之处。 评估当前的软件更新策略,以包括位于Azure中的 VM。

管理 VM 安全状况

网络威胁总是不断发展的。 保护 VM 需要一种监视功能,它可以快速检测威胁、防止对资源进行未经授权的access、触发警报并减少误报。

若要监视 WindowsLinux VM的安全状况,请使用 Microsoft Defender for Cloud。 在 Defender for Cloud 中,系统利用以下功能来保护 VM:

  • 应用包含建议的配置规则的 OS 安全设置。
  • 识别并下载可能缺少的系统安全更新和关键更新。
  • 部署终端防恶意软件保护的推荐配置。
  • 验证磁盘加密。
  • 评估并修正漏洞。
  • 检测威胁。

Defender for Cloud 可以主动监视威胁,安全警报可公开潜在威胁。 关联的威胁将合并到名为“安全事件”的单个视图中。

Defender for Cloud 将数据存储在 Azure Monitor 日志中。 Azure Monitor 日志提供查询语言和分析引擎,可让你深入了解应用程序和资源的作。 从Azure Monitor、管理解决方案以及安装在云端或本地虚拟机上的代理收集数据。 可以通过此共享功能全面了解自己的环境。

如果不对 VM 强制实施强安全性,则仍不知道未经授权的用户可能试图规避安全控制。

监视 VM 性能

如果 VM 进程消耗的资源多过实际所需的量,可能会造成资源滥用的问题。 VM 性能问题可能会导致服务中断,从而违反可用性安全原则。 此问题对于托管 IIS 或其他 Web 服务器的 VM 尤其重要,因为 CPU 或内存使用率过高可能表示拒绝服务(DoS)攻击。 在发生问题时,不仅必须被动监测 VM访问,而且需要主动监控在正常运行期间测量的基线性能。

使用 Azure Monitor深入了解资源的运行状况。 Azure监视器功能:

如果不监视 VM 性能,则无法确定性能模式的某些更改是正常还是异常。 消耗比正常资源更多的 VM 可能表示来自外部资源的攻击或 VM 中运行的已泄露进程的攻击。

加密虚拟硬盘文件

加密您的虚拟硬盘(VHD),以帮助保护处于存储静止状态的启动卷和数据卷,以及您的加密密钥和机密信息。

重要

Azure Disk Encryption定于 2028 年 15 月 15 日停用。 在该日期之前,可以继续使用Azure Disk Encryption而不中断。 2028 年 9 月 15 日,已启用 ADE 的工作负荷将继续运行,但 VM 重启后加密磁盘将无法解锁,从而导致服务中断。

使用 主机端加密 用于新 VM。 所有已启用 ADE 的 VM(包括备份)必须在停用日期之前迁移到主机上的加密,以避免服务中断。 有关详细信息,请参阅 从 Azure 磁盘加密迁移到宿主加密

主机的加密默认为 VM 数据提供端到端加密、加密临时磁盘、OS 和数据磁盘缓存以及数据流到Azure Storage。 默认情况下,主机加密使用平台管理的密钥,无需额外配置。 (可选)可以将解决方案配置为使用存储在 Azure Key Vault 或 Azure Key Vault 托管 HSM(需要控制和管理自己的磁盘加密密钥)中的客户管理的密钥。 该解决方案可确保虚拟机磁盘上的所有数据在Azure Storage静态加密。

以下最佳做法可帮助你在主机上使用加密:

最佳做法:使用客户管理的密钥时,使用密钥加密密钥(KEK)为加密密钥提供额外的安全层。
Detail:使用客户管理的密钥时,请使用 Add-AzKeyVaultKey cmdlet 在 Azure Key Vault 或托管 HSM 中创建密钥加密密钥。 还可以从本地硬件安全模块(HSM)导入 KEK。 有关详细信息,请参阅 Key Vault 文档。 指定密钥加密密钥时,主机加密使用该密钥来包装加密机密。 在本地密钥管理 HSM 中保留此密钥的托管副本可提供额外的保护,防止意外删除密钥。

最佳做法:在进行加密配置更改之前创建 快照 和/或备份。 如果发生意外故障,备份将提供恢复选项。
Detail:定期备份使用托管磁盘的虚拟机。 有关如何备份和还原加密 VM 的详细信息,请参阅 Azure Backup 一文。

最佳做法:使用客户管理的密钥时,通过定位同一区域中的密钥管理服务和 VM,确保加密机密不会跨越区域边界。
Detail:使用客户管理的密钥时,创建和使用与要加密的 VM 位于同一区域中的密钥保管库或托管 HSM。

在主机应用加密时,可以满足以下业务需求:

  • 使用行业标准的加密技术轻松保护 IaaS VM,满足组织的安全性与合规性要求。
  • IaaS VM 从客户控制的密钥和策略开始,可以在密钥管理服务中审核其使用情况。

限制直接 Internet 连接

监视和限制 VM 直接 Internet 连接。 攻击者不断扫描公有云 IP 范围中的开放管理端口,并尝试使用常见密码和已知的未修补漏洞进行“轻而易举”的攻击。 下表列出了有助于防范这些攻击的最佳做法:

最佳做法:防止无意中暴露网络路由和安全性。
Detail:使用 Azure RBAC 确保只有中央网络组有权访问网络资源。

最佳实践:识别和修正允许从“任何”源 IP 地址访问的暴露 VM。
Detail:使用Microsoft Defender for Cloud。 如果任何网络安全组具有允许从“任何”源 IP 地址访问的入站规则,则 Defender for Cloud 建议通过互联网公开端点限制访问。 Defender for Cloud 建议编辑这些入站规则,以限制访问到实际需要访问的源 IP 地址。

最佳做法:限制管理端口(RDP、SSH)。
Detail:使用 按需(JIT)虚拟机访问锁定发往 Azure 虚拟机的入站流量。 它可减少遭受攻击的风险,同时在需要时提供便捷的访问以连接到虚拟机。 启用 JIT 时,Defender for Cloud 会通过创建网络安全组规则来锁定Azure VM 的入站流量。 您可以选择在 VM 上要限制入站流量的端口。 JIT 解决方案控制这些端口。

后续步骤

有关在使用 Azure 设计、部署和管理云解决方案时要使用的更多安全最佳做法,请参阅 Azure安全最佳做法和模式

以下资源提供有关Azure安全性和相关Microsoft服务的更常规信息: