适用于 Azure 资源管理器的 Azure 安全基线

此安全基线将 Azure 安全基准版本 2.0 中的指南应用到 Microsoft Azure 资源管理器。 Azure 安全基准提供有关如何在 Azure 上保护云解决方案的建议。 内容按“安全控制”分组,这些控制按适用于 Azure 资源管理器的 Azure 安全基准和相关指南定义。

可以使用 Microsoft Defender for Cloud 监视此安全基线及其建议。 Azure Policy定义将在 Microsoft Defender for Cloud 仪表板的“法规符合性”部分列出。

当某个部分具有相关的Azure Policy定义时,它们将列在此基线中,以帮助衡量 Azure 安全基准控件和建议的符合性。 某些建议可能需要付费的 Microsoft Defender 计划才能启用某些安全方案。

注意

已排除不适用于 Azure 资源管理器的控制以及为其逐字建议全局指导的控制。 若要了解 Azure 资源管理器如何完全映射到 Azure 安全基准,请参阅完整的 Azure 资源管理器安全基线映射文件

网络安全

有关详细信息,请参阅 Azure 安全基线: 网络安全性

NS-1:实现内部流量的安全性

指南:Azure 资源管理器是一项部署和管理服务。 它不支持直接部署到虚拟网络中。 Azure 资源管理器不能使用网络功能(如网络安全组、路由表)或与网络相关的设备(如 Azure 防火墙)。

建议在连接到 Azure 资源管理器时使用 TLS v1.2 或更高版本。

注意:该服务支持 TLS v1.1 以实现后向兼容性。

必须通过端口 443 与 Azure 资源管理器通信。

责任:客户

NS-3:建立对 Azure 服务的专用网络访问

指南:使用 Azure 专用链接,无需通过 Internet 即可从虚拟网络对 Azure 资源管理器服务进行专用访问。 专用访问为 Azure 身份验证和流量安全性添加了深度防护措施。

Azure 资源管理器的专用链接为个人预览版。

Azure 资源管理器不提供配置虚拟网络服务终结点的功能。

责任:客户

NS-4:保护应用程序和服务不受外部网络攻击

指南:Azure 资源管理器是一项部署和管理服务,Microsoft 负责保护其终结点免受外部网络攻击。 Azure 资源管理器不支持直接部署到虚拟网络中。 资源管理器无法通过原生 Azure 网络功能(如 DDoS 防护标准)使用传统的网络功能来阻止拒绝服务 (DDoS) 攻击。

Azure 资源管理器不用于运行 Web 应用程序。 此外,不需要配置任何其他设置或部署任何额外的网络服务来保护其免受针对 Web 应用程序的外部网络攻击。

责任:Microsoft

NS-6:简化网络安全规则

指南:在网络安全组或 Azure 防火墙中使用 Azure 虚拟网络服务标记来定义 Azure 资源管理器资源的网络访问控制。 创建安全规则时,可以使用服务标记代替特定的 IP 地址。 在相应的规则源或目标字段中指定服务标记名称,以允许或拒绝流量。 Microsoft 会管理服务标记包含的地址前缀,并在地址更改时自动更新服务标记。

可以使用 AzureResourceManager 服务标记在网络安全组或 Azure 防火墙上配置网络规则。

责任:共享

NS-7:安全域名服务 (DNS)

指南:Azure 资源管理器不会公开其基础 DNS 配置。 这些设置由 Microsoft 维护。

责任:Microsoft

标识管理

有关详细信息,请参阅 Azure 安全基准:标识管理

IM-7:消除意外的凭据透露

指南:Azure 资源管理器允许客户使用可能包含机密的基础结构即代码 (IaC) 模板部署资源。 建议为托管 ARM 模板的存储库实现凭据扫描程序。 它将帮助你识别和阻止代码中的凭据。 凭据扫描程序还会建议将发现的凭据移动到更安全的位置,如 Azure Key Vault。

对于 GitHub,你可以使用本机的机密扫描功能来识别代码中的凭据或其他机密。

责任:共享

特权访问

有关详细信息,请参阅 Azure 安全基准:特权访问

PA-3:定期审查和协调用户访问权限

指南:Azure 资源管理器使用 Azure AD 帐户管理其资源和查看用户帐户。 Azure AD 定期访问权限分配,以确保帐户及其访问权限有效。 可使用 Azure AD 访问评审来审查组成员身份、对企业应用程序的访问权限和角色分配。 Azure AD 报告提供日志来帮助发现过时的帐户。 使用 Azure AD Privileged Identity Management 来创建访问评审报表工作流以便于执行评审。

Azure 资源管理器支持以下内置 Azure RBAC 角色:

  • 参与者 - 授予管理所有资源所需的完全访问权限,但不允许在 Azure RBAC 中分配角色、在 Azure 蓝图中管理分配或共享映像库

  • 所有者 - 授予管理所有资源的完全访问权限,包括允许在 Azure RBAC 中分配角色

  • 读取者 - 查看所有资源,但不允许进行任何更改

  • 用户访问管理员 - 可管理用户对 Azure 资源的访问

此外,还可将 Azure Privileged Identity Management 配置为在创建过多管理员帐户时发出警报,并识别过时或配置不正确的管理员帐户。

注意:某些 Azure 服务支持不通过 Azure AD 管理的本地用户和角色。 请单独管理这些用户。

责任:客户

Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。

Azure Policy 内置定义 - Microsoft.Resources

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应从订阅中删除弃用的帐户 应从订阅中删除弃用的帐户。 已弃用帐户是已阻止登录的帐户。 AuditIfNotExists、Disabled 3.0.0
应从订阅中删除拥有所有者权限的已弃用帐户 应从订阅中删除拥有所有者权限的已弃用帐户。 已弃用帐户是已阻止登录的帐户。 AuditIfNotExists、Disabled 3.0.0
应从订阅中删除拥有所有者权限的外部帐户 为了防止发生未受监视的访问,应从订阅中删除拥有所有者权限的外部帐户。 AuditIfNotExists、Disabled 3.0.0
应从订阅中删除拥有读取权限的外部帐户 应从订阅中删除拥有读取特权的外部帐户,以防发生未受监视的访问。 AuditIfNotExists、Disabled 3.0.0
应从订阅中删除具有写入权限的外部帐户 应从订阅中删除拥有写入特权的外部帐户,以防发生未受监视的访问。 AuditIfNotExists、Disabled 3.0.0

PA-6:使用特权访问工作站

指导:受保护的独立工作站对于敏感角色(如管理员、开发人员和关键服务操作员)的安全性至关重要。 使用高度安全的用户工作站和/或 Azure Bastion 执行管理任务。 使用 Azure AD、Microsoft Defender 高级威胁防护 (ATP) 和/或 Microsoft Intune 来部署安全的托管用户工作站,以便执行管理任务。 可集中管理安全的工作站,以便强制实施安全配置,包括强身份验证、软件和硬件基线,受限的逻辑和网络访问。

责任:客户

PA-7:遵循 Just Enough Administration(最小特权原则)

指南:Azure 资源管理器与 Azure RBAC 集成以管理其资源。 使用 Azure RBAC,可通过角色分配来管理 Azure 资源访问。 可以将这些角色分配给用户、组服务主体和托管标识。 某些资源具有预定义的内置角色,可通过 Azure CLI、Azure PowerShell 或 Azure 门户等工具来清点或查询这些角色。 通过 Azure RBAC 分配给资源的特权应始终限制为角色所需的特权。 此方法是对 Azure AD PIM 的 JIT 方法的补充,应定期进行评审。

请使用内置角色来分配权限,仅在必要时创建自定义角色。

  • 参与者 - 授予管理所有资源所需的完全访问权限,但不允许在 Azure RBAC 中分配角色、在 Azure 蓝图中管理分配或共享映像库

  • 所有者 - 授予管理所有资源的完全访问权限,包括允许在 Azure RBAC 中分配角色

  • 读取者 - 查看所有资源,但不允许进行任何更改

  • 用户访问管理员 - 可管理用户对 Azure 资源的访问

有关详细信息,请参阅:

责任:客户

Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。

Azure Policy 内置定义 - Microsoft.Authorization

名称
(Azure 门户)
说明 效果 版本
(GitHub)
审核自定义 RBAC 规则的使用情况 审核“所有者、参与者、读者”等内置角色而不是容易出错的自定义 RBAC 角色。 使用自定义角色被视为例外,需要进行严格的审查和威胁建模 Audit、Disabled 1.0.0

PA-8:选择 Microsoft 支持的审批流程

指南:Azure 资源管理器不支持客户密码箱。 若要访问与 Azure 资源管理器资源关联的客户数据,Microsoft 可能会与客户合作提供支持方案,以通过其他方法进行审批。

责任:客户

资产管理

有关详细信息,请参阅 Azure 安全基准:资产管理

AM-2:确保安全团队有权访问资产清单和元数据

指南:请确保安全团队有权访问 Azure 上持续更新的资产清单,如 Azure 资源管理器。 安全团队通常需要使用此清单评估其组织遭遇新兴风险的可能性,并据此不断提高安全性。 创建一个 Azure AD 组以包含组织的授权安全团队,并为其分配对所有 Azure 资源管理器资源的读取权限。 可以在订阅中使用单个高级角色分配来简化此过程。

将标记应用到 Azure 资源、资源组和订阅,以便有条理地将它们组织成分类。 每个标记均由名称和值对组成。 例如,可以对生产中的所有资源应用名称“Environment”和值“Production”。

责任:客户

日志记录和威胁检测

有关详细信息,请参阅 Azure 安全基准:日志记录和威胁检测

LT-1:为 Azure 资源启用威胁检测

指南:将任何 Azure 资源管理器日志转发到 SIEM 系统。 可以使用 SIEM 设置自定义威胁检测。

确保监视不同类型的 Azure 资产,以发现潜在的威胁和异常情况。 专注于获取高质量警报以减少误报,便于分析人员进行分类整理。 可从日志数据、代理或其他数据探寻警报来源。

责任:客户

Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。

Azure Policy 内置定义 - Microsoft.Resources

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应启用适用于应用服务的 Microsoft Defender 适用于应用服务的 Microsoft Defender 利用云的规模以及 Azure 作为云提供商的可见性来监视常见的 Web 应用攻击。 AuditIfNotExists、Disabled 1.0.3
应启用适用于 Azure SQL 数据库服务器的 Microsoft Defender Microsoft Defender for SQL 提供了以下功能:公开和缓解潜在数据库漏洞、检测可能对 SQL 数据库造成威胁的异常活动,以及发现和分类敏感数据。 AuditIfNotExists、Disabled 1.0.2
应启用适用于容器注册表的 Microsoft Defender 用于容器注册表的 Microsoft Defender 对过去 30 天内拉取的、推送到注册表或导入的所有映像进行漏洞扫描,并公开每个映像的详细结果。 AuditIfNotExists、Disabled 1.0.3
应启用适用于 DNS 的 Microsoft Defender Microsoft Defender for DNS 通过持续监视所有来自 Azure 资源的 DNS 查询为云资源额外提供保护层。 Microsoft Defender 会向你发出有关 DNS 层的可疑活动的警报。 若要详细了解 Microsoft Defender for DNS 的功能,请参阅 https://aka.ms/defender-for-dns。 启用此 Microsoft Defender 计划会产生费用。 若要了解各区域的定价详细信息,请访问安全中心的定价页:https://aka.ms/pricing-security-center AuditIfNotExists、Disabled 1.0.0-preview
应启用适用于 Key Vault 的 Microsoft Defender 适用于密钥保管库的 Microsoft Defender 通过检测访问或利用密钥保管库帐户的可能有害的异常尝试,提供额外的保护层和安全情报。 AuditIfNotExists、Disabled 1.0.3
应启用适用于 Kubernetes 的 Microsoft Defender Microsoft Defender for Kubernetes 为容器化环境提供实时威胁防护,并针对可疑活动生成警报。 AuditIfNotExists、Disabled 1.0.3
应启用适用于资源管理器的 Microsoft Defender 用于资源管理器的 Microsoft Defender 自动监视组织中的资源管理操作。 Microsoft Defender 会检测威胁,并向你发出有关可疑活动的警报。 若要详细了解适用于资源管理器的 Microsoft Defender 的功能,请参阅 https://aka.ms/defender-for-resource-manager。 启用此 Microsoft Defender 计划会产生费用。 若要了解各区域的定价详细信息,请访问安全中心的定价页:https://aka.ms/pricing-security-center AuditIfNotExists、Disabled 1.0.0
应启用适用于服务器的 Microsoft Defender 适用于服务器的 Microsoft Defender 可为服务器工作负载提供实时威胁防护,并生成强化建议以及有关可疑活动的警报。 AuditIfNotExists、Disabled 1.0.3
应启用适用于计算机上的 SQL Server 的 Microsoft Defender Microsoft Defender for SQL 提供了以下功能:公开和缓解潜在数据库漏洞、检测可能对 SQL 数据库造成威胁的异常活动,以及发现和分类敏感数据。 AuditIfNotExists、Disabled 1.0.2
应启用适用于存储的 Microsoft Defender 适用于存储的 Microsoft Defender 可检测旨在访问或恶意利用存储帐户的可能有害的异常尝试。 AuditIfNotExists、Disabled 1.0.3

LT-2:启用 Azure 标识和访问管理的威胁检测

指导:Azure AD 提供以下用户日志。 可以在 Azure AD 报告中查看这些日志。 对于复杂的监视和分析用例,可以将其与 Azure Monitor、Microsoft Sentinel 或其他 SIEM 和监视工具集成。

  • 登录 - 提供有关托管应用程序使用情况和用户登录活动的信息。

  • 审核日志 - 对于通过 Azure AD 的各种功能所做的所有更改,通过日志提供可跟踪性。 审核日志包含对 Azure AD 中的任何资源所做的更改。 这些更改包括添加或删除用户、应用、组、角色和策略。

  • 风险登录 - 指可能有非合法用户帐户所有者尝试登录。

  • 标记为风险用户 - 指可能已泄露的用户帐户。

Microsoft Defender for Cloud 还可对可疑活动(如身份验证尝试失败次数过多或使用弃用的帐户)触发警报。

责任:客户

Microsoft Defender for Cloud 监视:Azure 安全基准是 Microsoft Defender for Cloud 的默认策略计划,也是构筑各项 Microsoft Defender for Cloud 建议的基础。 Microsoft Defender for Cloud 会自动启用与此控制相关的 Azure Policy 定义。 与此控制相关的警报可能需要相关服务的 Microsoft Defender 计划。

Azure Policy 内置定义 - Microsoft.Resources

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应启用适用于应用服务的 Microsoft Defender 适用于应用服务的 Microsoft Defender 利用云的规模以及 Azure 作为云提供商的可见性来监视常见的 Web 应用攻击。 AuditIfNotExists、Disabled 1.0.3
应启用适用于 Azure SQL 数据库服务器的 Microsoft Defender Microsoft Defender for SQL 提供了以下功能:公开和缓解潜在数据库漏洞、检测可能对 SQL 数据库造成威胁的异常活动,以及发现和分类敏感数据。 AuditIfNotExists、Disabled 1.0.2
应启用适用于容器注册表的 Microsoft Defender 用于容器注册表的 Microsoft Defender 对过去 30 天内拉取的、推送到注册表或导入的所有映像进行漏洞扫描,并公开每个映像的详细结果。 AuditIfNotExists、Disabled 1.0.3
应启用适用于 DNS 的 Microsoft Defender Microsoft Defender for DNS 通过持续监视所有来自 Azure 资源的 DNS 查询为云资源额外提供保护层。 Microsoft Defender 会向你发出有关 DNS 层的可疑活动的警报。 若要详细了解 Microsoft Defender for DNS 的功能,请参阅 https://aka.ms/defender-for-dns。 启用此 Microsoft Defender 计划会产生费用。 若要了解各区域的定价详细信息,请访问安全中心的定价页:https://aka.ms/pricing-security-center AuditIfNotExists、Disabled 1.0.0-preview
应启用适用于 Key Vault 的 Microsoft Defender 适用于密钥保管库的 Microsoft Defender 通过检测访问或利用密钥保管库帐户的可能有害的异常尝试,提供额外的保护层和安全情报。 AuditIfNotExists、Disabled 1.0.3
应启用适用于 Kubernetes 的 Microsoft Defender Microsoft Defender for Kubernetes 为容器化环境提供实时威胁防护,并针对可疑活动生成警报。 AuditIfNotExists、Disabled 1.0.3
应启用适用于资源管理器的 Microsoft Defender 用于资源管理器的 Microsoft Defender 自动监视组织中的资源管理操作。 Microsoft Defender 会检测威胁,并向你发出有关可疑活动的警报。 若要详细了解适用于资源管理器的 Microsoft Defender 的功能,请参阅 https://aka.ms/defender-for-resource-manager。 启用此 Microsoft Defender 计划会产生费用。 若要了解各区域的定价详细信息,请访问安全中心的定价页:https://aka.ms/pricing-security-center AuditIfNotExists、Disabled 1.0.0
应启用适用于服务器的 Microsoft Defender 适用于服务器的 Microsoft Defender 可为服务器工作负载提供实时威胁防护,并生成强化建议以及有关可疑活动的警报。 AuditIfNotExists、Disabled 1.0.3
应启用适用于计算机上的 SQL Server 的 Microsoft Defender Microsoft Defender for SQL 提供了以下功能:公开和缓解潜在数据库漏洞、检测可能对 SQL 数据库造成威胁的异常活动,以及发现和分类敏感数据。 AuditIfNotExists、Disabled 1.0.2
应启用适用于存储的 Microsoft Defender 适用于存储的 Microsoft Defender 可检测旨在访问或恶意利用存储帐户的可能有害的异常尝试。 AuditIfNotExists、Disabled 1.0.3

LT-4:为 Azure 资源启用日志记录

指南:自动可用的活动日志包含针对 Azure 资源管理器资源的所有写入操作(PUT、POST、DELETE),但读取操作 (GET) 除外。 活动日志可用于在进行故障排除时查找错误,或监视组织中的用户如何对资源进行修改。

Azure 资源管理器当前不会生成 Azure 资源日志。

责任:共享

LT-6:配置日志存储保留期

指南:确保用于存储 Azure 资源管理器活动日志的所有存储帐户或 Log Analytics 工作区都根据组织的合规性规定设置了日志保留期。

责任:客户

LT-7:使用批准的时间同步源

指南:Azure 资源管理器不支持配置你自己的时间同步源。

Azure 资源管理器服务依赖于 Microsoft 时间同步源,不会向客户公开以允许其进行配置。

责任:Microsoft

安全状况和漏洞管理

有关详细信息,请参阅 Azure 安全基准:安全状况和漏洞管理

PV-1:为所有 Azure 服务建立安全配置

指南:可以使用 Azure 蓝图自动部署和配置服务和应用程序环境。 单个蓝图定义可以包括 Azure 资源管理器模板、Azure RBAC 角色和 Azure 策略分配。

使用 Azure Policy 别名创建自定义策略,审核或强制实施 Azure 资源的配置。 你还可以使用内置的 Azure Policy 定义。

Azure 资源管理器能够以 JavaScript 对象表示法 (JSON) 导出模板,应该对其进行检查,以确保配置满足组织的安全要求。

还可以使用 Microsoft Defender for Cloud 中的建议,作为 Azure 资源的安全配置基线。

责任:客户

PV-2:为所有 Azure 服务维护安全配置

指南:使用 Microsoft Defender for Cloud 监视配置基线,并强制使用 Azure Policy 的 [拒绝] 和 [如果不存在便部署] 规则跨 Azure 计算资源(包括 VM、容器和其他资源)强制实施安全配置。

另外,作为管理员,你可能需要锁定订阅、资源组或资源,以防止组织中的其他用户意外删除或修改关键资源。 可以将锁定级别设置为 CanNotDelete 或 ReadOnly。

责任:客户

PV-6:执行软件漏洞评估

指南:Microsoft 对支持 Azure 资源管理器的基础系统执行漏洞管理。

责任:Microsoft

PV-7:快速自动修正软件漏洞

指南:Microsoft 对支持 Azure 资源管理器的基础系统执行发现的管理。

责任:Microsoft

PV-8:执行定期攻击模拟

指导:根据需要,对 Azure 资源执行渗透测试和红队活动,确保修正所有关键的安全发现结果。

按照 Microsoft Cloud 渗透测试参与规则操作,以确保渗透测试不违反 Microsoft 策略。 采用并执行 Microsoft 的红队演练策略。 对 Microsoft 托管的云基础结构、服务和应用程序进行实时站点渗透测试。

责任:共享

备份和恢复

有关详细信息,请参阅 Azure 安全基准:备份和恢复

BR-1:确保定期执行自动备份

指南:Azure 资源管理器模板导出不能用于捕获静态数据。 对于资源配置,建议从源模板创建基础结构,并在需要时从该事实源重新部署。 模板导出有助于启动该过程,但它还不足以解决灾难恢复问题。

责任:客户

BR-3:验证所有备份,包括客户管理的密钥

指南:确保能够通过 API、CLI 或 Azure 门户定期将 Azure 资源管理器模板部署到独立订阅(如有必要)。

责任:客户

后续步骤