多媒体应用与企业传统网络结合在企业中已经是司空见惯的事情。特别是随着VoIP技术的稳步发展,IP语音逐渐成为企业网络中的一个不可或缺的新成员。但是这也对企业网络的安全提出了新的挑战。最近针对企业VoIP应用的攻击也逐渐多了提来。笔者也跟攻击者打过几回交道。在这里笔者就跟大家分享一下这方面防护的经验,主要就是如何通过流量检查让VoIP数据高枕无忧。
一、保障H.323协议的安全
H.323协议是VoIP技术中一个比较关键的协议。由于这个协议族是基于TCP连接的,所以也比较容易受到攻击。H.323协议族使用2个TCP连接以及4到6个UDP连接。他们基本上都是为了一个特定的会话而协同工作。这个协议可以完成多项关键性的工作。如其管理安全与认证相关的内容、协商信道的使用等等。故保证这个协议的安全性,是VoIP安全体系中一个非常重要的内容。
在实际工作中,由于这个协议其采用的事抽象语法符号对分组进行编码。为此要对其采取一些安全措施有一定的难度。或者说,市面针对这种抽象语法符号的安全解决方案比较少。这主要是因为要理解H.323流的内容比起理解其他现存的协议的流要相对简单许多。正是由于这一点,很多攻击者就喜欢拿这个协议开刀,作为攻击的跳板。
那么安全管理人员是否就对此束手无策了呢?那也不是。在思科的防火墙中,就提供了一个现成的防护机制。H.323通常情况下是使用1720做为TCP控制端口的。而这个端口也是攻击者喜欢使用的端口。在现实工作中,如果能够加强对这个端口的流量进行检查,那么久可以保证VoIP应用的安全。通过命令fixup protocol h323命令就可以启用对这个端口流量的检查。由于在PIX防火墙中默认是通过端口1720连接来检查h.323流量,故在命令中不需要带上端口参数。
不过有时候为了进一步提套其安全性,会改变这个默认端口。改变之后,攻击者就不能够通过端口扫描等方法来判断企业是否采用了VoIP应用。改变了端口之后,安全设置人员仍然需要在改变端口后的新端口中启用H.323流量检查。此时需要在命令fixup protocol h323后面带上端口参数。
二、启用MGCP流量检查
MGCP是一个语音协议,它的地位与H.323协议类似。语音协议与7号信令系统一起运行。这个协议的主要功能就是用来桥接交换电路网络以及分组网络。MGCP语音协议可以将信令与呼叫控制同媒体网关分离。当MGCP语音协议受到攻击的话,就有可能出现语音通信故障,甚至被窃听的情况。所以启用MGCP流量检查,保障这个MGCP流量的安全,也是非常重要的一项安全措施。
默认情况下,这个流量检查是被禁用的。这主要是出于性能的考虑。因为对流量进行检查,势必会对数据流的传输造成负面的影响。故在启用这个检查之前,网络安全人员还需要评估,在安全与性能之间取得均衡。通常情况下,要使用MGCP语音协议至少需要用到两个端口,一个用于网关接受命令(默认采用的端口是2427),另外一个用于呼叫代理接收命令(默认使用的端口号是2727)。如果要启用MGCP流量检查的话,则需要同时在这两个端口上进行配置。其配置也很简单,只需要使用命令fixup protocol mgcp,后面加上具体的端口号即可。
笔者再次强调一下,当启用了MGCP流量检查之后,一定要对其性能进行评估。如果网络部署不合理,则启用这个功能后,IP语音电话的性能会有直线的下降,甚至出现语音电话比较长时间的延迟。所以启用后进行性能的评估,是非常有必要的。不要等到用户投诉后再去处理。
三、启用SCCP客户控制协议
SCCP,又叫做瘦客户端协议。顾名思义,它是普通客户端协议的简化版。这个协议主要用于思科呼叫管理器以及VoIP电话之间的通信。虽然这最早是思科开发设计的,不过现在其他公司的产品也有支持这个协议的。在VoIP解决方案中,这个可以简化终端机的操作,易于用户上手。
在需要启用对这个协议的应用检查之前,企业管理人员比需要了解一些前提条件。即如果将SCCP协议与NAT等技术一起使用的话,需要遵守一些限制条件。一是这个检查不支持分段的SCCP消息;二是不支持外部的NAT技术;三是要慎用命令debug skinny,其可能会导致信息延迟发送,在实时环境中对性能会产生一定的负面影响;四是不支持SCCP呼叫状态失效功能等等。注意只有对SCCP协议启用应用检查的时候,会有这么多的限制。而且只有将SCCP协议与NAT技术组合使用时才会有。而对于上面提到的其他协议,则没有这方面的规定。所以在实际工作中容易被技术人员所忽视。
默认情况下,这个应用检查是被启用的。用户可以使用命令fixup protocol skinny命令来更改分配给SCCP的缺省端口(缺省端口默认为2000)。在实际应用环境中,通过更改缺省端口也是一种提高其安全性的措施。在这个命令后面加上port选项就可以更改其默认的端口,使用-port选项则可以在一定的端口范围内来启用SCCP应用检查。
这个协议与上面谈到的几个协议有所区别。如在这个协议与NAT技术组合使用的情况下,启用SCCP应用检查的话,需要遵循一些限制条件。再如在配置命令的时候,其采用的关键字是skinny,而不是SCCP。像其他协议使用的关键字都是协议本身。这一点对于初学的人来说需要特别的强调一下。
另外当SCCP与NAT组合使用时,笔者顺便提一个跟安全无关的问题,但是其影响到VoIP的正常使用。当呼叫服务器的地址经过NAT服务器重定向到另外一个地址或者端口的时候,并且外部电话使用TFTP向其进行注册,则防火墙一般不支持使用TFTP简易文件传输协议来传输文件。也就是说,即使防火墙支持TFTP消息的NAT地址转换技术,并且TFTP协议数据流也可以通过防火墙,但是在电话注册时IP电话的配置文件不能够使用TFTP协议传输。因为防火墙通常情况下不能够解析IP电话的配置文件中嵌入的呼叫服务器的IP地址与端口。故笔者建议,在实际工作中如果没有充分必要的话,不要将SCCP瘦客户端协议与NAT网络技术转换技术同时使用。如果确实要使用的话,则这些安全与部属上的限制条件要牢记在心。在部属于设置完成之后,需要进行比较严格的测试,特别是要针对这些限制条件进行测试。
除了以上三个协议之外,VoIP应用中还涉及到SIP会话初始化协议等等。其原理跟这三个协议类似。出于安全的考虑,也需要启用应用检查。无论是什么协议,只要对其启用了流量检查,都需要评估启用了之后是否会对性能产生不利的影响。通常情况下,启用了之后肯定会造成性能的下降。不过企业网络部属方案与环境不同,其造成的影响也是不同的。所以管理员需要测试与评估,看其是否在用户能够忍受的范围之内。鱼与熊掌不能够兼得,用户还是需要在这两者当中进行选择。一般情况下,只要不影响到IP电话的通话效果,还是要启用为好。毕竟除了这个应用检查之外,现在还没有其他比较好的安全措施。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国