城域网IPTV组播安全部署

城域网IPTV组播安全部署

冯峰

(大连联通、116000)

摘要:当前,IPTV平台技术和业务模式已经成熟。而EPON技术的成熟和部署,使普通住宅用户的高带宽接入成为可能。为缓解视频流带宽需求压力,电信运营商在城域网开通组播承载IPTV业务中的直播节目。单播城域网安全已经被充分研究和部署。与单播不同,组播网络中源和加入主机的行为会直接影响组播路由表,未实施安全部署的组播网络存在很多隐患。本文深入研究了城域网内组播的安全隐患并提出部署方案。

关键词:城域网IPTV组播安全

1.城域网组播承载IPTV部署概况

IPTV的点播业务由单播视频流承载,直播节目由组播流承载,城域网组播采用PIM稀疏模式,RP部署采用静态或BSR技术。SR下联OLT,用户机顶盒利用DHCP获得IP地址,与SR运行IGMP V2协议切换组播节目频道。组播域内所有路由器运行PIM2协议,结合IGP 单播路由表构建组播路由表。传统的ADSL目前也承载部分IPTV业务,但由于ADSL接入速率的限制,难以在ADSL上开展高清视频业务,PPPOE组播流复制点在BAS,IGMP报文也被封装在PPPOE内发给每一ADSL接入设备,BAS设备负担较重。目前运营商大力推进“光进铜退”,DSLAM设备逐渐被EPON设备取代。本文研究的用户接入方式为EPON方式。

2.RP安全

组播稀疏模式下RP非常重要,与源直接相连的PIM路由器接收到第一个组播报文后马上向RP注册(S,G)信息,与用户设备直连的PIM路由器在收到IGMP报告报文时向RP的方向发送JOIN报文请求组播流,并在接收到第一个组播报文后切换到源树。如果RP障碍,整个组播域是不能正常工作的。

稀疏模式下的组播域中只能有一个RP,为解决RP的冗余问题,IETF开发了BSR协议。CISCO开发了AUTO-RP协议,这两个协议都可以动态选择RP,当主RP失效时,其他候选RP 中优先级最高的可以被选为主RP。由于城域网都是异构网络,只有CISCO设备支持AUTO-RP 协议,所以不能部署在组播网络中,但要避免用户设备发送AUTO-RP报文干扰CISCO设备。MSDP协议本来是为解决不同PIM域间组播互通而开发的(S,G)通告协议,我们也可以利用MSDP协议在一个组播域内利用RP的ANYCAST方式构建冗余的静态RP。BSR选举的主用RP 失效时,备用RP被选为主用RP的收敛时间长。而采用MSDP方式,主备RP切换的时间就是IGP收敛时间。我们建议在城域网内采用MSDP的RP冗余方式。

组播网络中,如果不加限制,用户设备也可以运行BSR和AUTO-RP,导致合法RP失效。我们建议采用MSDP配置冗余RP,SR上与用户直连的接口部署BSR边界,并过滤AUTO-RP

报文,所有PIM路由器配置采用覆盖(OVERRIDE)方式配置RP。在RP上配置注册过滤,只允许合法节目源单播地址和合法组播地址注册到RP。

SSM组播域中不需要RP,用户设备发送组播流请求时也指定节目源的单播地址,这个方式需要用户设备同直连PIM路由器间运行IGMP V3协议,但目前大多的用户机顶盒设备不支持IGMPV3,可以采用在SR路由器上运行SSM代理在网络中实现SSM,城域网通常为异构网络,一些厂家的设备不支持SSM代理,不建议采用。稀疏模式下的双向组播技术,RP地址只是组播流转发的方向,无需注册过程。当前的IPTV组播网络,为加快用户频道切换速度,提升用户感知,通常采用末端OLT设备预加入组播组的工作方式,即使没有用户请求组播频道,也将组播流引到OLT设备,在这样的网络中可以采用稀疏模式下的双向组播方式取消RP需求。

3.组播节目源安全

不加限制的组播网络,用户也可以发出组播流。如果用户发出的组播流与正常节目流的组播地址和UDP端口都相同,会干扰正常视频的播放,通过测试,可以看到这样的行为会导致视频显示马赛克或视频节目停顿,我们建议在与节目源直连的路由器部署访问控制列表,只允许合法源地址和组播地址的组播流进入组播域,与用户直连的路由器部署访问控制列表,禁止任何组播流进入。

4.PIM和IGMP协议安全

PIM协议本身就没有邻居身份认证机制,以太网同一网段内的PIM路由器会选举地址最高的PIM路由器做为DR,在CISCO路由器实现机制下,这个选举甚至不检验PIM邻居地址是否在同一网段。以太网内与源和用户网段直连的PIM DR非常关键,其负责源的注册和向上游路由器发送JOIN报文,不加限制的网络中,用户设备只需运行PIM协议,IP地址配置为大于SR下联接口地址,整个网段就不能正常接收组播节目。非法的PIM设备也可以向SR 泛洪JOIN或注册信息干扰组播路由表。理论上,恶意用户甚至可以发送断言(ASSERT)报文,阻碍合法节目而插入自己的非法组播流。与用户直连的SR接口应该部署PIM邻居过滤机制,也应该在ONU上限制用户设备的PIM报文。城域网内所有与组播业务无关的设备接口关闭PIM协议。

IGMP是在主机和PIM路由器间的协议,主机通过IGMP报文报告要加入的节目组播地址。路由器通过向网段发送IGMP查询报文做通用查询和指定组查询,在多个PIM路由器存在的网段,为避免查询报文重复,PIM路由器会选举一台作为IGMP查询器,其它PIM路由器不发IGMP查询信息,而是只监听网段上的IGMP查询和报告报文。IGMP查询器的选举也非常简单,与PIM DR选举相反,网段内IP地址最小的PIM路由器被选为此网段的IGMP查询器,与PIM DR选举类似,这个选举过程也不检查设备IP是否配置在同一网段。如果用户设备运行了PIM,所配地址又小于SR的下联地址,用户设备就被选为IGMP查询器。网络设备无法配置IGMP查询信息的过滤,可以在EPON设备的ONU上做对用户设备发送IGMP查询报文的过滤。

用户加入组播节目是通过发送IGMP报告报文实现的,如果用户发起IGMP报告信息泛洪,SR就会向RP的方向发起JOIN信息泛洪,直接影响PIM域的组播路由表。可以在SR下联接口配置IGMP加入组过滤,限制用户只能请求合法的节目组播组。

5.IPTV组播VPN安全

将IPTV组播部署在MPLS组播VPN内也是IPTV组播实现的一个可行方案。MPLS组播VPN 也有其自身特性和安全隐患。

目前的MPLS组播VPN采用的隧道方式实现,即在PE路由器上定义用户的信令MDT组和数据MDT组,这两个组的组播地址都是公网组播地址。只有PE设备知道组播VPN的存在,其它P设备只负责转发组播流。具有同一VPN的PE间通过信令MDT组播报文传递PIM消息,组播VPN的组播报文流量超过一定的阈值,PE路由器会把用户组播流量通过数据MDT组的组播地址封装。

在MPLS VPN环境中,用户的单播网络安全是有保障的。在组播VPN环境中就不同了,如果不加限制,公网用户可以随意加入VPN的信令MDT组地址或VPN的数据MDT组,从而获得组播VPN的组播流,公网用户也可以向VPN的信令MDT组地址或数据MDT组地址发送组播流量干扰VPN的正常组播业务。可以参考上文的源防护和IGMP过滤策略保证组播VPN安全。

6.组播安全部署

结合上文分析的组播环境内各种安全隐患,我们提出了针对RP冗余和安全、源路由器安全、用户SR安全、PIM和IGMP协议的安全方案,并在CISCO IOS设备上通过测试,其它厂家设备也都有类似的相关指令可以实现。

6.1RP部署

我们建议在城域网中采用静态方式部署两台RP,RP冗余利用MSDP的ANYCAST保证。RP 配置允许注册的源和组播组的访问控制列表,由于RP间都是可信的,可以不必配置MSDP 的SA过滤。与BGP邻居配置相同,为防止恶意的RST攻击,在MSDP邻居配置中我们采用MD5口令验证。组播域内的所有PIM路由器用静态指定的覆盖方式指定RP。CISCO设备的实现代码如下:

PIM路由器

access-list1permit234.1.1.00.0.0.255##合法组播地址列表

ip pim rp-address 2.2.2.21override##OVERRIDE指定RP

RP路由器

ip pim rp-address 2.2.2.21override

access-list100permit ip host192.168.1.0234.1.0.00.0.0.255##S,G地址

ip pim accept-register list100##接受注册

ip msdp peer 3.3.3.3connect-source Loopback0##指定MSDP邻居ip msdp originator-id Loopback0

ip msdp password peer 3.3.3.3cisco##设定MD5验证6.2源PIM路由器部署

与源相连的PIM路由器只允许合法组播流进入,并做PIM邻居过滤。CISCO设备的实现代码如下:

与源相连PIM路由器接口配置模式下:

ip pim bsr-border##限制源网段发送BSR报文

ip pim neighbor-filter1##PIM邻居过滤

ip multicast boundary10in##允许合法流量

access-list1deny any

access-list10permit234.1.0.00.0.0.255

6.3用户接入PIM路由器部署

与用户相连的PIM路由器只允许合法组播流流出,并做PIM邻居过滤。IGMP过滤只允许用户请求合法的组播组地址。并限制BSR和AUTO-RP协议报文进入。CISCO设备的实现代码如下:

与用户相连PIM路由器接口配置模式下:

ip pim neighbor-filter10##禁止与用户建立PIM邻居

ip pim bsr-border##限制用户发送BSR报文

ip multicast boundary10in##限制组播流量进入

ip multicast boundary10filter-autorp##限制AUTO-RP报文进入

ip igmp access-group2##只允许请求合法组播地址access-list10deny any##拒绝任何组播流量进入

access-list2permit234.1.0.00.0.0.255##允许的组播组列表

参考文献: 1.M.Handley RFC5015《Bidirectional Protocol Independent Multicast》

2.H.Holbrook RFC4607《Source-Specific Multicast for IP》

3.Eric C.Rosen《Multicast in MPLS/BGP IP VPNs》

4.Ivan Pepelnjak《MPLS and VPN Architectures Volume II》

5.Jeff Doyle《TCP/IP路由技术(第2卷)》

6.Beau Williamson《IP多播网络的设计和部署》

作者简介:冯峰,男,生于1970年7月,1992年7月毕业于电子科技大学,学士学位。现在大连联通设备维护中心任技术经理,工程师。获得“中央企业技术能手”和“信息产业技术能手”荣誉称号,参与项目“IP城域网多业务承载方案的研究与应用”获“中国网通技术创新奖”二等奖。通信地址:大连联通设备维护中心,116000.电话:0411-********

相关主题
相关文档
最新文档