适用于应用程序网关的 Azure 安全基线

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

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

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

注意

排除了不适用于应用程序网关或 Microsoft 为其责任方的“控件”。 若要查看应用程序网关如何完全映射到 Azure 安全基准,请参阅完整的应用程序网关安全基准映射文件

网络安全

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

1.1:保护虚拟网络中的 Azure 资源

指导:请确保所有虚拟网络 Azure 应用程序网关子网部署都应用了网络安全组 (NSG),且具有针对应用程序受信任端口和源的网络访问控制。 虽然 Azure 应用程序网关上支持网络安全组,但必须遵守某些限制和要求,以使 NSG 和 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.Network:

名称
(Azure 门户)
说明 效果 版本
(GitHub)
所有 Internet 流量都应通过所部署的 Azure 防火墙进行路由 Microsoft Defender for Cloud 已确认,你的某些子网未使用下一代防火墙进行保护。 通过使用 Azure 防火墙或受支持的下一代防火墙限制对子网的访问,保护子网免受潜在威胁的危害 AuditIfNotExists、Disabled 3.0.0-preview
子网应与网络安全组关联 使用网络安全组 (NSG) 限制对 VM 的访问,以此防范子网遭受潜在威胁。 NSG 包含一系列访问控制列表 (ACL) 规则,这些规则可以允许或拒绝流向子网的网络流量。 AuditIfNotExists、Disabled 3.0.0
虚拟机应连接到已批准的虚拟网络 此策略审核任何已连接到未批准的虚拟网络的虚拟机。 Audit、Deny、Disabled 1.0.0
虚拟网络应使用指定的虚拟网络网关 如果默认路由未指向指定的虚拟网络网关,则此策略会审核任何虚拟网络。 AuditIfNotExists、Disabled 1.0.0

1.2:监视并记录虚拟网络、子网和网络接口的配置与流量

指导:对于与 Azure 应用程序网关子网关联的网络安全组 (NSG),启用 NSG 流日志,并将日志发送到存储帐户以进行流量审核。 还可以将 NSG 流日志发送到 Log Analytics 工作区,并使用流量分析来提供有关 Azure 云中流量流的见解。 流量分析的优势包括能够可视化网络活动、识别热点、识别安全威胁、了解流量流模式,以及查明网络不当配置。

注意:在某些情况下,与 Azure 应用程序网关子网关联的 NSG 流日志不会显示已允许的流量。 如果配置与以下情况匹配,则 NSG 流日志中不会显示允许的流量:

  • 已部署了应用程序网关 v2
  • 应用程序网关子网上有 NSG
  • 已在该 NSG 上启用 NSG 流日志

有关其他信息,请参阅以下参考。

责任:客户

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

Azure Policy 内置定义 - Microsoft.Network:

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应启用网络观察程序 网络观察程序是一个区域性服务,可用于在网络方案级别监视和诊断 Azure 内部以及传入和传出 Azure 的流量的状态。 使用方案级别监视可以诊断端到端网络级别视图的问题。 需要在存在虚拟网络的每个区域中创建一个网络观察程序资源组。 如果网络观察程序资源组在特定区域中不可用,则会启用警报。 AuditIfNotExists、Disabled 3.0.0

1.3:保护关键 Web 应用程序

指导:在关键 Web 应用程序前部署 Azure Web 应用程序防火墙 (WAF),以对传入的流量进行额外的检查。 Web 应用程序防火墙 (WAF) 是(Azure 应用程序网关的)一项服务功能,可以对 Web 应用程序进行集中保护,避免其受到常见攻击和漏洞的伤害。 Azure WAF 通过检查入站 Web 流量来阻止攻击(例如 SQL 注入、跨站点脚本、恶意软件上传和 DDoS 攻击),从而帮助保护 Azure 应用服务 Web 应用的安全。 WAF 基于 OWASP(开放 Web 应用程序安全项目)核心规则集 3.1(仅限 WAF_v2)、3.0 和 2.2.9 中的规则。

责任:客户

1.4:拒绝与已知恶意的 IP 地址进行通信

指导:在与 Azure 应用程序网关的生产实例相关联的 Azure 虚拟网络上启用 DDoS 标准保护,以防范 DDoS 攻击。 使用 Microsoft Defender for Cloud 的集成式威胁情报功能拒绝与已知的恶意 IP 地址通信。

责任:客户

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

Azure Policy 内置定义 - Microsoft.Network:

名称
(Azure 门户)
说明 效果 版本
(GitHub)
所有 Internet 流量都应通过所部署的 Azure 防火墙进行路由 Microsoft Defender for Cloud 已确认,你的某些子网未使用下一代防火墙进行保护。 通过使用 Azure 防火墙或受支持的下一代防火墙限制对子网的访问,保护子网免受潜在威胁的危害 AuditIfNotExists、Disabled 3.0.0-preview
应启用 Azure DDoS 防护标准 应为属于应用程序网关且具有公共 IP 子网的所有虚拟网络启用 DDoS 保护标准。 AuditIfNotExists、Disabled 3.0.0

1.5:记录网络数据包

指导:对于与 Azure 应用程序网关子网关联的网络安全组 (NSG),启用 NSG 流日志,并将日志发送到存储帐户以进行流量审核。 还可以将 NSG 流日志发送到 Log Analytics 工作区,并使用流量分析来提供有关 Azure 云中流量流的见解。 流量分析的优势包括能够可视化网络活动、识别热点、识别安全威胁、了解流量流模式,以及查明网络不当配置。

注意:在某些情况下,与 Azure 应用程序网关子网关联的 NSG 流日志不会显示已允许的流量。 如果配置与以下情况匹配,则 NSG 流日志中不会显示允许的流量:

  • 已部署了应用程序网关 v2
  • 应用程序网关子网上有 NSG
  • 已在该 NSG 上启用 NSG 流日志

有关其他信息,请参阅以下参考。

责任:客户

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

Azure Policy 内置定义 - Microsoft.Network:

名称
(Azure 门户)
说明 效果 版本
(GitHub)
应启用网络观察程序 网络观察程序是一个区域性服务,可用于在网络方案级别监视和诊断 Azure 内部以及传入和传出 Azure 的流量的状态。 使用方案级别监视可以诊断端到端网络级别视图的问题。 需要在存在虚拟网络的每个区域中创建一个网络观察程序资源组。 如果网络观察程序资源组在特定区域中不可用,则会启用警报。 AuditIfNotExists、Disabled 3.0.0

1.6:部署基于网络的入侵检测/入侵防护系统 (IDS/IPS)

指导:在关键 Web 应用程序前部署 Azure Web 应用程序防火墙 (WAF),以对传入的流量进行额外的检查。 Web 应用程序防火墙 (WAF) 是(Azure 应用程序网关的)一项服务功能,可以对 Web 应用程序进行集中保护,避免其受到常见攻击和漏洞的伤害。 Azure WAF 通过检查入站 Web 流量来阻止攻击(例如 SQL 注入、跨站点脚本、恶意软件上传和 DDoS 攻击),从而帮助保护 Azure 应用服务 Web 应用的安全。 WAF 基于 OWASP(开放 Web 应用程序安全项目)核心规则集 3.1(仅限 WAF_v2)、3.0 和 2.2.9 中的规则。

另外,Azure 市场上还提供了多种市场选项,它们均包含 IDS/IPS 功能,例如 Barracuda WAF for Azure。

责任:客户

1.7:管理发往 Web 应用程序的流量

指导:为 Web 应用程序部署 Azure 应用程序网关,并为受信任的证书启用 HTTPS/SSL。

责任:客户

1.8:最大程度地降低网络安全规则的复杂性和管理开销

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

对于与 Azure 应用程序网关子网关联的网络安全组 (NSG),必须为应用程序网关 v1 SKU 在 TCP 端口 65503-65534 上允许传入 Internet 流量,为 v2 SKU 在 TCP 端口 65200-65535 上允许传入 Internet 流量,并将目标子网设为 Any,将源设为 GatewayManager 服务标记。 此端口范围是进行 Azure 基础结构通信所必需的。 这些端口受 Azure 证书的保护(处于锁定状态)。 外部实体(包括这些网关的客户)无法在这些终结点上通信。

责任:客户

1.9:维护网络设备的标准安全配置

指导:定义并实现与 Azure 应用程序网关部署相关的网络设置的标准安全配置。 在“Microsoft.Network”命名空间中使用 Azure Policy 别名创建自定义策略,以审核或强制实施 Azure 应用程序网关、Azure 虚拟网络和网络安全组的网络配置。 还可以利用内置策略定义。

还可以使用 Azure 蓝图,通过在单个蓝图定义中打包关键环境项目(例如 Azure 资源管理器模板、Azure 基于角色的访问控制 (Azure RBAC) 和策略)来简化大规模的 Azure 部署。 可以轻松将蓝图应用到新的订阅和环境,并通过版本控制来微调控制措施和管理。

责任:客户

1.10:阐述流量配置规则

指导:对与 Azure 应用程序网关子网关联的网络安全组 (NSG) 以及与网络安全和流量流相关的任何其他资源使用标记。 对于单个 NSG 规则,请使用“说明”字段针对允许流量传入/传出网络的任何规则指定业务需求和/或持续时间等。

使用标记相关的任何内置 Azure 策略定义(例如“需要标记及其值”)来确保使用标记创建所有资源,并在有现有资源不带标记时发出通知。

可以使用 Azure PowerShell 或 Azure CLI 根据资源的标记查找资源或对其执行操作。

责任:客户

1.11:使用自动化工具来监视网络资源配置和检测更改

指导:使用 Azure 活动日志监视网络资源配置,并检测与 Azure 应用程序网关部署相关的网络设置和资源的更改。 在 Azure Monitor 中创建警报,这些警报将在对关键网络设置或资源进行更改时触发。

责任:客户

日志记录和监视

有关详细信息,请参阅 Azure 安全基线: 日志记录和监视

2.2:配置中心安全日志管理

指导:对于控制平面审核日志记录,请启用 Azure 活动日志诊断设置,并将日志发送到 Log Analytics 工作区、Azure 事件中心或 Azure 存储帐户。 使用 Azure 活动日志数据,可以确定任何写入操作(PUT、POST、DELETE)的“内容、对象和时间”,这些写入操作在控制平面级别上针对 Azure 应用程序网关以及用于保护 Azure 应用程序网关子网的相关资源执行。

除活动日志外,还可以配置 Azure 应用程序网关部署的诊断设置。 诊断设置用于将资源的平台日志和指标流式导出配置到你选择的目标位置(存储帐户、事件中心和 Log Analytics)。

Azure 应用程序网关还提供与 Azure Application Insights 的内置集成。 Application Insights 可收集日志、性能和错误数据。 Application Insights 可自动检测性能异常,并且包含了强大的分析工具来帮助你诊断问题并了解 Web 应用的使用情况。 可以启用连续导出,将遥测从 Application Insights 导出到一个集中位置,以使数据保留的时间长于标准保持期。

责任:客户

2.3:为 Azure 资源启用审核日志记录

指导:对于控制平面审核日志记录,请启用 Azure 活动日志诊断设置,并将日志发送到 Log Analytics 工作区、Azure 事件中心或 Azure 存储帐户。 使用 Azure 活动日志数据,可以确定任何写入操作(PUT、POST、DELETE)的“内容、对象和时间”,这些写入操作在控制平面级别上针对 Azure 应用程序网关以及用于保护 Azure 应用程序网关子网的相关资源执行。

除活动日志外,还可以配置 Azure 应用程序网关部署的诊断设置。 诊断设置用于将资源的平台日志和指标流式导出配置到你选择的目标位置(存储帐户、事件中心和 Log Analytics)。

Azure 应用程序网关还提供与 Azure Application Insights 的内置集成。 Application Insights 可收集日志、性能和错误数据。 Application Insights 可自动检测性能异常,并且包含了强大的分析工具来帮助你诊断问题并了解 Web 应用的使用情况。 可以启用连续导出,将遥测从 Application Insights 导出到一个集中位置,以使数据保留的时间长于标准保持期。

责任:客户

2.5:配置安全日志存储保留期

指导:在 Azure Monitor 中,根据组织的合规性规章设置 Log Analytics 工作区保留期。 使用 Azure 存储帐户进行长期/存档存储。

责任:客户

2.6:监视和查看日志

指导:启用 Azure 活动日志诊断设置以及 Azure 应用程序网关的诊断设置,并将日志发送到 Log Analytics 工作区。 在 Log Analytics 中执行查询,以搜索字词、识别趋势、分析模式,并根据收集的数据提供许多其他见解。

使用 Azure 网络监视器以全面了解所有已部署网络资源(包括 Azure 应用程序网关)的运行状况和指标。

或者,可以启用数据并将其加入 Microsoft Sentinel 或第三方 SIEM。

责任:客户

2.7:针对异常活动启用警报

指导:在关键 Web 应用程序前部署 Azure Web 应用程序防火墙 (WAF) v2 SKU,以对传入的流量进行额外的检查。 Web 应用程序防火墙 (WAF) 是(Azure 应用程序网关的)一项服务功能,可以对 Web 应用程序进行集中保护,避免其受到常见攻击和漏洞的伤害。 Azure WAF 通过检查入站 Web 流量来阻止攻击(例如 SQL 注入、跨站点脚本、恶意软件上传和 DDoS 攻击),从而帮助保护 Azure 应用服务 Web 应用的安全。 WAF 基于 OWASP(开放 Web 应用程序安全项目)核心规则集 3.1(仅限 WAF_v2)、3.0 和 2.2.9 中的规则。

启用 Azure 活动日志诊断设置以及 Azure WAF 的诊断设置,并将日志发送到 Log Analytics 工作区。 在 Log Analytics 中执行查询,以搜索字词、识别趋势、分析模式,并根据收集的数据提供许多其他见解。 可以根据 Log Analytics 工作区查询来创建警报。

使用 Azure 网络监视器以全面了解所有已部署网络资源(包括 Azure 应用程序网关)的运行状况和指标。 在 Azure 网络监视器控制台中,可以查看和创建 Azure 应用程序网关的警报。

责任:客户

2.8:集中管理反恶意软件日志记录

指导:在关键 Web 应用程序前部署 Azure Web 应用程序防火墙 (WAF) v2,以对传入的流量进行额外的检查。 Web 应用程序防火墙 (WAF) 是(Azure 应用程序网关的)一项服务功能,可以对 Web 应用程序进行集中保护,避免其受到常见攻击和漏洞的伤害。 Azure WAF 通过检查入站 Web 流量来阻止攻击(例如 SQL 注入、跨站点脚本、恶意软件上传和 DDoS 攻击),从而帮助保护 Azure 应用服务 Web 应用的安全。

配置 Azure 应用程序网关部署的诊断设置。 诊断设置用于将资源的平台日志和指标流式导出配置到你选择的目标位置(存储帐户、事件中心和 Log Analytics)。

责任:客户

标识和访问控制

有关详细信息,请参阅 Azure 安全基线: 标识和访问控制

3.1:维护管理帐户的清单

指导:Azure Active Directory (Azure AD) 具有必须显式分配且可查询的内置角色。 使用 Azure AD PowerShell 模块执行即席查询,以发现属于管理组成员的帐户。

责任:客户

3.2:在适用的情况下更改默认密码

指导:通过 Azure Active Directory (Azure AD) 控制对 Azure 应用程序网关的控制平面访问。 Azure AD 没有默认密码。

责任:客户

3.3:使用专用管理帐户

指南:围绕专用管理帐户的使用创建标准操作程序。 使用 Microsoft Defender for Cloud 的标识和访问管理功能监视管理帐户的数量。

此外,为帮助跟踪专用管理帐户,可以使用 Microsoft Defender for Cloud 或内置 Azure Policy 提供的建议,例如:

  • 应该为你的订阅分配了多个所有者
  • 应从订阅中删除拥有所有者权限的已弃用帐户
  • 应从订阅中删除拥有所有者权限的外部帐户

有关其他信息,请参阅以下参考。

责任:客户

3.4:使用 Azure Active Directory 单一登录 (SSO)

指导:使用 Azure 应用注册(服务主体)来检索令牌,该令牌可用于通过 API 调用与 Azure 应用程序网关进行交互。

责任:客户

3.5:对所有基于 Azure Active Directory 的访问使用多重身份验证

指导:启用 Azure Active Directory (Azure AD) 多重身份验证,并遵循 Microsoft Defender for Cloud 标识和访问管理的建议。

责任:客户

3.6:使用由 Azure 管理的安全工作站执行管理任务

指导:使用配置了多重身份验证的 PAW(特权访问工作站)来登录和配置 Azure 资源。

责任:客户

3.7:记录来自管理帐户的可疑活动并对其发出警报

指导:当环境中出现可疑或不安全的活动时,请使用 Azure Active Directory (Azure AD) 安全报告来生成日志和警报。 使用 Microsoft Defender for Cloud 监视标识和访问活动。

责任:客户

3.8:仅从批准的位置管理 Azure 资源

指南:使用条件访问命名位置,仅允许从 IP 地址范围或国家/地区的特定逻辑分组进行访问。

责任:客户

3.9:使用 Azure Active Directory

指导:使用 Azure Active Directory (Azure AD) 作为中心身份验证和授权系统。 Azure AD 通过对静态数据和传输中数据使用强加密来保护数据。 Azure AD 还会对用户凭据进行加盐、哈希处理和安全存储操作。

责任:客户

3.10:定期审查和协调用户访问

指导:Azure Active Directory (Azure AD) 提供日志来帮助发现过时的帐户。 此外,请使用 Azure 标识访问评审来有效管理组成员身份、对企业应用程序的访问和角色分配。 可以定期评审用户的访问权限,确保只有适当的用户才持续拥有访问权限。

责任:客户

3.11:监视尝试访问已停用凭据的行为

指导:你有权访问 Azure Active Directory (Azure AD) 登录活动、审核和风险事件日志源,以便与任何 SIEM/监视工具集成。

可以通过为 Azure AD 用户帐户创建诊断设置,并将审核日志和登录日志发送到 Log Analytics 工作区,来简化此过程。 你可以在 Log Analytics 工作区中配置所需的警报。

责任:客户

3.12:针对帐户登录行为偏差发出警报

指导:使用 Azure Active Directory (Azure AD) 标识保护和风险检测功能配置对检测到的与用户标识相关的可疑操作的自动响应。 还可以将数据引入 Microsoft Sentinel 中进行进一步调查。

责任:客户

数据保护

有关详细信息,请参阅 Azure 安全基线: 数据保护

4.1:维护敏感信息的清单

指导:使用标记可以帮助跟踪存储或处理敏感信息的 Azure 资源。

责任:客户

4.2:隔离存储或处理敏感信息的系统

指导:为开发、测试和生产实施单独的订阅和/或管理组。 请确保所有虚拟网络 Azure 应用程序网关子网部署都应用了网络安全组 (NSG),且具有针对应用程序受信任端口和源的网络访问控制。 虽然 Azure 应用程序网关上支持网络安全组,但必须遵守某些限制和要求,以使 NSG 和 Azure 应用程序网关按预期运行。

责任:客户

4.3:监视和阻止未经授权的敏感信息传输

指导:请确保所有虚拟网络 Azure 应用程序网关子网部署都应用了网络安全组 (NSG),且具有针对应用程序受信任端口和源的网络访问控制。 将出站流量仅限于受信任的位置,以帮助缓解数据泄露的威胁。 虽然 Azure 应用程序网关上支持网络安全组,但必须遵守某些限制和要求,以使 NSG 和 Azure 应用程序网关按预期运行。

责任:共享

4.4:加密传输中的所有敏感信息

指导:为 Azure 应用程序网关配置具有 TLS 的端到端加密。

责任:共享

4.6:使用基于角色的访问控制来控制对资源的访问

指导:使用 Azure 基于角色的访问控制 (Azure RBAC) 来控制对 Azure 应用程序网关控制平面(Azure 门户)的访问。

责任:客户

4.9:记录对关键 Azure 资源的更改并对此类更改发出警报

指导:将 Azure Monitor 与 Azure 活动日志结合使用,以创建在生产 Azure 应用程序网关实例以及其他关键或相关资源发生更改时触发的警报。

责任:客户

漏洞管理

有关详细信息,请参阅 Azure 安全基线: 漏洞管理。

5.1:运行自动漏洞扫描工具

指导:当前不可用;Microsoft Defender for Cloud 的漏洞评估暂不适用于 Azure 应用程序网关。

Microsoft 对基础平台进行了扫描和修补。 查看 Azure 应用程序网关可用的安全控制,以减少与配置相关的漏洞。

责任:客户

5.4:比较连续进行的漏洞扫描

指导:尚不可用;Microsoft Defender for Cloud 的漏洞评估暂不适用于 Azure 应用程序网关。

Microsoft 对基础平台进行了扫描和修补。 查看 Azure 应用程序网关可用的安全控制,以减少与配置相关的漏洞。

责任:客户

5.5:使用风险评级过程来确定已发现漏洞的修正措施的优先级

指导:尚不可用;Microsoft Defender for Cloud 的漏洞评估暂不适用于 Azure 应用程序网关。

Microsoft 对基础平台进行了扫描和修补。 查看 Azure 应用程序网关可用的安全控制,以减少与配置相关的漏洞。

责任:客户

清单和资产管理

有关详细信息,请参阅 Azure 安全基线: 清单和资产管理

6.1:使用自动化资产发现解决方案

指导:使用 Azure Resource Graph 查询/发现订阅中的所有资源(例如计算、存储、网络、端口和协议等)。 确保租户中具有适当的(读取)权限,并枚举所有 Azure 订阅以及订阅中的资源。

尽管可以通过 Resource Graph 发现经典 Azure 资源,但我们强烈建议你今后还是创建并使用 Azure 资源管理器资源。

责任:客户

6.2:维护资产元数据

指导:将标记应用到 Azure资源,以便有条理地将元数据组织成某种分类。

责任:客户

6.3:删除未经授权的 Azure 资源

指南:在适用的情况下,请使用标记、管理组和单独的订阅来组织和跟踪 Azure 资产。 定期核对清单,确保及时地从订阅中删除未经授权的资源。

此外,在 Azure Policy 中使用以下内置策略定义,对可以在客户订阅中创建的资源类型施加限制:

  • 不允许的资源类型
  • 允许的资源类型

有关其他信息,请参阅以下参考。

责任:客户

6.5:监视未批准的 Azure 资源

指导:使用 Azure Policy 对可以在订阅中创建的资源类型施加限制。

使用 Azure Resource Graph 查询/发现订阅中的资源。 确保环境中存在的所有 Azure 资源已获得批准。

责任:客户

6.9:仅使用已批准的 Azure 服务

指南:在 Azure Policy 中使用以下内置策略定义,对可以在客户订阅中创建的资源类型施加限制:

  • 不允许的资源类型
  • 允许的资源类型

有关其他信息,请参阅以下参考。

责任:客户

6.11:限制用户与 Azure 资源管理器进行交互的能力

指南:配置 Azure 条件访问,使其通过为“Microsoft Azure 管理”应用配置“阻止访问”,来限制用户与 Azure 资源管理器进行交互的能力。

责任:客户

6.13:以物理或逻辑方式隔离高风险应用程序

指导:为开发、测试和生产实施单独的订阅和/或管理组。 请确保所有虚拟网络 Azure 应用程序网关子网部署都应用了网络安全组 (NSG),且具有针对应用程序受信任端口和源的网络访问控制。 虽然 Azure 应用程序网关上支持网络安全组,但必须遵守某些限制和要求,以使 NSG 和 Azure 应用程序网关按预期运行。

责任:客户

安全配置

有关详细信息,请参阅 Azure 安全基线: 安全配置

7.1:为所有 Azure 资源建立安全配置

指导:定义并实现与 Azure 应用程序网关部署相关的网络设置的标准安全配置。 在“Microsoft.Network”命名空间中使用 Azure Policy 别名创建自定义策略,以审核或强制实施 Azure 应用程序网关、Azure 虚拟网络和网络安全组的网络配置。 还可以利用内置策略定义。

责任:客户

7.3:维护安全的 Azure 资源配置

指导:使用 Azure 策略“[拒绝]”和“[不存在则部署]”对不同的 Azure 资源强制实施安全设置。

责任:客户

7.5:安全存储 Azure 资源的配置

指南:如果使用的是自定义 Azure 策略定义,请使用 Azure DevOps 或 Azure Repos 安全地存储和管理代码。

责任:客户

7.7:部署 Azure 资源的配置管理工具

指导:在“Microsoft.Network”命名空间中使用内置的 Azure Policy 定义和 Azure Policy 别名创建自定义策略,以审核、强制实施系统配置并为其发出警报。 另外,开发一个用于管理策略例外的流程和管道。

责任:客户

7.9:为 Azure 资源实施自动配置监视

指导:在“Microsoft.Network”命名空间中使用内置的 Azure Policy 定义和 Azure Policy 别名创建自定义策略,以审核、强制实施系统配置并为其发出警报。 使用 Azure Policy“[审核]”、“[拒绝]”和“[不存在则部署]”自动强制实施 Azure 资源的配置。

责任:客户

7.11:安全管理 Azure 机密

指导:使用托管标识在 Azure Active Directory (Azure AD) 中为 Azure 应用程序网关提供一个自动托管标识。 使用托管标识可以向支持 Azure AD 身份验证的任何服务(包括 Key Vault)进行身份验证,无需在代码中放入任何凭据。

使用 Azure Key Vault 安全地存储证书。 Azure Key Vault 是由平台管理的机密存储,可以用来保证机密、密钥和 SSL 证书的安全。 Azure 应用程序网关支持与密钥保管库集成,以存储附加到支持 HTTPS 的侦听器的服务器证书。 此支持仅限于应用程序网关 v2 SKU。

责任:客户

7.12:安全自动管理标识

指导:使用托管标识在 Azure Active Directory (Azure AD) 中为 Azure 应用程序网关提供一个自动托管标识。 使用托管标识可以向支持 Azure AD 身份验证的任何服务(包括 Key Vault)进行身份验证,无需在代码中放入任何凭据。

使用 Azure Key Vault 安全地存储证书。 Azure Key Vault 是由平台管理的机密存储,可以用来保证机密、密钥和 SSL 证书的安全。 Azure 应用程序网关支持与密钥保管库集成,以存储附加到支持 HTTPS 的侦听器的服务器证书。 此支持仅限于应用程序网关 v2 SKU。

责任:客户

7.13:消除意外的凭据透露

指南:实施凭据扫描程序来识别代码中的凭据。 凭据扫描程序还会建议将发现的凭据转移到更安全的位置,例如 Azure Key Vault。

责任:客户

恶意软件防护

有关详细信息,请参阅 Azure 安全基线: 恶意软件防护

8.1:使用集中管理的反恶意软件

指导:在关键 Web 应用程序前部署 Azure Web 应用程序防火墙 (WAF) v2,以对传入的流量进行额外的检查。 Web 应用程序防火墙 (WAF) 是(Azure 应用程序网关的)一项服务功能,可以对 Web 应用程序进行集中保护,避免其受到常见攻击和漏洞的伤害。 Azure WAF 通过检查入站 Web 流量来阻止攻击(例如 SQL 注入、跨站点脚本、恶意软件上传和 DDoS 攻击),从而帮助保护 Azure 应用服务 Web 应用的安全。

配置 Azure 应用程序网关部署的诊断设置。 诊断设置用于将资源的平台日志和指标流式导出配置到你选择的目标位置(存储帐户、事件中心和 Log Analytics)。

责任:客户

步骤 8.3:确保反恶意软件和签名已更新

指导:使用 Azure Web 应用程序防火墙 (WAF) 时,可以配置 WAF 策略。 WAF 策略包含两种类型的安全规则:由客户创作的自定义规则,以及托管规则集(即由 Azure 托管的预配置规则组的集合)。 Azure 托管的规则集可轻松针对一组常见的安全威胁来部署保护。 由于此类规则集由 Azure 托管,因此这些规则会根据需要进行更新以预防新的攻击签名。

责任:共享

数据恢复

有关详细信息,请参阅 Azure 安全基线: 数据恢复

9.1:确保定期执行自动备份

指导:Azure 应用程序网关不会存储客户数据。 但是,如果使用自定义的 Azure Policy 定义,请使用 Azure DevOps 或 Azure Repos 安全地存储和管理代码。

Azure DevOps Services 利用许多 Azure 存储功能,确保在发生硬件失败、服务中断或区域灾难时保持数据可用性。 此外,Azure DevOps 团队按照标准程序来保护数据免遭意外或恶意删除。

责任:客户

9.2:执行完整系统备份,并备份客户管理的所有密钥

指导:在 Azure Key Vault 中备份客户托管证书。

责任:客户

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

指导:测试已备份客户托管证书的还原。

责任:客户

9.4:确保保护备份和客户管理的密钥

指导:请确保为 Azure Key Vault 启用软删除。 软删除允许恢复已删除的密钥保管库和保管库对象,例如密钥、机密和证书。

责任:客户

事件响应

有关详细信息,请参阅 Azure 安全基线: 事件响应

10.1:创建事件响应指导

指南:为组织制定事件响应指南。 确保在书面的事件响应计划中定义人员职责,以及事件处理/管理从检测到事件后审查的各个阶段。

责任:客户

10.2:创建事件评分和优先级设定过程

指导:Microsoft Defender for Cloud 可以为每个警报分配严重性,以帮助你优先处理应先调查的警报。 严重性取决于 Microsoft Defender for Cloud 在发出警报时所依据的检测结果或分析结果的置信度,以及导致发出警报的活动背后的恶意企图的置信度。

另外,还清楚标记订阅(例如生产、非生产)并创建命名系统,以便对 Azure 资源进行明确标识和分类。

责任:客户

10.3:测试安全响应过程

指导:定期执行演练来测试系统的事件响应功能。 识别弱点和差距,并根据需要修改计划。

责任:客户

10.4:提供安全事件联系人详细信息,并针对安全事件配置警报通知

指南:如果 Microsoft 安全响应中心 (MSRC) 发现非法或未经授权的某方访问了客户的数据,Microsoft 将使用安全事件联系人信息与你取得联系。 事后审查事件,确保问题得到解决。

责任:客户

10.5:将安全警报整合到事件响应系统中

指导:使用连续导出功能导出 Microsoft Defender for Cloud 警报和建议。 使用连续导出可以手动导出或者持续导出警报和建议。 可以使用 Microsoft Defender for Cloud 数据连接器将警报流式传输给 Microsoft Sentinel。

责任:客户

10.6:自动响应安全警报

指导:使用 Microsoft Defender for Cloud 的工作流自动化功能,通过“逻辑应用”自动触发对安全警报和建议的响应。

责任:客户

渗透测试和红队练习

有关详细信息,请参阅 Azure 安全基线: 渗透测试和红队演练

11.1:定期对 Azure 资源执行渗透测试,确保修正所有发现的关键安全问题

指导:请遵循 Microsoft 云渗透测试互动规则,确保你的渗透测试不违反 Microsoft 政策。 使用 Microsoft 红队演练策略和执行,以及针对 Microsoft 托管云基础结构、服务和应用程序执行现场渗透测试。

责任:共享

后续步骤