保护你的 Azure 流量管理器部署

Azure 流量管理器是一种基于 DNS 的流量负载均衡器,用于跨全球Azure区域分配流量,为应用程序提供高可用性和响应式性能。 由于流量管理器控制如何将客户端路由到服务终结点,因此保护流量管理器配置对于防止错误路由、未经授权的更改和监视可能影响应用程序可用性的差距至关重要。

本文提供有关Azure 流量管理器的安全建议。 关于Azure网络安全服务及其协同工作原理的概述,请参见“什么是Azure网络安全?

本文中的安全建议实施零信任原则:“显式验证”、“使用最低特权访问”和“假设违规”。 有关全面的零信任指南,请参阅 零信任指南中心

网络安全

流量管理器的网络安全侧重于确保运行状况探测请求能够到达你的终结点,并且基于 DNS 的路由配置能够防止出现非预期的流量路由模式。 由于流量管理器在DNS层工作,而非代理,网络安全侧重于探测访问和端点配置。

  • 允许流量管理器健康探测流量通过防火墙:对于Azure托管的终端,配置网络安全组(NSG)或Azure 防火墙规则,允许使用AzureTrafficManager服务标签允许流量管理器健康探测的入站流量。 对于非 Azure 端点,将发布的流量管理器探测 IP 范围添加到端点防火墙的允许列表中。 如果探测被阻止,流量管理器会将终结点标记为不正常,并将流量从其他正常的服务路由出去,从而导致意外中断。 有关详细信息,请参阅 流量管理器终结点监视

  • 为 Web 终结点配置基于 HTTPS 的终结点运行状况监视:在流量管理器配置文件中,选择 HTTPS 作为 Web 终结点的监视协议,而不是 HTTP。 使用 HTTPS 探测来验证端点是否接受 HTTPS 连接。 探测器并不能验证证书的有效性。 有关详细信息,请参阅 流量管理器终结点监视

  • 要求与流量管理器交互的服务使用 TLS 1.2 或更高版本:核实与 Traffic Manager 交互的终端及其他资源是否支持 TLS 1.2 或更高版本。 TLS 1.0 和 1.1 的流量管理器支持已于2025年2月28日结束,较旧的 TLS 依赖可能导致服务中断。 更多信息请参见 交通管理常见问题解答

  • 对每个终结点监视设置使用嵌套配置文件:使用嵌套流量管理器配置文件将不同的监视配置应用于各个终结点。 单个配置文件在所有端点共享监控设置,但嵌套可以帮助你根据每个端点的具体需求定制探测路径、区间和故障阈值。 有关详细信息,请参阅 嵌套流量管理器配置文件

  • 在嵌套配置文件中设置适当 MinChildEndpoints:在嵌套配置文件中设置 MinChildEndpoints 阈值,以控制流量管理器何时认为子配置文件健康。 设置此值太低可能会将流量路由到容量不足的降级区域。 有关详细信息,请参阅 嵌套流量管理器配置文件

  • 利用地理路由满足数据主权要求:当数据驻留法规要求区域路由边界时,应用地理路由方法将DNS查询从映射区域直接指向特定端点。 由于流量管理器从DNS查询源IP(通常是本地DNS解析器)推断位置,因此在合规设计中考虑了解析器位置的限制。 将地理路由与嵌套配置文件结合,以在允许的地理区域内实现故障转移。 有关详细信息,请参阅流量管理器路由方法

  • 配置一个备用端点进行子网路由:当使用子网路由将源IP地址范围映射到特定端点时,定义一个无地址范围的备用端点来处理来自未映射IP地址的请求。 如果没有备份,Traffic Manager会对未匹配的源地址返回NODATA响应。 有关详细信息,请参阅流量管理器路由方法

身份和访问管理

流量管理器的标识和访问管理可确保只有经过授权的用户才能修改 DNS 路由配置。 对流量管理器配置文件的未经授权的更改可将流量重定向到攻击者控制的终结点或导致服务中断。

  • 为管理流量管理器分配最小权限 RBAC 角色:向管理流量管理器配置文件和终结点的用户授予 流量管理器参与者 角色;对于仅查看访问权限,请使用 读者 角色。 将只读监控访问与配置文件修改权限分开,以限制被攻破账户的影响。 有关详细信息,请参阅 流量管理器参与者

  • 使用 RBAC 授予跨订阅终结点访问权限:对于支持跨订阅配置的终结点类型,向配置该配置文件的操作员授予对目标终结点资源的读取权限。 Azure Web 应用不支持使用同一个自定义域名时的多个订阅端点。 如果没有支持端点类型的适当跨订阅权限,端点添加会失败。 更多信息请参见 交通管理常见问题解答

  • 应用资源锁以防止意外删除:将资源锁放置在 CanNotDelete 生产流量管理器配置文件上,以防止意外删除。 删除流量管理器配置文件会立即停止所有关联终结点的基于 DNS 的路由,这可能会导致完全服务中断。 有关详细信息,请参阅 锁定资源以保护基础结构

日志记录和监控

流量管理器的日志和监控提供了端点健康状况、DNS查询模式和路由行为的可视化。 主动监控可帮助您在错误配置、端点故障和异常的流量变化影响终端用户之前发现这些问题。

  • 为探测运行状况结果启用诊断日志记录:在流量管理器配置文件上配置诊断设置以捕获探测运行状况结果日志。 将这些日志发送到Log Analytics工作区、Azure 存储或事件中心进行分析和长期保留。 探测日志会记录端点运行状况状态的变更,帮助您排查以往的服务中断。 有关详细信息,请参阅 流量管理器诊断日志

  • 为终结点运行状况指标配置警报:在 Endpoint Status by Endpoint 指标上创建 Azure Monitor 警报,以便在终结点变为不正常状态时进行检测。 设置警报阈值,使平均状态值降至 0.5 以下,这表明超过一半的健康探测失败。 来自不同位置的多个探测检查每个终结点,因此单个探测失败不一定表示中断。 有关详细信息,请参阅流量管理器指标和警报

  • 监视每个终结点的 DNS 查询量:跟踪“ 按终结点返回的查询 ”指标,以识别流量分布中的意外变化,这可能指示路由配置错误或终结点故障。 对辅助终结点的查询突然增加可能表明主终结点已降级。 有关详细信息,请参阅流量管理器指标和警报

  • 及时调查降级配置文件状态:当你的流量管理器配置文件状态显示为“已降级”时,表示一个或多个终结点运行不正常。 请立即进行调查,因为降级状态意味着流量管理器可能会将流量路由到其余运行正常的终结点,而这些终结点可能会因此过载。 有关详细信息,请参阅 排查 Azure 流量管理器降级状态问题

合规性和治理

Traffic Manager 的合规与治理帮助您在 DNS 路由基础设施中执行组织标准。 一致的策略强制实施可防止可能导致安全漏洞的配置偏移。

  • 使用 Azure Policy 审核 Traffic Manager 配置:分配内置的 Azure Policy 定义,以强制在所有 Traffic Manager 配置文件中启用诊断日志记录。 Traffic Manager 的三个内置定义——为 Traffic Manager 配置文件启用按类别组将日志发送到 Log Analytics为 Traffic Manager 配置文件启用按类别组将日志发送到事件中心为 Traffic Manager 配置文件启用按类别组将日志发送到存储——会自动部署诊断设置,以收集探测运行状况结果和 DNS 查询数据。 策略分配提供持续的合规可视化,并标记那些不符合安全基线的配置文件。 有关详细信息,请参阅 Azure Policy 内置定义

  • 验证跨配置文件的端点健康监测配置:定期审计所有流量管理器配置文件,确认健康监测使用了适当的协议(尽可能用于网页端点的HTTPS)、合适的探针间隔和正确的探针路径。 跨配置文件不一致的监视设置可能导致延迟的故障转移或误报的运行状况检查。 有关详细信息,请参阅 流量管理器终结点监视

备份和恢复

流量管理器的备份和恢复确保您的基于 DNS 的路由在区域中断和服务中断时依然正常。 由于流量管理器本身是一项全球可用的服务,因此恢复规划侧重于终结点冗余和配置文件复原能力。

  • 跨区域配置多个终结点进行故障转移:将至少两个Azure区域中的终结点添加到每个流量管理器配置文件,以便在一个区域遇到中断时,流量自动路由到正常区域。 使用优先级路由方法定义清晰的故障转移顺序。 有关详细信息,请参阅流量管理器路由方法

  • 使用嵌套配置文件进行精细区域故障转移:将外部配置文件与每个区域中使用加权路由或性能路由的内部配置文件结合使用。 此结构既提供跨区域故障转移,又提供区域内负载分发,从而提高针对部分区域故障的复原能力。 有关详细信息,请参阅 嵌套流量管理器配置文件

  • 设置符合故障转移要求的 DNS TTL 值: 配置 DNS 生存时间(TTL)值,以在故障转移速度和 DNS 查询量之间取得平衡。 较低的 TTL(例如 30 秒)可实现更快的故障转移,但会增加 DNS 查询流量和成本,而更高的 TTL 可减少查询,但会延迟客户端重定向远离失败的终结点。 有关详细信息,请参阅流量管理器常见问题解答

  • 定期测试故障转移行为:定期禁用流量管理器配置文件中的端点,以验证故障转移路由是否按预期工作,以及监控警报能否正确触发。 未经测试的故障转移配置在实际中断期间可能无法按设计方式运行。 有关详细信息,请参阅 流量管理器终结点

后续步骤