现在流行的IP网络模型将网络通信进程分成了不同层面——这样让人更易于理解,部署和调试。不管是国际标准组织制定的7层模型,或是美国国防部开发的4层模型,都能让人更好地理解每一层面上运作的协议,对所有IP加密来说也都是必要的(包括VoIP)。
当然,在所有安全措施当中,多层次方法的效果最好。例如,你可能会为保护自己的家庭财产免遭盗贼毒手而实施一个多层次方法:在房子周围竖起篱笆,并锁上了篱笆的大门;在院子里养一条大狗
;又在门上和窗户上安装防盗锁;然后又安装了一套防盗报警系统;最后还把家里值钱的东西放在一个很隐秘的地方,以防万一有人可以绕过你以上所有安全措施并偷走值钱东西。
同样,要保护你的VoIP网络,最好的方法也是采取一种多层次安全机制,在潜在入侵者的攻击路线上尽可能多地制造各种障碍。
分离语音和数据网络
要建立一个安全的VoIP网络,首要的步骤就是将其从你的数据网络中独立出来。
然将所有网络集成到一起,可能在管理的简易性及协同工作方面更加理想,但并不安全。最好的选择是使用VLAN交换机将数据网络和语音网络从逻辑上分离开来——这意味着对数据网络进行的攻击将不会影响到你的VoIP系统。
要将VoIP网络从数据网络中分离出来,首先要将分离VLAN上的VoIP话机设为非路由的地址;然后禁止连接互联网的电脑与VoIP之间有任何交流;接下来还要使用存取控制列表(Access control lists)来阻止VLAN之间的通讯。
配备VoIP专用防火墙
对一个IP网络来说,边界保护通常意味着使用防火墙,但是一个老旧的防?星际遣皇屎蟅oIP网络的。你需要一个特别设计的防火墙,它得能识别和分析VoIP协议,能对VoIP的数据包进行深度检查,并能分析VoIP的有效载荷以便发现任何与攻击有关的蛛丝马迹。
如果你的VoIP部署使用了SIP协议(Session Initiation Protocol),那么防火墙就应当能执行下述操作:监控进出的SIP信息,以便发现应用程序层次上的攻击;支持TLS(传输层安全);执行基于SIP 的NAT以及介质端口管理;检测非正常的呼叫模式;记录SIP信息的详情,特别是未经授权的呼叫。
保护好VoIP网关
网关是数据进出VoIP网络的关键点,它会同时连接不同的网络,如IP网络和公共电话交换网(PSTN)。你应当在网关上使用授权机制以及存取控制,以便控制可通过VoIP系统拨打和接听电话,以及设定可以执行管理任务的不同人员权限等等。
锁闭网络物理层
对一个语音网络而言,限制对介质访问以及对VoIP服务器和端点访问非常重要。
那些对介质有存取权限的入侵者们,可能是接上了一台交换机或集线器,也可能是直接转接电缆,或是对无线通信进行接听——通过使用一个“嗅探器”软件来捕获包含语音数据及信号等信息在内的所有的数据包。然后他们可以使用类似VOMIT这样易用的工具来对数据进行重新整合,从而实现对会话的窃听,他们甚至可以对通讯过程进行修改,并将之运用于语音重放攻击之中。
要达到限制对介质访问或对VoIP服务器和端点访问的目的,你得先将所有呼叫服务器都存放在一个上锁的房间中,以对所有和服务器有关的接触进行控制;而后限制对终端的接触(包括硬电话机,安装在电脑中的“软电话机”程序),并将线缆埋设在墙体中的管道里以保证它们自身的安全;最后你还要谨慎选择无线AP的位置,限制无线交流,限制信号强度,使用屏蔽材料将无线信号尽量阻挡在建筑物之内。
用IPSec加密网络层
你可以使用IPSec加密来保护网络中的VoIP数据;如果攻击者穿越了你的物理层防护措施,并截获了VoIP数据包,他们也无法破译其中的内容。IPSec使用认证头以及压缩安全有效载荷来为IP传输提供认证性、完整性以及机密性。
VoIP上的IPSec使用隧道模式,对两头终端的身份进行保护。IPSec可以让VoIP通讯比使用传统的电话线更安全。
用TLS锁定会话层
你还可以使用TLS来保护VoIP会话,TLS使用的是数字签名和公共密钥加密,这意味着每一个端点都必须有一个可信任的、由权威CA认证的签名。或者你也可以通过一个内部CA(比如一台运行了认证服务的Windows服务器)来进行企业内部的通话,并经由一个公共CA来进行公司之外的通话。
用SRTP保护应用层
你可以使用“安全RTP(SRTP)”来对应用层的介质进行加密。RFC 3711定义了SRTP,让它可以提供信息认证、机密性、回放保护、阻止对RTP数据流的拒绝服务式攻击等安全机制。通过SRTP,你可以对无线网和有线网上的VoIP通讯进行有效的保护。
总结
基于IP网络及其协议的公共性质,使得VoIP天生就具备相对于传统电话网而言更易受到攻击的特质。不过,通过采取一个仔细规划的、多层次的VoIP网络防护措施,企业就可以让VoIP网络的安全程度赶上甚至是超过传统的电话系统。 |