确保 Azure 托管 HSM 部署的安全性

Azure 托管 HSM 是完全托管的、高度可用的单租户硬件安全模块 (HSM) 服务,它为云应用程序提供 FIPS 140-3 级别 3 验证的加密密钥保护。 由于托管 HSM 可保护最敏感的加密密钥和机密,因此实施全面的安全控制对于防范威胁和维护业务连续性至关重要。

本文提供了有助于保护 Azure 托管 HSM 部署的安全建议。

网络安全

网络安全通过安全连接和网络访问控制来保护托管 HSM。 与部署到虚拟网络的服务不同,托管 HSM 是通过安全终结点访问的,并支持通过 Azure 专用链接进行专用连接。

  • 使用 Azure 专用链接部署专用终结点:通过在虚拟网络中创建专用终结点,建立与托管 HSM 实例的专用安全连接。 这可以防止暴露于公共互联网,并通过 Microsoft Azure 骨干网络将所有流量路由。 请参阅 将托管 HSM 与 Azure 专用链接集成

  • 禁用公用网络访问:通过将托管 HSM 配置为拒绝公用网络访问来阻止来自公共 IP 地址的访问。 此设置与私有终结点一起工作,以确保只有私有网络流量到达 HSM。 请参阅 将托管 HSM 与 Azure 专用链接集成

  • 为受信任的服务配置防火墙规则:如果不能完全禁用公共访问,请使用托管 HSM 防火墙规则来拒绝公共 Internet 访问,同时允许通过 --bypass AzureServices 设置特定的受信任的 Azure 服务。 这会限制攻击面,同时维护必要的服务集成。 请参阅 将托管 HSM 与 Azure 专用链接集成

标识和访问管理

标识和访问管理可保护对托管 HSM 资源的身份验证和授权。 托管硬件安全模块使用具有不同授权系统的双平面访问模型来执行控制平面和数据平面的操作。

  • 实现用于数据平面访问的托管 HSM 本地 RBAC:使用托管 HSM 本地 RBAC 来控制对 HSM 中密钥和加密作的访问。 此授权系统独立于 Azure RBAC 运行,并为密钥作、角色分配和安全域管理提供精细权限。 请参阅 托管 HSM 的访问控制

  • 为应用程序访问启用托管标识:为应用程序配置系统分配的托管标识或用户分配的托管标识,以便对托管 HSM 进行身份验证,而无需将凭据存储在代码或配置文件中。 托管标识与 Microsoft Entra ID 集成,并自动处理凭据轮换。 请参阅 托管 HSM 的访问控制

  • 应用具有适当范围的最小特权访问权限:在 HSM 级别(//keys)所需的最严格的范围内授予权限,以实现广泛访问或密钥级别(/keys/<key-name>)以实现特定密钥访问。 使用内置角色,例如托管 HSM 密码管理员、托管 HSM 密码用户或托管 HSM 密码审计员,具体取决于所需操作。 请参阅 托管 HSM 的访问控制

  • 将 HSM 管理员角色分配给安全组:将 HSM 管理员角色授予 Microsoft Entra 安全组,而非单个用户,以防止删除用户帐户时意外锁定。 此方法简化了权限管理,并确保 HSM 预配过程中管理访问权限的连续性。 请参阅 托管 HSM 的访问控制

  • 为管理角色启用 Privileged Identity Management:使用 Microsoft Entra Privileged Identity Management (PIM)为高特权角色(如托管 HSM 管理员)强制实施实时访问。 PIM 可降低长期管理权限的风险,并为提升的访问权限提供审批工作流。 请参阅 托管 HSM 的访问控制

  • 单独的控制平面和数据平面访问:了解用于管理 HSM 资源的控制平面访问(Azure RBAC)不会授予数据平面对密钥的访问权限。 通过托管 HSM 本地 RBAC 向需要执行密钥操作的用户显式分配数据平面角色。 请参阅 托管 HSM 的访问控制

数据保护

数据保护通过加密、密钥管理策略和安全存储做法保护存储在托管 HSM 中的加密密钥和敏感数据。 适当的数据保护可确保密钥材料保持机密性和防篡改性。

  • 为安全域实施多人控制:配置具有多个 RSA 密钥对(建议至少使用 3 个)的安全域仲裁,以防止单人对 HSM 恢复的控制。 指定一个仲裁阈值,该阈值要求多个密钥持有者共同协作进行安全域解密,确保没有单个个体能够危及 HSM。 请参阅 安全域概述

  • 将安全域密钥脱机存储在安全位置:将安全域私钥保存在加密的脱机存储设备上,例如存储在物理隔离或锁箱内不同地理位置的加密 USB 驱动器。 切勿在连接 Internet 的计算机上存储安全域密钥,以减少网络威胁的暴露,并确保空中安全。 请参阅 安全域概述

  • 建立安全域密钥管理过程:实施策略,以便在发生人员更改或密钥可能泄露时定期审查安全域密钥保管。 文件安全领域持有者的职责,包括维护密钥位置和保管的准确记录,并确保可以在灾难恢复方案中召集法定人数。 请参阅 安全域概述

  • 为 HSM 和密钥启用清除保护:配置清除保护,以防止在保留期到期之前永久删除 HSM 或单个密钥。 此控制可防范意外或恶意删除,并为关键作提供恢复窗口。 请参阅 软删除概述

  • 配置适当的软删除保留期:根据恢复要求和符合性需求设置 7 到 90 天的软删除保留期。 更长的保留期提供更多的恢复时间,但可能与数据驻留要求冲突。 请参阅 软删除概述

日志记录和监控

日志记录和监视提供 HSM 访问模式和操作的透明性,从而支持威胁检测和合规性报告。 全面的日志记录有助于识别可疑活动并支持取证调查。

  • 使用诊断设置启用审核日志记录:配置诊断设置,以捕获并存储在 AzureDiagnostics 表中的所有经过身份验证的 REST API 请求、密钥操作和安全域操作。 根据保留和分析要求将日志路由到 Azure 存储帐户、Log Analytics 工作区或事件中心。 请参阅 托管 HSM 日志记录

  • 使用 Azure Monitor 和 Log Analytics 分析日志:使用 Azure Monitor 通过 KQL 查询筛选 ResourceProvider 为“MICROSOFT.KEYVAULT”和 ResourceType 为“MANAGEDHSMS”来收集和分析 HSM 日志。 为安全运营团队创建自定义仪表板和工作簿,以监视访问模式和密钥使用情况。 请参阅“监视 Azure 托管 HSM”

  • 为关键安全事件配置警报:为事件(如 HSM 可用性下降到低于 100%、服务 API 延迟超过阈值、异常错误代码模式或身份验证尝试失败)创建 Azure Monitor 警报规则。 配置静态阈值和动态阈值警报,以减少误报,同时保持安全可见性。 请参阅 配置托管 HSM 警报

  • 与 Microsoft Sentinel 集成,用于高级威胁检测:部署 Microsoft Sentinel,通过使用机器学习分析和特定于托管 HSM 操作的自定义检测规则,自动检测可疑活动。 为敏感作(例如安全域下载、批量密钥作或异常访问模式)创建分析规则。 请参阅 为 Azure 托管 HSM 设置 Microsoft Sentinel

  • 实施适当的日志保留策略:建立满足合规性要求并支持取证调查的日志保留期。 使用 Azure Monitor Log Analytics 保留策略来管理存储成本,同时为安全事件维护足够的调查功能。 请参阅“监视 Azure 托管 HSM”

合规性和治理

合规性和治理控制可确保托管 HSM 部署通过自动化策略实施和合规性监视来满足法规要求和组织策略。

  • 实施 Azure Policy 进行密钥治理:将“托管 HSM 加密审核员”角色授予“Azure 托管 HSM 密钥治理服务”(应用 ID:a1b76039-a76c-499f-a2dd-846b4cc32627)以启用 Azure Policy 合规性扫描, 然后定义策略规则以审核或强制实施安全密钥配置,包括密钥过期要求、最小 RSA 密钥大小和椭圆曲线算法限制。 如果没有此角色分配,Azure Policy 将无法评估完整的密钥清单。 请参阅 将 Azure 托管 HSM 与 Azure Policy 集成

  • 配置密钥生命周期和加密标准:使用内置的 Azure Policy 定义来强制实施密钥过期日期、强制实施最低 RSA 密钥大小以确保安全符合性、将椭圆曲线加密限制为已批准的曲线名称(P-256K、P-256K、P-384、P-521),并确保密钥在轮换过程到期前有足够的时间。 请参阅 将 Azure 托管 HSM 与 Azure Policy 集成

  • 通过 Azure Policy 仪表板监视符合性:使用 Azure Policy 合规性仪表板跟踪符合加密安全标准并识别需要修正的不符合的密钥。 设置审核策略和拒绝策略的作用,以提供安全基线的可见性和强制实施。 请参阅 将 Azure 托管 HSM 与 Azure Policy 集成

备份和恢复

备份和恢复可防范数据丢失,并通过适当的备份策略、灾难恢复过程和恢复测试实现业务连续性,以确保加密密钥保持可访问性。

  • 创建常规的完整 HSM 备份:计划自动完整 HSM 备份,其中包括所有密钥、版本、属性、标记和角色分配,以防止硬件故障或作事件数据丢失。 使用用户分配的托管标识进行备份作,以便在不使用凭据管理的情况下安全地访问存储帐户。 请参阅 完整备份和还原

  • 为关键密钥实现单个密钥级备份:使用 az keyvault key backup 命令创建高价值密钥的选择性备份,以实现精细恢复,而无需执行完整的 HSM 还原作。 密钥备份经过加密并加密绑定到安全域,这意味着只能还原到共享同一安全域的 HSM。 请参阅 完整备份和还原

  • 准备全面的灾难恢复过程:开发和测试灾难恢复计划,其中包括使用 RSA 密钥对、备份还原过程和应用程序重新配置步骤的安全域恢复。 确保您能够安全脱机访问安全域文件、达到最低仲裁要求的私钥,以及存储在地理位置分开的不同地点的最新备份。 请参阅 灾难恢复指南

  • 定期测试备份和还原过程:使用非生产 HSM 实例定期执行灾难恢复演练,以验证安全域恢复、备份还原和完整的灾难恢复工作流。 测试可确保安全域仲裁持有者能够成功执行恢复操作并且验证备份完整性。 请参阅 灾难恢复指南

  • 使用适当的访问控制保护备份存储:在配置了适当的 RBAC 权限、专用终结点和客户管理的加密密钥的 Azure 存储帐户中存储 HSM 备份。 使用存储 Blob 数据参与者角色配置用户分配的托管标识,并实施备份保留策略,以平衡恢复要求与存储成本。 请参阅 完整备份和还原

特定于服务的安全性

服务特定的安全性涵盖了托管 HSM 的独特特征,包括硬件级别的保护、FIPS 合规性,以及将其与其他 Azure 服务区分开的专用加密操作。

  • 利用 FIPS 140-3 级别 3 硬件验证:采用托管 HSM 的通过 FIPS 140-3 级别 3 验证的硬件安全模块,这些模块通过基于硬件的密钥隔离提供防篡改的、高熵加密处理。 这提供了 Azure 中可用的最高级别的密钥保护。 请参阅什么是 Azure 托管 HSM?

  • 实现自带密钥(BYOK),以实现法规符合性:当法规要求要求特定的密钥生成过程时,使用 BYOK 从本地 HSM 导入受 HSM 保护的密钥。 BYOK 确保在传输过程中,密钥永远不会以纯文本形式存在于 HSM 边界之外。 请参阅什么是 Azure 托管 HSM?

  • 对敏感工作负荷利用单租户隔离:利用托管 HSM 的单租户体系结构,其中每个 HSM 实例专用于单个客户,并通过特定于客户的安全域进行加密隔离。 这比多租户密钥保管库解决方案更隔离。 请参阅什么是 Azure 托管 HSM?

  • 实现适当的密钥证明过程:使用密钥证明功能来证明密钥是在 FIPS 140-3 级别 3 硬件边界内生成和处理的。 密钥认证为高可信方案提供密钥来源的加密证明。 请参阅 密钥证明

  • 配置跨区域复制以实现业务连续性:启用多区域复制,以便将托管 HSM 从主要区域扩展到扩展区域,从而通过自动复制提供主动-主动部署。 这两个区域都可以为请求提供服务,流量管理器会将请求路由到最近的可用区域,将 SLA 增加到 99.99% 组合。 请参阅 多区域复制

后续步骤