为 Web 工作负载指定安全要求
本单元总结了应用服务的 Azure 安全基线,以帮助你为 Web 工作负载创建新的要求规范。
有关 Microsoft Cloud 安全基准的更多背景信息,请参阅 Microsoft 网络安全参考体系结构和云安全基准简介。
在下表中,我们包含了完整基线中的控件,其中:
- 安全控件受支持,但默认情况下未启用
- 有明确的指导,其中包含了客户要采取的操作
区域 | 控制 | 功能 | 指南摘要 |
---|---|---|---|
网络安全 | NS-1:建立网络分段边界 | 虚拟网络集成 | 确保针对 Internet 地址的出站通信具有稳定的 IP:可以使用虚拟网络集成功能提供稳定的出站 IP。 这允许接收方根据需要基于 IP 加入允许列表。 |
NS-2:使用网络控制保护云服务 | Azure 专用链接 | 为 Azure Web 应用使用专用终结点,以允许位于专用网络中的客户端通过专用链接安全地访问应用。 专用终结点使用 Azure VNet 地址空间的 IP 地址。 | |
NS-2:使用网络控制保护云服务 | 禁用公用网络访问 | 使用服务级别 IP ACL 筛选规则或专用终结点,或者通过在 Azure 资源管理器中将 publicNetworkAccess 属性设置为禁用来禁用公用网络访问。 | |
NS-5:部署 DDoS 防护 | 在托管应用服务的 Web 应用程序防火墙的虚拟网络上启用 DDoS 防护。 Azure 在其网络上提供 DDoS 基础结构(基本)防护。 为了改进智能 DDoS 功能,启用 Azure DDoS 防护,该服务了解正常的流量模式,因此可以检测异常行为。 Azure DDoS 防护有两层:网络保护层和 IP 保护层。 | ||
NS-6:部署 Web 应用程序防火墙 | 避免应用程序绕过 WAF。 通过将访问锁定到仅限 WAF,确保无法绕过 WAF。 结合使用访问限制、服务终结点和专用终结点。 | ||
身份管理 | IM-1:使用集中式标识和身份验证系统 | 数据平面访问所需的 Microsoft Entra 身份验证 | 对于经过身份验证的 Web 应用程序,仅使用已知的已建立的标识提供程序对用户访问进行身份验证和授权。 |
数据平面访问的本地身份验证方法 | 限制对数据平面访问使用本地身份验证方法。 相反,请改用 Microsoft Entra ID 作为默认身份验证方法来控制数据平面访问。 | ||
IM-3:安全且自动地管理应用程序标识 | 托管标识 | 尽可能使用 Azure 托管标识而不是服务主体,这可以对支持 Microsoft Entra 身份验证的 Azure 服务和资源进行身份验证。 托管标识凭据由平台完全托管、轮换和保护,避免了在源代码或配置文件中使用硬编码凭据。 | |
IM-7:根据条件限制资源访问 | 数据平面的条件访问 | 定义工作负载中 Microsoft Entra 条件访问的适用条件和标准。 | |
IM-8:限制凭据和机密的泄露 | 服务凭据和机密支持 Azure 密钥保管库中的集成和存储 | 确保应用机密和凭据存储在安全位置(如 Azure 密钥保管库),而不是将其嵌入到代码或配置文件中。 在应用上使用托管标识,然后以安全的方式访问存储在密钥保管库中的凭据或机密。 | |
特权访问 | PA-8:确定云提供商支持的访问流程 | 客户密码箱 | 在 Microsoft 需要访问数据的支持方案中,使用客户密码箱来审查和批准/拒绝 Microsoft 的每个数据访问请求。 |
数据保护 | DP-3:加密传输中的敏感数据 | 传输中数据加密 | 使用和强制实施 TLS/SSL 设置中配置的默认最低版本 TLS v1.2 来对传输中的所有信息加密。 还要确保将所有 HTTP 连接请求均重定向到 HTTPS。 |
DP-5:需要时在静态数据加密中使用客户管理的密钥选项 | 使用 CMK 进行静态数据加密 | 如果需要符合法规,请定义需要使用客户管理的密钥进行加密的用例和服务范围。 使用客户管理的密钥为这些服务启用和实施静态数据加密。 | |
DP-6:使用安全密钥管理流程 | Azure 密钥保管库中的密钥管理 | 使用 Azure 密钥保管库创建和控制加密密钥的生命周期,包括密钥生成、分发和存储。 根据定义的计划或在密钥停用或泄露时,在 Azure 密钥保管库和服务中轮换和撤销密钥。 | |
DP-7:使用安全证书管理流程 | Azure 密钥保管库中的证书管理 | 可以使用 SSL/TLS 和其他证书配置应用服务,这些证书可以直接在应用服务上配置,也可以从密钥保管库引用。 为了确保集中管理所有证书和机密,请将应用服务使用的所有证书存储在密钥保管库中,而不是直接在应用服务上本地部署它们。 | |
资产管理 | AM-2:仅使用已获批准的服务 | ||
AM-4:限制对资产管理的访问 | 隔离处理敏感信息的系统。 为此,请使用单独的应用服务计划或应用服务环境,并考虑使用不同的订阅或管理组。 | ||
日志记录和威胁检测 | LT-1:启用威胁检测功能 | 适用于服务/产品的 Microsoft Defender | 使用适用于应用服务的 Microsoft Defender 识别针对在应用服务上运行的应用程序的攻击。 |
LT-4:启用日志记录以进行安全调查 | Azure 资源日志 | 在应用服务上为 Web 应用启用资源日志。 | |
态势和漏洞管理 | PV-2:审核并强制执行安全配置 | 关闭远程调试,不得为生产工作负载启用远程调试,因为这会在服务上打开更多端口,从而增加攻击面。 | |
PV-7:定期执行红队操作 | 按照参与的渗透测试规则对 Web 应用程序进行定期渗透测试。 | ||
备份和恢复 | BR-1:确保定期执行自动备份 | Azure 备份 | 在可能的情况下,实现无状态应用程序设计,以使用应用服务简化恢复和备份方案。 如果确实需要维护有状态应用程序,请在应用服务中启用备份和还原功能,以便轻松手动或按计划创建应用备份。 |
DevOps 安全性 | DS-6:在整个 DevOps 生命周期内加强工作负载的安全性 | 从受控且受信任的环境(如管理良好且安全的 DevOps 部署管道)将代码部署到应用服务。 这避免了未受版本控制且经验证是从恶意主机部署的代码。 |