首页 > 技术 > 技术文摘 > 网络视频会议如何安全地穿越防火墙

网络视频会议如何安全地穿越防火墙

2003-12-15 00:00:00   作者:   来源:   评论:0 点击:



  H.323简介
  现在常用的网络会议软件和网络电话软件采用的是国际电信联盟(ITU-T)制定的H.323协议族,其中包括H.225,H.245,Q.931等,另外还有IETF制定的SIP(会话启动协议)。SIP协议采用与http类似的文本命令形式,而且协议比较简单,是未来网络电话和即时通讯的方向。但由于H.323出现较早,已经有很多商业应用,比如微软的NetMeeting采用的就是比较成熟的H.323,另外中国的电信企业实施IP电话时也倾向于采用H.323协议。所以H.323还将会在长时间内和SIP同时存在。
  H.323标准定义了一个在基于分组的网络上进行灵活的、实时的、可交互的多媒体通信协议集。个人计算机能在包交换网络(网际网和内部网)和电路交换网络上传输音频,视频和数据。
  H.323网络包括终端,网关,网守(Gatekeeper)和多点控制单元(MCU)。
  网守在局域网上监视所有在其区域内的H.323呼叫,它提供两个主要的服务:呼叫准入和地址解析。所有在此区内的H.323客户端必须在网守的协助下开始一个呼叫。另外,网守还可以根据当前可用带宽决定是否允许客户呼叫。
  网关提供在异种网络之间操作的能力,例如在包交换网络和电话网之间,就需要有一个网关进行协议和数据的转换。
  MCU(多点控制单元)提供多方的多媒体会议能力。它协调所有参与者的媒体通信能力,为端点提供音频混合和视频选择(端点本身不能完成这个工作)。
  下面我们以点到点的H.323通信为例说明其通信过程。在此例中,我们用Alice和Bob作为H.323通信的两个端点。Alice在防火墙的外侧,Bob在防火墙的内侧。
  首先,Alice向Bob的H.323知名端口1720建立了一条连接。
  然后,Bob和Alice在此连接上发送Q.931包。,在这些交换的数据包中,Bob和Alice发送动态的端口用于建立H.245连接(即上图CONNECT数据包中的H.245 Address)。
  随后,呼叫者根据在Q.931流中协商的临时端口建立H.245连接。H.245处理所有的呼叫参数协商,例如所要用的编码解码算法等。一旦这些参数协商完毕,H.245会话开始执行OpenLogicalChannel,这个过程为特定的媒体流(如音频或视频)发送传输者和发送者的RTP和RTCP地址和端口(即上图OpenLogicalChannel和OpenLogicalChannelAck中的RTP及RTCP Address)。然后,这些媒体流就可以在两个端点之间进行传输,直到会话结束。
  H.323通过防火墙和NAT的难点
  大量应用动态端口

  通过防火墙可以限定进出网络的数据包类型和流量(这种限定可以基于源IP地址、目的IP地址或端口号等包过滤规则)。而基于IP的语音和视频通讯的H.323协议,要求终端之间使用IP地址和数据端口来建立数据通信通道。因此存在一个两难境地:为了建立数据连接终端,必须随时侦听外来的呼叫,而防火墙却通常被配置来阻止任何不请自到的数据包通过。
  即使网络管理者打开防火墙上的一个端口来接收呼叫建立数据包,例如1720端口,但IP语音和视频通讯协议还要求打开许多别的端口接收呼叫控制信息来建立语音和视频通道。这些端口号事先并不知道,是动态分配的,这也就是说,网络管理者为了允许语音和视频通讯,将不得不打开防火墙上所有的端口,防火墙也就失去了存在的意义。由于网络安全的原因,很少企业会让他们的网络防火墙如此开放。
  防火墙的网络地址转换
  同时,由于Internet快速膨胀,IPv4地址空间处于严重耗尽的境况。为解决这个问题,人们设计出了网址转换器(NAT)。网络地址转换分为传统的网络地址转换和网络地址端口转换。目前,很多的网络地址转换都是通过防火墙来实现的。然而NAT后的IP语音和视频设备仅有私有IP地址,这些地址在公众网上是不可路由的。
  传统的网络地址转换机制允许一个组织在内部通信时使用一定范围内的私有地址,当与外部通信时使用一个小的公共IP地址池。
  另一种网络地址转换是网络地址和端口转换。这种转换形式有一个内部地址,一个或多个外部地址,然后用端口号进行区分。
  NAT是置于两网间的边界,其功能是将外网可见的IP地址与内网所用的地址相映射,这样,每一受保护的内网可重用特定范围的IP地址(192.168.x.x),而这些地址是不用于公网的。从外网来的含公网地址信息的数据包先到达NAT,NAT使用预设好的规则(其组元包含源地址、源端口、目的地址、目的端口、协议)来修改数据包,然后再转发给内网接受点。对于流出内网的数据包也须经过这样的转换处理。
  从安全性上来看,NAT提供了对外隐藏内网拓扑的一个手段,但也给H.323应用带来巨大的麻烦。协议消息包一般不是放置在IP包头,而是在特定区段中内嵌IP地址和端口号。这样,如果使用NAT,协议里的IP和端口号不能指向正确的地方,从而导致通信不能正常进行。
  ASN.1编码
  H.323的大部分控制信息用ASN.1进行编码,这是一种非常复杂的编码模式,相同版本的相同应用在连接相同的目的时,会使用不同的选项,从而使相同成员在数据流中的偏移量不同。为了提取其中的有用信息(如内嵌的IP地址和端口号),需要对用ASN.1编码过的数据包进行仔细的解码。
  东软NetEye防火墙在网络视频会议系统的安全解决方案
  基于以上H.323的特性,目前绝大多数的防火墙是不支持H.323协议的,尤其是经过网络地址转换(NAT)后的应用,即使支持,也不是很彻底。
  为了使用户网络的H.323数据流能顺利地通过NetEye防火墙,从而正常、安全地进行网络视频等应用,东软公司NeEye产品的研发人员专门对H.323协议进行了详细的分析和控制,有效地解决了当前防火墙和NAT带来的连通问题。
  对ASN.1编码的数据包进行解码
  如前面所述,H.323的大部分控制信息,包括通信所使用的IP地址和端口号,都是用ASN.1进行编码。因此,为了得到这些有用的信息,NetEye防火墙针对ASN.1编码后的数据进行了详细的解码。
  将网络地址转换应用到控制信息中
  解码H.323控制信息后,获得通信所使用的内部私有IP地址和端口,根据NetEye防火墙上当前应用的网络地址转换规则,将H.323控制信息中的IP地址修改为转换后的公网地址。这样当被呼叫的终端收到呼叫建立(Call Setup)数据包后,会从该数据包控制信息中获取呼叫端的IP地址,发现这个IP地址为一个公网IP地址,开始发送音频和视频数据到这个IP地址,从而在NAT下实现正常的网络视频通信。
  自动打开动态分配的端口
  由于NetEye防火墙能够解码经过ASN.1编码的H.323协议的数据包,并进行详细的分析,从而可以检测H.323协议通信过程中动态分配的一些端口。这样做的结果是,在防火墙的规则中,只须打开几个H.323的知名的端口(如1718,1719,1720等),其它通信过程中动态分配的端口在需要时NetEye防火墙会临时打开,在不需要时马上关闭。这样就不用打开所有大于1024的端口,增加了防火墙的安全性,而且也不受防火墙网络地址转换的影响。这也是基于状态检测的“流过滤”防火墙所具有的先天的优势和特性。
  NetEye防火墙通过对网络视频会议系统的安全防护,很好地解决了日常私网和公网通信面临的连通性、防火墙技术、NAT技术、高度安全等问题,充分发挥了IP通信的诸多优势。

H.323通信过程

赛迪网 中国信息化(industry.ccidnet.com)

相关阅读:

分享到: 收藏

专题