李晨晖 张祖琼 郭小明
摘 要:无源光网络多用于运营商的网络建设,在用于学校的网络建设时,因使用场景不同,还需要考虑局域网的安全和易用问题。文章从无源光网络的工作原理上分析其安全特性,并针对IP欺骗、MAC欺骗、泛洪攻击、环路检测等局域网环境常见的安全问题进行分析和防护。此外,文章还介绍了无源光网络带来的新安全问题。
关键词:无源光网络;网络安全;网络防护;校园网
中图分类号:TP393 文献标志码:A 文章编号:1673-8454(2020)19-0093-04
一、引言
GPON(Gigabit-Capable Passive Optical Network,千兆无源光网络)网络主要用于运营商的小区宽带建设,目前也有学校引入到校园网建设方案中。
大多数的网络安全威胁来自于内部,局域网的安全防护在接入层就需要高度关注处理。做好底层防护是高层协议的安全基础,以保障数据的私密性、完整性、可用性。传统局域网建设中存在MAC地址欺骗、IP地址欺骗、ARP欺骗、DHCP攻击、泛洪攻击、环路造成广播风暴等安全问题。在GPON网中应该如何防范,需要进行分析研究。
二、实验环境
本校已经建设部分宿舍区的GPON网络,此次实验分析基于如图1所示的网络结构。其中,OLT(Optical Line Terminal,光线路终端)采用华为MA5800型号产品。分光器采用1∶8的分光比。ONU(Optical Network Unit,光网络单元)采用华为EG8145V5型号产品,有4个千兆以太网口。
核心交换机上接DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器,为GPON网和传统局域网的所有设备分配IP地址。PC1~PC4均在VLAN 100下。入网用户采用准出的认证方式,在网络出口采用WebPortal认证。实验将分别在OLT的不同GPON口即不同的分光器下如PC1与PC4、同一分光器的不同ONU下如PC1与PC3、同一ONU不同以太网接口下如PC1与PC2之间测试各安全问题。
三、基于GPON网络工作原理进行安全分析
1.GPON传输原理[1]
OLT的GPON口通过单芯光纤连接分光器,分光器分别8根光纤连接到8个ONU设备。上下行采用不同波长的光信号来承载数据[2]。物理上属于1个GPON口、N个ONU设备的点对多点结构。
OLT将下行业务的以太网帧封装成GPON帧,从1个GPON口发出,分光器无法对数据进行ONU区分,会广播到所有连接的ONU设备上。ONU根据GPON帧头部中的ID號判断是否是发给本ONU的,不是则丢弃,是则将GPON帧中的以太网帧解析后发给ONU的以太网口。ONU前端进行过滤,避免用户收到其他用户的单播数据包。
上行业务为避免多个ONU同时发数据造成碰撞,采用时分复用的方式[3]。OLT根据动态带宽分配等策略,为每个ONU协商分配时隙,ONU将上行以太网数据帧封装为GPON帧发送给分光器。因在自己的时隙内发送,在分光器进行耦合时能避免冲突。数据耦合后传输到OLT的GPON口,解封以太网帧做进一步处理。
因此,虽然同一GPON口下是点到多点的物理结构,但正常情况下,用户不会收到不属于自己的数据包。
2.GPON逻辑业务二层隔离
ONU除了可以承载用户上网,还支持语音电话、视频监控、电视等业务。接入设备为区分不同用户和不同业务,使之互相不受影响,GPON采用业务流的虚通道方式进行分类管理。业务流是用户和OLT之间的逻辑通道,上下行的数据都是根据业务流的映射规则来进行转发处理。
传统以太网中同一个VLAN内的所有以太网端口在一个广播域内,可以二层互通,让诸多攻击有机可乘。如ARP欺骗就是攻击者向目标发送免费ARP包,向目标宣称自己是网关或其他用户。再如伪造非法DHCP服务器,就是通过回应用户上网的IP地址广播请求,从而导致用户拿到错误的IP地址不能上网,或者拿到错误的网关、域名解析服务器,为攻击者的下一步攻击提供了跳板。
但GPON网络中,即便在同一个VLAN,业务虚端口之间也相互隔离。这也是运营商广泛使用PON网络的一个原因,天然隔离不同用户,可以避免很多局域网攻击和病毒传染等安全问题。如二层隔离后,ARP欺骗者无法直接向同一网段其他用户发包,从而避免ARP欺骗攻击[4]。再如隔离了广播,用户的DHCP请求也不会发到同一网段的攻击者处。
但GPON的二层隔离仅限于GPON部分,OLT上行口的网络侧还是传统以太网,同一VLAN的广播包还是会广播到所有用户。OLT中可以设置APR代应答,则OLT代回答网络侧ARP的请求广播包,代回ARP响应单播包,以增加安全性。
3.ONU上以太网端口的二层隔离
ONU的业务流可根据物理端口、逻辑端口等方式分类。物理方式是OLT与ONU上的以太网端口之间创建的业务流。实验采用的是常用的基于GEM(GPON Encapsulation Mode,GPON封装模式)port端口的逻辑方式,ONU上的4个以太网端口都提供普通上网业务,属于同一个GEM port。经实验,默认情况下,4个以太网口之间没有进行端口隔离。可以通过业务模板为ONU下发安全配置,开启二层端口隔离。
ont-srvprofilegpon profile-id 1 profile-name "StuNet"
ont-port eth adaptive
port isolate eth 1 enable
port isolate eth 2 enable
port isolate eth 3 enable
port isolate eth 4 enable
commit
4.部分GPON局域网使用场景需打破二层隔离
二层隔离为家庭独立用户提供了安全保障,但有时为企业或学校带来不便。如办公室要共享打印机、分享文件、局域网游戏或应用等场景,需要打破用户隔离,实现局域网内互通。
打破用户隔离有两种方式:采用VLAN内的ARP代理通过三层转发实现用户互通、基于VLAN的二层互通。采用ARP代理方法如下:
OLT (config)#vlan 100 smart
OLT (config)#arp proxy enable
OLT (config)#interface vlanif 100
OLT (config)#ip address x.x.x.x 255.255.255.0
OLT (config-if-vlanif100)#arp proxy enable
采用ARP代理的方式,则同网段用户进行数据交换需要由上层设备做三层数据转发,增加了上层设备的负担。基于VLAN的二层互通可以解决该问题。开启后同一网段的用户能够在二层网络进行数据交换。方法如下:
OLT (config)#vlan service-profile profile-id 1
OLT(config-vlan-srvprof-1)#user-bridging enable
OLT (config)#vlan bind service-profile 100 profile-id 1
经测试,开通二层互通功能的同一VLAN域中的用户之间可以Ping通。后面的安全测试都在基于VLAN互通的前提下进行实验。
四、局域网常见安全威胁分析
1.防IP欺骗
IP Spoofing即IP欺骗攻击是攻击者伪造成他人的IP地址做为数据包源地址,以使用他人的权限进行网络攻击,或破坏正常用户业务的行为。局域网中也存在无意攻击,而通过手动设置IP来上网的普遍现象,容易造成跟其他人IP地址冲突而不能上网。所以要禁止手动设置IP地址,只允许从DHCP服务器获取。
传统局域网中,通过启用DHCPSnooping功能,监控用户向DHCP服务器获取IP地址的数据包的过程,并在交换机内记录用户IP、MAC地址、VLAN、交换机接口的绑定表。绑定表结合IP Source Guard功能,IP报文进入交换机后,可通过检查数据包的源IP地址和MAC地址是否在绑定表中来判断是否为合法用户,如果伪造他人IP则丢弃。绑定表结合DAI(Dynamic ARP Inspection,动态ARP 检测)功能,也可以检查ARP包中MAC地址的合法性。总之,可以防IP欺骗、MAC地址欺骗、ARP欺骗,同时禁止了手动设置IP地址的上网方式。
GPON网络与传统的绑定表类似。开启IP Spoofing功能后,会监控用户的DHCP上线与下线流程。在用户的上线过程中,系统动态获取分配给用户的IP地址,并将IP地址与业务流绑定,只允许源IP地址为已经绑定到业务流的报文通过设备。
开启防御IP Spoofing功能需要在全局、VLAN、业务流下分三级打开:
OLT(config)#security anti-ipspoofing enable
OLT(config)#vlan service-profile profile-id 1
OLT(config-vlan-srvprof-1)#security anti-ipspoofing enable
OLT(config-vlan-srvprof-1)#commit
OLT(config-vlan-srvprof-1)#quit
OLT(config)#vlan bind service-profile 100 profile-id 1
OLT(config)#security anti-ipspoofing service-port 1 enable
而網络中仍然在存在不支持DHCP功能的特殊设备,必须要手动设置IP。实现方式为可以通过关闭对应业务流的防IP地址攻击功能,或在业务虚端口上手动绑定IP,这样比关闭防御功能更安全。绑定方法如下:
OLT(config)#bind ip service-port 1 10.1.1.1
2.防Mac地址欺骗
Mac地址欺骗是仿冒用户MAC地址或网络设备MAC地址,使接入设备的MAC地址表学习到错误的地址表项,以窃取流量,或中断其他用户正常通信。
与IP Spoofing类似,在使用防MAC欺骗功能时,动态记录用户MAC、VLAN、业务流的相应信息。用户端口有数据进入时,检查报文的MAC地址是否是已绑定业务流。如果不是合法报文,则视为MAC地址欺骗,将报文丢弃。配置如下:
OLT(config)#security anti-macspoofing enable
OLT (config)#vlan service-profile profile-id 1
OLT (config-vlan-srvprof-1)#security anti-macspoofing enable
OLT (config-vlan-srvprof-1)#commit
OLT (config-vlan-srvprof-1)#quit
OLT (config)#vlan bind service-profile 100 profile-id 1
OLT (config)#security anti-macspoofing service-port 1 enable
还可以通过静态MAC地址绑定的方式,防御MAC地址欺骗:
OLT (config)#mac-address static service-port 1 xxxx-xxxx-xxxx
3.防MAC地址泛洪攻击
传统以太网中,攻击者伪造大量不同源MAC地址报文发到交换机中。交换机会自动学习数据包的源MAC地址,添加到MAC地址表中,大量的垃圾表项把系统MAC地址表资源消耗殆尽。导致交换机无法学习新的MAC地址,其他用户的正常通信报文只能作为未知单播报文,被广播或丢弃。如果广播,会消耗大量转发带宽,影响通信质量,并有可能让攻击者嗅探到其他用户报文。如果报文被丢弃,则导致部分用户无法上网。可通过限制端口学习到的MAC地址数,或者限制报文发送速率来防御。
GPON网络中,实施MAC地址泛洪攻击则会将OLT的MAC地址表空间占满。开启防MAC欺骗后,可通过security anti-macspoofing max-mac-count命令配置业务流最多可绑定的MAC地址数,从而避免MAC泛洪攻击。
4.防止协议类型泛洪攻击
泛洪攻击的特点是攻击者发送大量的报文,导致系统无法处理其他用户的请求,也即DoS(Denial of Service,拒绝服务)攻击。
除了MAC泛洪,还有ARP、ICMP、DHCP等各种协议泛洪。当实施ARP欺骗的时候,如ARP中间人攻击,需要不停地发ARP包以欺骗目标机和网关,这样才能持续嗅探两者之间的数据流以窃取信息。有时候用户电脑中毒也会导致发送大量ARP包。ICMP泛洪也称为死亡之Ping,利用简单的辅助网络故障诊断的Ping命令持续攻击,可能会导致目标消耗过多系统资源而无法响应。对DHCP服务器发起泛洪攻击,是攻击者伪造大量MAC地址,向DHCP服务器发起申请IP地址请求,造成DHCP地址池的地址用尽,正常用户无法获取到地址。
防御DoS攻击主要还是对协议报文进行限速。
使用security anti-dos enable命令开启防DoS攻击功能。识别DoS攻击后,可通过display security dos-blacklist查询发生Dos攻击的列表,从而可以进一步处理,如关闭用户端口。
发生DoS攻击时,可配置处理策略security anti-dos control-packet policy permit,按设置的速度阈值进行限速,继续处理报文。配置security anti-dos control-packet policy deny则会在发生DoS攻击时丢弃所有报文。
攻击报文速度分两级设置:各类协议报文的分项速度、所有报文的总速度。如使用security anti-dos control-packet rate60配置总协议报文的速率阈值为每秒60个包,security anti-dos control-packet dhcp rate10配置发送给DHCP服务器的速率阈值为每秒10个包。
5.环路检测
局域网还会出现环路问题。经常出现用户端网线接线太乱,而无意将一根网线的2头接到同一个交换机的2个端口造成环路,或接到不同交换机的2个口,形成更大的环。环路会造成广播风暴,数据转发会消耗大量网络设备资源和网络带宽,使用户无法正常上网。环路问题主要靠生成树算法、MAC地址表探测等方法来检测破环[5]。
GPON系统上开启环路检测功能,通过周期性发送环路检测数据报文,并通过监控收到检测报文的位置来判断是否有环路,并关闭形成环路的用户端口,保障不对其他用户造成影响。需要在OLT和ONU上均开启环路检测。OLT上使用ring check enable命令开启用户侧环网检测功能。ONU上的环路检测功能需要通過OLT下发业务模板配置来开启:
ont-srvprofilegpon profile-id 1 profile-name "StuNet"
ring check enable
ring check detect-frequency 1
commit
五、GPON网络新的安全问题
ONU的上行数据包是通过时分复用的方式,在自己的时间间隙才发包。如果在其它时间间隙也一直发送光信号,会导致同一GPON口下其它ONU下线或不稳定。这种长发光的称为流氓ONU,发生这种情况时需要对ONU逐一排查。
GPON网络下行数据采用广播的方式发送到所有的ONU,如果有非法接入的ONU,则可以接收到其它ONU的数据,存在安全隐患。可以通过指定SN号和密码注册的方式添加ONU,也可以对下行数据包进行AES加密,并自动定期更换密钥,以提高安全性。
六、结束语
GPON网络天然二层隔离,对小区家庭住户来说,其安全特性比较适用。但校园网中有局域网络的应用需求,在满足易用性之后,安全问题一定要防护到位,否则会对日后运维造成影响。GPON网络具备局域网基本的安全防护能力。
参考文献:
[1]ITU-T G.984.3 Gigabit-capable passive optical networks(G-PON): Transmission convergence layer specification,2014.
[2]ITU-T G.984.1 Gigabit-capable passive optical networks (GPON): General characteristics,2008.
[3]左明慧.基于GPON 的高校智慧校园网安全策略设计研究[J].赤峰学院学报(自然科学版),2018,34(11):52-54.
[4]王晓妮.高校局域网中ARP 攻击防御策略的分析与实施[J].航空计算技术,2017,47(3):125-129,134.
[5]杨柳,曾颜.xPON系统中用户侧端口成环的破除方法[J].光通信研究,2011(2):17-19.
(编辑:王晓明)