Azure托管 HSM 是完全托管的、高度可用的单租户硬件安全模块(HSM)服务,为云应用程序提供 FIPS 140-3 级别 3 验证的加密密钥保护。 由于托管 HSM 可保护最敏感的加密密钥和机密,因此实施全面的安全控制对于防范威胁和维护业务连续性至关重要。
本文提供安全建议来帮助保护Azure托管 HSM 部署。
本文中的安全建议实施Zero Trust原则:“显式验证”、“使用最小特权访问”和“假设违规”。 有关全面的Zero Trust指南,请参阅 Zero Trust 指导中心。
特定于服务的安全性
服务特定安全性处理托管 HSM 的特殊特性,涵盖硬件级别保护、FIPS 合规性及专用密码运算,这些特性使其区别于其他 Azure 服务。
实现自带密钥(BYOK),以实现法规符合性:当法规要求要求特定的密钥生成过程时,使用 BYOK 从本地 HSM 导入受 HSM 保护的密钥。 BYOK 确保在传输过程中,密钥永远不会以纯文本形式存在于 HSM 边界之外。 请参阅将受 HSM 保护的密钥导入托管 HSM(BYOK)。
实现适当的密钥证明过程:使用密钥证明功能来证明在 FIPS 140-3 级别 3 硬件边界内生成和处理密钥。 密钥认证为高可信方案提供密钥来源的加密证明。 请参阅 密钥认证。
配置跨区域复制以实现业务连续性:启用多区域复制,以便将托管 HSM 从主要区域扩展到扩展区域,从而通过自动复制提供主动-主动部署。 这两个区域都可以为请求提供服务,流量管理器会将请求路由到最近的可用区域,将 SLA 增加到 99.99% 组合。 请参阅 多区域复制。
Control Azure Resource Manager密钥管理访问:默认情况下,托管 HSM 不信任Azure Resource Manager,与标准Key Vault不同。 如果环境需要基于门户或 ARM 模板密钥管理,请显式启用该
AllowKeyManagementOperationsThroughARM设置。 对于将 ARM 信任视为风险的更高保证环境,请保留此设置的禁用状态。 请参阅 允许通过 Azure Resource Manager 执行密钥管理操作。
网络安全
网络安全通过安全连接和网络访问控制来保护您的托管的 HSM。 这些网络安全功能从限制最多的功能到限制最少的功能依次列出。 选择最适合组织用例的配置。 有关所有网络安全配置的详细信息,请参阅 Azure Key Vault 托管 HSM 的网络安全。
禁用公共网络访问,仅使用专用终结点:通过在虚拟网络中创建专用终结点来部署 Azure Private Link,以建立与托管 HSM 实例的私密安全连接。 禁用公用网络访问是通过将托管 HSM 配置为拒绝公共网络访问来防止对公共 IP 地址的访问。 此配置可防止暴露于公共互联网,并通过微软主干网络路由所有流量。 请参阅 将托管 HSM 与 Azure Private Link 集成。
配置具有受信任服务的托管 HSM 防火墙:配置托管 HSM 防火墙规则,以拒绝公共互联网访问,并在您的场景需要时,允许特定受信任的 Azure 服务通过
--bypass AzureServices设置。 此配置限制攻击面,同时维护必要的服务集成。 有关完整详细信息,请参阅网络安全:已启用托管 HSM 防火墙(受信任服务)。启用 IP 网络防火墙:当网络方案需要受控的公共访问时,将访问限制为公共静态 IP 地址。 有关完整详细信息,请参阅“网络安全:托管 HSM 防火墙已启用”(IP 网络防火墙)。
有关分步配置说明,请参阅如何配置Azure托管 HSM 网络设置。
身份和访问管理
身份和访问管理可保护对托管 HSM 资源的身份验证和授权。 托管硬件安全模块(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 密钥对(建议至少三个)配置安全域仲裁,以防止对 HSM 恢复进行单人控制。 指定一个仲裁阈值,该阈值要求多个密钥持有者共同协作进行安全域解密,确保没有单个个体能够危及 HSM。 请参阅 安全域概览。
将安全域密钥脱机存储在安全位置:将安全域私钥保存在加密、脱机存储设备(例如加密的 USB 驱动器)中,并放置在不同地理位置的物理保险箱或锁箱内。 切勿在连接 Internet 的计算机上存储安全域密钥,以减少网络威胁的暴露,并确保空中安全。 请参阅 安全域概览。
建立安全域密钥管理过程:实施策略,以便在发生人员更改或密钥可能泄露时定期审查安全域密钥保管。 文件安全领域持有者的职责,包括维护密钥位置和保管的准确记录,并确保可以在灾难恢复方案中召集法定人数。 请参阅 安全域概览。
为 HSM 和密钥启用清除保护:配置清除保护,以防止在保留期到期之前永久删除 HSM 或单个密钥。 此控制可防范意外或恶意删除,并为关键作提供恢复窗口。 请参阅 软删除概述。
配置适当的软删除保留期:根据恢复要求和符合性需求设置 7 到 90 天的软删除保留期。 更长的保留期提供更多的恢复时间,但可能与数据驻留要求冲突。 请参阅 软删除概述。
日志记录和监控
日志记录和监控提供 HSM 访问模式和操作的可见性,从而支持威胁检测和合规性报告。 全面的日志记录有助于识别可疑活动并支持取证调查。
使用诊断设置启用审核日志记录:配置诊断设置,以捕获并存储在 AzureDiagnostics 表中的所有经过身份验证的 REST API 请求、密钥操作和安全域操作。 根据保留和分析要求,将日志路由到Azure Storage帐户、Log Analytics工作区或事件中心。 请参阅 Managed HSM 日志记录。
使用 Azure Monitor 和 Log Analytics 分析日志:使用 Azure Monitor 通过 KQL 查询筛选 ResourceProvider 为 "MICROSOFT.KEYVAULT" 和 ResourceType 为 "MANAGEDHSMS" 来收集和分析 HSM 日志。 为安全运营团队创建自定义仪表板和工作簿,以监视access模式和密钥使用情况。 请参阅 Monitor Azure 托管 HSM。
为关键安全事件配置警报:为以下事件创建 Azure Monitor 警报规则:HSM 可用性低于 100%、服务 API 延迟超过阈值、出现异常错误代码模式或身份验证尝试失败。 配置静态阈值和动态阈值警报,以减少误报,同时保持安全可见性。 请参阅 配置托管 HSM 警报。
与 Microsoft Sentinel 集成以实现高级威胁检测:部署 Microsoft Sentinel 以利用机器学习分析和特定于托管 HSM 操作的自定义检测规则自动检测可疑活动。 为诸如安全域下载、批量密钥操作或异常访问模式这样的敏感操作创建分析规则。 请参阅 为 Azure 托管 HSM 设置 Microsoft Sentinel。
实施适当的日志保留策略:建立满足合规性要求并支持取证调查的日志保留期。 使用Azure Monitor Log Analytics保留策略来管理存储成本,同时为安全事件维护足够的调查功能。 请参阅 Monitor Azure 托管 HSM。
合规性和治理
合规性和治理控制可确保托管 HSM 部署通过自动化策略实施和合规性监视来满足法规要求和组织策略。
实施 Azure Policy 以实现关键治理:将 Managed HSM Crypto Auditor 角色授予 Azure 托管 HSM 密钥治理服务(应用 ID:a1b76039-a76c-499f-a2dd-846b4cc32627)以启用 Azure Policy 合规性扫描。 然后,定义用于审核或强制实施安全密钥配置的策略规则,包括密钥过期要求、最小 RSA 密钥大小和椭圆曲线算法限制。 如果没有此角色分配,Azure Policy无法评估完整的密钥清单。 请参阅 将 Azure 托管 HSM 与 Azure 策略集成。
配置密钥生命周期和加密标准:使用内置Azure Policy定义强制实施密钥过期日期,强制实施最低 RSA 密钥大小以确保安全符合性,将椭圆曲线加密限制为批准的曲线名称(P-256K、P-256K、P-384、P-521),并确保密钥在轮换过程过期前有足够的时间。 请参阅 将 Azure 托管 HSM 与 Azure 策略集成。
通过Azure Policy仪表板监控合规性:利用 Azure Policy 合规性仪表板跟踪对于加密安全标准的符合性,并识别需要修正的不合规的密钥。 设置审核策略和拒绝策略的作用,以提供安全基线的可见性和强制实施。 请参阅 将 Azure 托管 HSM 与 Azure 策略集成。
备份和恢复
备份和恢复可防范数据丢失,并通过适当的备份策略、灾难恢复过程和恢复测试实现业务连续性,以确保加密密钥保持可访问性。
创建常规的完整 HSM 备份:计划自动完整 HSM 备份,其中包括所有密钥、版本、属性、标记和角色分配,以防止硬件故障或作事件数据丢失。 使用用户分配的托管身份进行备份操作,以启用无需凭据管理的安全访问存储帐户。 请参阅 完整备份和还原。
为关键密钥实现单个密钥级备份:使用
az keyvault key backup命令启用精细恢复,而无需执行完整的 HSM 还原操作,创建高价值密钥的选择性备份。 密钥备份经过加密并加密绑定到安全域,这意味着只能还原到共享同一安全域的 HSM。 请参阅 完整备份和还原。准备全面的灾难恢复过程:使用 RSA 密钥对、备份还原过程和应用程序重新配置步骤开发和测试包括安全域恢复的灾难恢复计划。 确保您可以安全脱机访问安全域文件、私钥(最低份额),并保留存储在地理位置不同的地点的最新备份。 请参阅 灾难恢复指南。
定期测试备份和还原过程:使用非生产 HSM 实例定期执行灾难恢复演练,以验证安全域恢复、备份还原和完整的灾难恢复工作流。 测试可确保安全域仲裁持有者能够成功执行恢复操作并且验证备份完整性。 请参阅 灾难恢复指南。
使用适当的访问控制来保护备份存储:将 HSM 备份存储在配置了适当的 RBAC 权限、专用终结点和客户管理的加密密钥的Azure Storage帐户中。 使用存储 Blob 数据贡献者角色配置用户分配的托管标识,并实施备份保留策略,以平衡恢复要求与存储成本。 请参阅 完整备份和还原。