当前解决 SRv6 网络源路由安全的方案主要分为基础方案和增强方案两部分。
RFC 7855 和 RFC 8402 等标准文稿定义了 SR 网络需要规定明确的网络边缘,确定了明确的网络可信域,可信域内的设备将被认定为是安全的。基于可信域的前提,基础方案是通过部署 ACL 策略对可信域外进入的报文进行防范 。基础方案大致包括 3 个方面:
在理想情况下,禁止内部 SID 等信息泄露到 SRv6 可信域外,所以以上的安全策略能够在一定程度上保障 SRv6 网络的安全。
不过,在一些情况下,也会有意将域内的 SID 泄露到外域,比如通过泄露 Binding SID 用于 TE 选路。对于这样的例外,需要在边缘设备的对外接口上部署对应的 ACL 规则,允许携带 Binding SID 的流量通行。出于安全考虑, Binding SID 也仅会在有限的范围内泄露,例如一些可信的 SRv6 域,不会造成大的安全问题。
此外,为了提高安全保障,解决泄露 SID 到外域时带来的风险,SRv6 网络增加了 HMAC 机制对 SRH 进行验证,确保从域外进来的 SRv6 报文来自可信数据源。我们称这些安全措施为 SRv6 安全增强方案。
除了 Binding SID 场景可能用到 SRH 以外,在一些特定场景下,例如在云数据中心中,管理者可能将封装 SRH 的能力从路由器委托给主机,从而实现主机自主选路、应用级别精细调优等功能,此时就需要在接入层设备上增加一定的安全机制来确定接收到的 SRv6 报文安全可信,这同样需要用到增强方案的 HMAC 机制。
一般地,HMAC 用于在边缘路由器上校验 SRH,防止 SRH 等数据被篡改,同时也对数据发送源进行身份验证。所以在增强方案中,需要在边缘路由器上配置对应的 HMAC 策略。当携带 SRH 的报文进入 SRv6 可信域时,将触发 HMAC 处理。如果 SRH 不携带 HMAC TLV 或 HMAC 校验失败(计算摘要与携带摘要不一致),则丢弃报文。当且仅当 HMAC 校验成功时,才能放行。
路由器在处理 HMAC 时,需要先检测 IPv6 报文头的目的地址字段与 Segment List 中 SL 指向的 SID 地址是否一致,然后检测 SL 是否大于 Last Entry,最后才基于以上的字段计算校验和,并进行校验。通过 HMAC,不仅可以确认 SRv6 报文来自可信主机,还可以确保 SRv6 SRH 等相关数据在传输的过程中没有被篡改,从而有效保护 SRv6 网络。
基于当前的 IPsec,可以为基础网络提供一定程度的安全保障。在此基础上,通过配置 ACL 规则的 SRv6 安全基础方案和使用 HMAC 校验的安全增强方案,可以确保 SRv6 域的通信源可信以及报文不被篡改,从而保障了 SRv6 域安全,解决了窃听、报文篡改、仿冒、DoS/DDoS 等网络安全问题,为当前的 SRv6 部署提供了充足的保障。
领取专属 10元无门槛券
私享最新 技术干货