网络通信 频道

家庭宽带IPv6地址使用揭秘

  Part 01 IPv6地址可用性

  设备获取IPv6的全球单播地址后,理论上能够实现设备和业务服务器的双向端到端通信,我们使用笔记本电脑接入家宽网络,分配IPv6地址后并验证时,发现其公网连通性是不可达状态,这是什么原因呢?

  原来是考虑到IPv6地址暴露后存在安全风险,运营商在智能网关标准中,提出了端口权限最小化和防攻击功能的要求,在网关出厂时,厂商会在网关中预置特定的防火墙策略。由于网络策略的存在,家宽网络中IPv6地址实际可用性是很差的,直接下行的转发流量基本都被网关拦截或丢弃。为了安全有效地使用IPv6地址,结合白名单机制的网络策略或许是一个不错的选择。

  图1 《中国移动智能家庭网关技术规范》-端口权限最小化

  图2 《中国移动智能家庭网关技术规范》-防攻击功能

  Part 02 IPv6 session防火墙

  IPv6端到端的通信,由于网络策略的原因,导致服务器到终端设备的下行流量被拦截。

  经过对智能网关的分析,发现上述拦截能力可称为IPv6 session防火墙,该防火墙功能基于iptables实现,在网关的iptables转发链中,存在一个FORWARD_FIREWALL子链,用于存储控制转发的session防火墙策略。

  防火墙策略FORWARD:

  (1)当关闭时,防火墙策略为空,

  (2)开启ipv6 session防火墙后,Forward链策略中新增了两条策略:

  这两条策略即为实现IPv6 Session防火墙的核心,基于iptables状态跟踪实现,其实现的转发控制能力如下:

  (1)接收从任意br开头的网卡到其它网卡的流量(上行);

  (2)接收从网卡到任意br开头的网卡的流量,该流量的状态必须是已经建立双向连接或该连接的衍生连接(下行)。

  简单来说,就是终端设备往外访问的一律放行,外部服务器来访问终端设备,如果之前没建立过连接,直接拦截,反之则放行。具体的状态信息可参考如下概念:

  - 概念分析

  (1)iptables状态跟踪

  从Linux2.6.15的内核版本后,iptables开始支持状态跟踪(conntrack),该功能依赖于netfilter的内核模块nf_conntrack。此后,iptables可以根据包的状态进行二次的过滤拦截和状态跟踪。它也是state/ctstate和nat的主要依赖模块。

  conntrack将数据流的状态信息以Hash表的形式储存在内存中,包括五元组信息以及超时时间等。这里说的状态跟踪并非是指状态协议(如TCP)中连接状态的跟踪,而是conntrack特有的与网络传输协议无关的状态的跟踪。

  (2)conntrack五种状态

  conntrack共可以为连接标记五种状态,分别如下:

  ➟ NEW:新建连接请求的数据包,且该数据包没有和任何已有连接相关联。判断的依据是conntrack当前“只看到一个方向数据包(UNREPLIED)”,没有回包。

  ➟ ESTABLISHED:该连接是某NEW状态连接的回包,也就是完成了连接的双向关联。

  ➟ RELATED:匹配那些属于helper模块定义的特殊协议的网络连接,该连接属于已经存在的一个ESTABLISHED连接的衍生连接。简而言之,A连接已经是ESTABLISHED,而B连接如果与A连接相关,那么B连接就是RELATED。这部分不理解没有关系,也很难一句话说清,后面章节会用大量笔墨来阐明它。

  ➟ INVALID:匹配那些无法识别或没有任何状态的数据包。这可能是由于系统内存不足或收到不属于任何已知连接的ICMP错误消息,也就是垃圾包,一般情况下我们都会DROP此类状态的包。

  ➟ UNTRACKED :这是一种特殊状态,或者说并不是状态。它是管理员在raw表中,为连接设置NOTRACK规则后的状态。这样做,便于提高包过滤效率以及降低负载。

  conntrack是一种状态跟踪和记录的机制,本身并不能过滤数据包,只是提供包过滤的依据。有状态是一种过滤依据,无状态实际也是一种过滤依据。

  Part 03 IPv6白名单机制

  IPv6 Session防火墙通过两条策略实现了转发防护的能力,那么是否可以在此基础上实现白名单机制,答案是肯定的,使用白名单机制将限定通道两端的发送者和接受者,同时又保持原有的网络策略开启,符合智能网关的标准。

  iptables可以通过策略添加实现白名单机制,在智能网关的转发策略中加入允许发起下行请求的IPv6地址,并按照该地址筛选下行的源IP地址的数据包并放行。经测验,开启ipv6 session防火墙,并添加特定白名单后,终端设备即可支持ipv6地址的下行访问。以6.ipw.cn为例,我们新增策略如下:

  新增后的iptables策略清单。

  外网获取ipv6地址结果 ,即设备IPv6地址能够被6.ipw.cn访问。

  上述结果即说明该IPv6地址可被公网访问,说明白名单机制在理论上可行。

  Part 04 总结

  本文从实际家庭网络环境出发,分析家庭宽带网络中设备的IPv6实际可用性和安全分析,并尝试了一种基于白名单的IPv6地址使用方式,能够保证地址在防火墙开启的前提下使用公网的访问能力,但从家庭网络全局角度来看,目前缺少整体的安全发现和分析的能力,特别是在IPv6开放的情况下,原有的安全分析设备的支持性和分析能力,需要适配提升。下一篇文章我们来谈一谈,如何提供一种针对家庭网络的安全监测能力。

0
相关文章