保护Azure 路由服务器部署

Azure 路由服务器是一项完全托管的服务,可简化网络虚拟设备(NVA)与虚拟网络之间的动态路由。 它支持通过边界网关协议(BGP)在 NVA 与Azure虚拟网络网关之间进行自动路由交换,无需手动配置和维护路由表。 路由服务器支持中心—辐射拓扑、与 ExpressRoute 和 VPN 网关集成,以及通过安全设备对流量进行集中检查。

本文基于 Azure Well-Architected Framework 安全支柱,为 Azure 路由服务器 提供安全建议。 有关Azure网络安全服务的概述及其协同工作原理,请参阅 什么是Azure网络安全?

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

特定于服务的安全性

路由服务器是 BGP 路由交换的控制平面服务。 它不会在 NVA 和 VM 之间路由客户数据流量,因此请确保其分发的路由决策是安全的,并保护使用这些路由的工作负载、网关和 NVA 中的客户数据。 有关详细信息,请参阅 Azure 路由服务器 FAQ

网络安全

路由服务器的网络安全涉及保护 BGP 对等互连会话、控制路由传播,以及保护支撑虚拟网络流量流的路由基础结构。

  • 通过安全 NVA 路由流量以进行集中检查:使用路由服务器注入路由,将辐射网络之间以及辐射网络与本地环境之间通信的流量引导至防火墙或入侵检测系统。 涉及 VPN 或 ExpressRoute 网关时,显式启用分支到分支路由交换,因为默认情况下路由服务器不会在 NVA 和虚拟网络网关之间传播路由。 有关更多信息,请参阅 辐射状虚拟网络中的路由注入

  • 使用 BGP 社区控制路由传播:将 NVA 配置为使用 no-advertise BGP 社区(65535:65282)播发路由,以防止向特定对等方传播不需要的路由。 控制跨网络共享的路由可降低绕过安全控制的意外流量路径的风险。 有关更多信息,请参阅 辐射状虚拟网络中的路由注入

  • 验证 NVA ASN 配置以防止对等互连故障:为每个 NVA 配置一个与路由服务器保留 ASN(65515)不同的 ASN。 路由服务器会丢弃 AS-Path 中 ASN 为 0 的路由,并且当 NVA 位于不同子网中时,需要使用 eBGP 多跳。 错误的 ASN 配置可能导致 BGP 会话失败或路由黑洞。 有关详细信息,请参阅 排查 Azure 路由服务器 问题

  • 为路由服务器虚拟网络启用 DDoS 防护:在包含路由服务器的虚拟网络上激活 Azure DDoS 防护,以保护其公共 IP 终结点免受分布式拒绝服务攻击。 路由服务器需要公共 IP 地址与 Azure 管理平面进行通信,因此 DDoS 保护对于服务连续运行非常重要。 有关详细信息,请参阅 教程:使用 Azure DDoS 防护保护 Azure 路由服务器

  • 使 RouteServerSubnet 专用且隔离:使用最小大小为 /26 的专用 RouteServerSubnet 部署路由服务器,并且不关联用户定义的路由(UDR)或网络安全组(NSG),因为这些路由不受支持,并可能导致服务不稳定。 不要将服务终结点策略关联到 RouteServerSubnet,因为这会中断与Azure管理平台的通信,并且可以将路由服务器置于不正常状态。 有关详细信息,请参阅 Azure 路由服务器 FAQ

  • 使路由服务器控制平面流量不经过防火墙检查:避免将路由服务器与网关之间的 BGP 控制平面流量经由防火墙 NVA 路由。 强制控制平面流量通过防火墙会中断 BGP 对等互连,并可能导致完全连接丢失。 使用 VirtualNetwork 下一跃点向 NVA 子网添加带有 RouteServerSubnet 地址范围的 UDR。 有关详细信息,请参阅 排查 Azure 路由服务器 问题

  • 为确定性故障转移配置 AS 路径预置:在优先级较低的路径(例如 VPN 或 NVA 路由)上使用 AS 路径预置,以便流量沿您预期的主路径传输,并在发生故障时按预期切换。 如果不进行前置配置,非对称路由或不可预测的路径选择可能会绕过预期的安全检查点。 有关详细信息,请参阅 使用 Azure 路由服务器 的路由首选项

身份和访问管理

路由服务器的标识和访问管理控制谁可以创建、配置和修改路由基础结构。 对路由对等或路由交换设置的未经授权更改,可能会使流量经由非预期路径被重定向。

  • 为常规管理分配网络参与者角色:为需要管理路由服务器、BGP 对等互连和路由交换设置的用户使用内置的 网络参与者 角色。 此角色提供必要的权限,而无需授予更广泛的订阅访问权限。 有关详细信息,请参阅Azure 路由服务器 的角色和权限

  • 为最低特权访问创建自定义角色:定义仅授予每个操作任务所需的特定权限的自定义 RBAC 角色。 例如,监控角色可能只需要 Microsoft.Network/virtualHubs/*/read 权限,而对等互连管理员则需要 Microsoft.Network/virtualHubs/bgpConnections/*。 在尽可能窄的范围内应用这些角色-单个资源组或资源。 有关详细信息,请参阅Azure 路由服务器 的角色和权限

  • 定期审核角色分配:查看路由服务器资源的 RBAC 分配,以检测权限过多或过期帐户。 对路由对等互连或分支到分支连接设置的更改会影响整个网络的流量流,使访问控制审核至关重要。 有关详细信息,请参阅 Azure RBAC 概述

数据保护

路由服务器仅处理 BGP 控制平面流量,并且不处理客户数据流量。 保护路由信息的完整性,防止意外的路由泄露,同时将数据保护控制应用于携带数据平面流量的工作负荷、NVA 和网关。

  • 保护 NVA 边界处的 BGP 路由完整性:仅将 Route Server 对等互连配置到受信任的 NVA 私有 IP 地址,验证 ASN 设置,并使每个 NVA 与两个 Route Server 实例都建立对等互连。 路由服务器文档未描述路由服务器对等互连的客户可配置 BGP MD5 身份验证选项;在相邻外部 BGP 会话上使用路由筛选、受信任的对等互连和 NVA 端保护,前提是你的 NVA 支持它们。 有关详细信息,请参阅 Configure 和管理 Azure 路由服务器

  • 保持路由服务器控制平面路径直接:不要强制路由服务器、NVA 和网关之间的 BGP 控制平面流量通过防火墙或检查 NVA。 路由服务器使用虚拟网络中的专用 NVA IP 地址通过 BGP 交换路由,并且不会在 NVA 和 VM 之间路由数据流量。 有关详细信息,请参阅 排查 Azure 路由服务器 问题

  • 防止将敏感路由传播到外部对等方:对不应传播到其他路由服务器对等方(包括 ExpressRoute 网关)的 no-advertise 路由使用 BGP 社区(65535:65282)。 避免向本地或外部对等互连播发前缀,除非路由交换是必需的且已获批准。 有关详细信息,请参阅 Azure 路由服务器 FAQ

日志记录和监控

通过监视路由服务器,可以检测 BGP 对等互连失败、意外路由更改和潜在的路由劫持。 及时检测路由异常至关重要,因为路由服务器控制虚拟网络中的流量路径。

  • 监视 BGP 对等体状态并配置断连警报:跟踪 BGP 对等体状态指标,该指标对已建立的会话报告 1,对中断的会话报告 0。 配置 Azure Monitor 警报,使其在对等方状态降至 0 时触发,以便团队立即获知 BGP 会话失败,这可能表明存在配置问题、NVA 故障或潜在攻击。 有关详细信息,请参阅 Monitor Azure 路由服务器 with Azure Monitor

  • 对路由计数偏差建立基线并报警:为每个 BGP 对等互连播发和学习的路由数量建立基线,然后针对显著偏差配置警报。 路由数量意外增加可能表明存在路由注入攻击或 NVA 配置错误,而数量突然减少则可能表明发生了路由撤销或对等互连故障。 有关详细信息,请参阅 Monitor Azure 路由服务器 with Azure Monitor

  • 定期验证已学习和已播发的路由:使用 Azure CLI 或 PowerShell 检索路由服务器从各个对等方学习到的路由,以及向各个对等方播发的路由。 将这些路由与预期的路由拓扑进行对比,以检测未经授权的路由通告或缺失的路由。 有关详细信息,请参阅 Configure 和管理 Azure 路由服务器

  • 将每个 NVA 实例与两个路由服务器实例对等互连:在每个 NVA 实例和两个路由服务器对等 IP 之间建立 BGP 会话。 这可确保路由服务器接收一致的路由信息,并且单个实例故障不会创建监视盲点或路由间隔。 有关详细信息,请参阅 Azure 路由服务器 FAQ

合规性和治理

路由服务器的治理侧重于强制实施一致的路由配置,并防止错误配置可能会危及网络安全。

  • 使用 Azure Policy 管理路由服务器部署:使用 Azure Policy 审核并强制执行路由服务器资源的部署要求,例如允许的位置、必需的标记和路由首选项。 路由服务器在 Microsoft.Network/virtualHubs 资源类型上实现,因此Microsoft.Network/virtualHubs/hubRoutingPreference策略别名可用于控制部署中的路由首选项值。 有关详细信息,请参阅 Azure Policy 定义结构基础知识

  • 定期测试故障切换场景:验证流量是否能够正确切换到备用路径,并在主路径恢复后切回主路径。 路由服务器不能保证 ExpressRoute 恢复后自动流量切换,因此测试和记录故障转移行为,以确保流量始终通过预期的安全检查点。 有关详细信息,请参阅 使用 Azure 路由服务器 的路由首选项

  • 记录和标准化 BGP 对等互连配置:维护所有 NVA 对等互连 ASN、播发前缀和 BGP 团体值的记录。 标准化配置可以更轻松地检测未经授权的更改并简化合规性审核。 有关详细信息,请参阅 Configure 和管理 Azure 路由服务器

备份和恢复

路由服务器提供内置的高可用性。 恢复规划应侧重于在区域故障期间保持路由连续性,并确保快速 NVA 恢复。

  • 部署在支持可用性区域的区域中:路由服务器在支持可用性区域的区域中部署时自动提供区域级冗余。 为生产部署选择已启用可用性区域的区域,以防止数据中心级故障,而无需进行其他配置。 有关详细信息,请参阅 Azure 路由服务器 FAQ

  • 设计用于灾难恢复的多区域路由架构:在多个区域部署路由服务器实例,并采用通过全局虚拟网络对等互连和 NVA 覆盖隧道连接的中心辐射式拓扑。 此设计可确保即使在完全区域性中断期间路由也能继续运行。 有关详细信息,请参阅 使用 Azure 路由服务器 实现多区域网络连接

  • 将至少两个 NVA 实例与每个区域路由服务器对等互连:在每个区域中部署冗余 NVA 实例,每个实例都与两个路由服务器实例对等互连。 这可确保单个 NVA 故障不会中断路由交换或流量检查。 有关详细信息,请参阅 Azure 路由服务器 FAQ

后续步骤