保护 Azure Front Door 部署

Azure Front Door 是一个云内容分发网络(CDN)和全球应用分发服务,为面向互联网的应用提供边缘路由、加速、网络应用防火墙(WAF)和源保护功能。 由于 Azure Front Door 通常是应用程序的公共入口,安全配置有助于保护流量、来源、证书和运营遥测数据。

本文提供安全建议,帮助保护您的Azure Front Door部署。

网络安全

Azure Front Door 的网络安全侧重于保护边缘应用,减少直接源风险,并控制可能到达后端服务的请求。

  • 用 专用链接 保护 Origins:使用 Azure Front Door Premium 配合 Azure 专用链接 支持 Azure Origins,以阻止 Origin 流量进入公共互联网,减少直接攻击后端服务的风险。 欲了解更多信息,请参见 Azure Front Door 中的 Secure your origin with 专用链接

  • 限制对源站的直接访问:通过针对每种源站类型受支持的控制方式,将源站配置为仅接受来自 Azure Front Door 的流量,例如 专用链接、针对非 专用链接 源站的托管标识源站身份验证、使用 AzureFrontDoor.Backend 服务标记进行 IP 过滤,以及验证 X-Azure-FDID 标头。 有关详细信息,请参阅 保护前往 Azure Front Door 源的流量

  • 启用 Web 应用程序防火墙:将 WAF 策略与 Azure Front Door 关联,以便在流量到达源节点前检查边缘请求。 当你需要托管规则集和完整的 WAF 功能时,可以使用 Azure Front Door Premium。 有关详细信息,请参阅 Azure Front Door 上的 Web 应用程序防火墙

  • 使用最新的托管默认规则集:保持高级WAF策略使用最新的可用默认规则集(DRS)2.x版本,并在生产部署前验证规则更改。 DRS 2.2 基于 OWASP 核心规则集(CRS)3.3.4,包含 Microsoft 威胁情报保护。 有关详细信息,请参阅 Azure Web 应用程序防火墙 DRS 规则组和规则

  • 强制封锁前先调优WAF:从检测模式开始,审查WAF日志,仅在必要时添加排除项,然后切换生产策略至预防模式,以阻止恶意请求。 欲了解更多信息,请参见 Azure Front Door 中的 Azure Web 应用程序防火墙 最佳实践

  • 启用机器人保护:在高级WAF政策中添加机器人管理规则集,以识别良好、不良和未知的机器人,并对自动化流量采取相应措施。 欲了解更多信息,请参阅“为 Azure Front Door 中的 Web 应用程序防火墙 配置机器人防护”。

  • 使用速率限制以减少滥用:配置WAF速率限制自定义规则,按套接字IP地址阻断异常请求卷,减少重试风暴或应用层拒绝服务尝试。 欲了解更多信息,请参见 Azure Front Door 的 WAF 速率限制

  • 访问区域限制处应用地理过滤:当应用仅限于特定国家或地区时,使用WAF地理过滤自定义规则。 将未知(ZZ)位置纳入规则设计中,以避免误报。 欲了解更多信息,请参见 Azure Front Door 的域名地理过滤

  • 在边缘使用内置的DDoS防护:依靠Azure Front Door的全球边缘网络和WAF集成,在攻击到达源头前吸收并过滤大量网络和应用层攻击。 欲了解更多信息,请参见 Azure Front Door 上的 DDoS 防护

身份和访问管理

Azure Front Door 的身份与访问管理侧重于 Microsoft Entra 身份而非秘密,并限制谁可以更改边缘路由、WAF、证书和来源设置。

  • 启用服务访问的托管身份:使用系统分配或用户指定的托管身份,使 Azure Front Door 能够访问 Azure 资源,如 密钥保管库,无需存储凭证。 有关详细信息,请参阅 在 Azure Front Door 中使用托管标识

  • 使用托管身份进行源认证(预览):对于支持的非 专用链接 起源,配置 Azure Front Door 的原始身份验证,使用托管身份,使 Front Door 能够获得 Microsoft Entra 令牌并认证到受保护的后端资源。 该功能目前处于预览阶段;在采用预览功能之前,确认预览功能是否符合您的生产需求。

  • 向 Front Door 标识授予最小权限:仅分配源站或证书场景所需的角色,例如对存储源站的只读数据访问权限,或对 密钥保管库 的证书访问权限。 不要给托管身份分配广泛的贡献者权限。

  • 限制对前门资源的管理访问:仅将Azure角色驱动访问控制(Azure RBAC)角色分配给需要管理配置文件、端点、域、路由、起源和WAF策略的管理员。 定期审查角色分配,清除过时的访问权限。 有关详细信息,请参阅 分配 Azure 角色的步骤

  • 使用符合条件的访问权限执行特权操作:要求能够更改生产环境 Front Door 配置文件、WAF 策略、自定义域名和源站设置的用户进行即时激活。 有关详细信息,请参阅 在 Privileged Identity Management 中激活 Azure 资源角色

数据保护

Azure Front Door 的数据保护侧重于加密流量、保护证书和密钥,并避免通过边缘功能意外暴露敏感内容。

  • 使用端到端TLS:配置从客户端到Azure Front Door的HTTPS,以及从Azure Front Door到Origins,确保整个请求路径的流量保持加密。 有关详细信息,请参阅 Azure Front Door 的端到端 TLS

  • 配置当前TLS策略:使用最新的预定义TLS策略或符合最低协议版本和密码套件安全需求的自定义TLS策略。 欲了解更多信息,请参见 Azure Front Door TLS 政策

  • 不要依赖Front Door来认证客户端证书:Front Door标准和高级版目前不支持客户端或互认证(mTLS)。 如果你的工作负载需要mTLS,可以在源地层或备用入口层实现该控制,并验证完整的请求路径。 欲了解更多信息,请参见 Azure Front Door TLS 政策

  • 在 Azure 密钥保管库 中管理证书:将客户管理的 TLS 证书存储在 密钥保管库,使用托管身份访问,在适用时启用自动证书续期,并通过软删除和清除保护保护保险库。 有关详细信息,请参阅 在 Azure Front Door 自定义域上配置 HTTPSAzure 密钥保管库 软删除概述

  • 不要缓存敏感内容:仔细配置缓存规则,避免私密、认证或受监管的内容无意中存储在边缘。 使用适合你数据分类的缓存控制头和路由级缓存设置。 有关更多信息,请参阅 使用 Azure Front Door 进行缓存

  • 保护WAF日志中的敏感数据:使用WAF敏感数据保护,减少在策略检查可能包含秘密或个人数据的请求时,WAF日志中敏感值的暴露。 有关详细信息,请参阅Azure Front Door 上的 Azure Web 应用程序防火墙 的敏感数据保护

合规性和治理

Azure Front Door的合规与治理有助于确保配置一致、变更管理受控,以及跨配置文件和订阅的可审计安全态势。

  • 将前门配置定义为代码:通过使用 Bicep、Azure 资源管理器 模板、Terraform 或其他基础设施即代码流程,管理配置文件、端点、路由、起点、WAF 关联和安全设置。 这种方法减少了配置漂移。 欲了解更多信息,请参见“使用 Bicep 创建 Azure Front Door”。

  • 版本 WAF 策略变更:将 WAF 自定义规则、排除项、管理规则集版本和策略设置存储在源代码控制中。 这种做法确保能够对规则调整和规则集升级进行审核、测试和回退。 欲了解更多信息,请参见 Azure Front Door 中的 Azure Web 应用程序防火墙 最佳实践

  • 审查配置变更:利用活动日志和诊断数据跟踪前门配置文件、路由、起点、自定义域名和WAF策略的变化。 调查异常变化,将其视为潜在的安全事件。 更多信息请参见 Monitor Azure Front Door

  • 标准化起源安全要求:对专用链接、管理身份起源认证、X-Azure-FDID验证以及允许的主机名在所有应用起源中保持一致的要求。 有关详细信息,请参阅 保护前往 Azure Front Door 源的流量

  • 记录高可用性例外情况:如果灾难恢复设计需要备用入口路径,且这些路径无法使用 Azure Front Door 专用链接 或 X-Azure-FDID 进行验证,请记录相应的补偿控制措施,例如基于令牌的源站身份验证、自定义标头、在备用入口处实施 mTLS,或进行 IP 筛选。 欲了解更多信息,请参阅使用Azure Front Door及替代入口解决方案的高可用性实现指南

备份和恢复

Azure Front Door 的备份和恢复主要关注维护配置、保持备用来源可用性,并在故障发生前验证故障切换路径。

  • 以基础设施即代码的方式管理 Front Door 配置:在源代码管理的存储库中,使用 Bicep 或 ARM 模板定义并进行版本控制 Azure Front Door 配置集、终结点、路由、源站组、自定义域名和 WAF 关联。 把那个仓库当作恢复的真实来源。 应将策略或模板导出用作初始基础或某一时点的快照,而不是作为持续更新的权威信息来源。 更多信息请参见“使用 Bicep 创建 Azure Front Door 并从 Azure 门户导出模板”。

  • 保持配置在版本控制中:Store Front Door、WAF、证书和 Origin 配置作为基础设施代码,并要求对生产环境的更改进行审查。 版本控制提供回滚点,并支持恢复到另一个订阅或资源组。 有关详细信息,请参阅Bicep 最佳做法

  • 配置多个故障转移起点:使用拥有多个后端的起点组,并设置优先级、权重和延迟设置,以支持主动-主动或主动-被动切换模式。 有关详细信息,请参阅 流量路由方法到源

  • 正确配置健康探测:使用 HTTP 或 HTTPS 健康探测来验证能够反映应用程序实际运行状况的终结点,并调整样本大小和所需的成功样本数,以便 Front Door 能够在避免对故障转移过于敏感的情况下检测到不健康的源站。 有关详细信息,请参阅 健康探测

  • 部署全球冗余的起源节点:在多个 Azure 区域或托管地点运行起源服务,并在 Origin 或区域故障时使用 Azure Front Door 负载均衡或流量管理器,将用户路由到健康区域。 更多信息请参见“流量路由方法至起点”和 Azure 流量管理器

  • 规划备用入口以应对灾难性恢复:对于关键任务应用,维护经过测试的备用入口路径,如应用网关WAF或带流量管理器的备用CDN,以便绕过罕见的Azure Front Door可用性或控制平面事件。 欲了解更多信息,请参阅使用Azure Front Door及替代入口解决方案的高可用性实现指南

  • 定期测试故障切换:在非生产环境和确保生产安全的演练中,模拟源站故障、区域性中断、证书续期失败以及备用入口启用。 验证故障切换、故障切回、日志记录、WAF 行为和运行手册。 欲了解更多信息,请参阅使用Azure Front Door及替代入口解决方案的高可用性实现指南

后续步骤