IPv6网络的可操作安全考虑——RFC9099解析(三)

2.4 控制平面安全

【RFC6192】定义了路由器控制平面,并提供了为ipv4和ipv6网络保护ipv4的详细指导。为了方便读者,这里重复了这种定义,请注意,该定义是完全与协议版本无关的(本节大部分适用于ipv6的方式类似于ipv4)。

  • 序言:ipv6控制平面安全性与ipv4非常一致,除了ospfv3认证(第2.4.1节)和一些与ipv6相关的包之外(见第2.4.3节)

现代路由器架构设计保持了转发和路由控制平面硬件的严格分离。路由器控制平面支持路由和管理功能。它通常被描述为路由器架构硬件和软件组件,用于处理到设备本身的包,以及构建和发送在设备本地发起的包。转发平面通常被描述为路由器架构的硬件和软件组件,负责接收包的传入接口,执行查找以识别包的下一跳和向目的地的最佳输出接口,并通过适当的输出接口转发包。

虽然转发平面通常在高速硬件中实现,但控制平面由通用处理器(称为路由处理器(RP))实现,并且不能以高速率处理数据包。因此,这个处理器可以被注入比它所能处理的更多的数据包来攻击。控制平面处理器无法处理有效的控制包,路由器可能丢失igp或bgp邻接,这可能导致多个网络中断。

【RFC6192】提供了关于保护ipv6网络中的路由器控制平面的详细指导。本节的其余部分包含了简化的指导。

缓解技术包括:

  • 在排队到非法或潜在有害的控制数据包之前删除(这可以通过转发平面acl完成),并将剩余数据包的速率限制为rp可以维持的速率。
  • 还应该进行协议特定保护(例如,欺骗的ospfv3包可以触发dijkstra算法的执行;因此,dijkstra计算的频率也应该受到速率限制)。

本节将考虑几种类型的控制数据包:

  • 控制协议:路由协议,如ospfv3、bgp、下一代路由信息协议(ripng),以及扩展为ndp和icmp。
  • 管理协议:SSH、SNMP、NETCONF、RESTCONF、IPFIX等。
  • 数据包异常:需要特定处理的普通数据包,例如生成数据包太大的消息或处理逐跳选项头。

2.4.1 控制协议

这类包括OSPFv3、BGP、NDP和ICMP。

在RP所要处理的数据包的所有路由器接口上应用的入口ACL应配置为:

  • 从非链接本地地址(ospfv3虚拟链接除外)丢弃OSPFv3(next-header 89标识)和RIPng包(UDP端口521标识);
  • 允许从所有bgp邻居(tcp端口179标识)包而丢弃其他包;
  • 允许所有icmp包(传输到路由器接口)。

注意:在acl分类过程中无法解析ipsecesp或ah扩展头的路由器上,可能无法删除由ipsec验证的ospfv3数据包。

应该对有效的数据包进行速率限制,参见【RFC8541】。确切的配置将取决于路由器的可用资源(CPU、TCAM等)。

2.4.2 管理协议

这类协议包括SSH、SNMP、RESTCONF、NETCONF、gRPC、syslog、NTP等。

应用于所有路由器接口(或在安全边界的入口接口或使用平台的特定特性)的入口acl应被配置为定向到RP的数据包,例如:

  • 丢弃发送到路由器的包,除了那些属于已使用的协议的包(例如,允许使用tcp22,只使用ssh时删除所有其他包);
  • 丢弃源与安全策略不匹配的包(例如,如果ssh连接只能来自网络操作中心(noc),那么acl应该只允许来自noc前缀的tcp端口22包)。

应该完成对有效数据包的速率限制。确切的配置配置将取决于可用的路由器资源。

2.4.3 数据包异常

这类涵盖的是数据平面的包被推送到路由处理器处理的情况,因为需要做些特殊处理:

  • 当数据平面包太大(需要发现路径mtu)而无法转发时,生成icmp包太大的消息;
  • 当数据平面包的hop-limit已达到0(也被traceroute使用)而无法转发时,生成icmp hop-limit-expired消息。
  • 生成当数据平面包因任何原因无法转发时的icmp目的地-不可到达的消息;
  • 逐跳选项头的处理;新的实现遵循这个处理是可选的【RFC8200】;
  • 或者更特殊的一些路由器实现,一个超大的扩展头链不能被硬件处理,也不能强制推送到RP处理。

2.5 路由安全

路由安全大致分为三部分:

  • 邻居/对等点验证;
  • 对等点之间的安全路由更新;
  • 路由过滤。

【RFC5082】也适用于IPv6,并可以确保路由协议数据包来自本地网络;还必须注意的是,在IPv6中所有的内部网关协议都使用链路本地地址。

对于IPv4,建议只在需要的接口上启用路由协议。

2.5.1 BGP安全

由于BGP对于IPv4和IPv6是相同的,【RFC7454】涵盖了BGP细节的所有安全方面,因此也适用于IPv6。

2.5.2 认证OSPFv3邻居

OSPFv3可以依靠IPSec来完成身份验证功能。操作人员应该注意,IPSec支持并不是在所有路由平台上都支持的标准。在某些情况下,这需要专门的硬件,将加密数据卸载到专用的应用专用集成电路(ASICs)或增强的软件镜像来提供功能。附加的细节是确定ospfv3 ipsec实现使用AH或ESP做完整性保护。在早起的实现中,所有OSPFv3 IPSec配置依赖AH因为细节在【RFC5340】中并没有说明。然后,文档【RFC4552】专门描述了IPSec如何实现OSPFv3,文档声明了“实现必须支持ESP,可以支持AH”。OSPFv3可以使用ESP加密OSPFv3载荷从而提供路由信息的机密性。

【RFC7166】通过在ospfv3数据包的末端附加一个身份验证拖车(trailer),来改变ospfv3对ipsec的依赖。它不对ospfv3数据包的特定发起者进行身份验证;相反,它允许路由器确认该数据包是由能够访问该共享的身份验证密钥的路由器发出的。

2.5.3 安全的路由更新

IPv6最初要求所有节点提供IPSec能力。【RFC8504】将IPSec的支持由“MUST”修改为。“SHOULD”。理论上,两个ipv6节点之间的所有通信,特别是交换路由信息的路由器,都有可能使用ipsec进行加密。然而,在实践中,部署IPSec并不总是可行的,因为部署的硬件和软件限制。

许多路由协议支持使用加密技术来保护路由更新,建议使用这种方式。【RFC8177】是一个包括rekeying功能用于key chains的数据模型。

2.5.4 路由过滤

路由过滤策略将取决于它们是否属于边缘路由过滤还是内部路由过滤。IPv6路由策略,涉及到不同管理域之间的路由,从策略的角度至少应该维持和IPv4的对等关系。例如:

  • 在边界过滤内部无需全局路由的内部使用的IPv6地址;
  • 为bogan丢弃路由同时保留空间【RFC8190】;
  • 通过使用各种路由数据库,例如,配置验证路由起源、前缀所有权等ingress路由过滤器。【RFC8210】正式验证bgp公告的原始自主系统。

【RFC7454】还有一些好的指导。

一个有效的路由表也可用于网络ingress过滤【RFC2827】。

-------End Part3-------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值