VoIP

本章节包含两个主要部分:

VoIP 概述

VoIP 设置

VoIP 概述

本节提供 VoIP 的概述,包含以下章节:

什么是 VoIP?

VoIP 安全性

VoIP 协议

SonicWALL 的 VoIP 功能

什么是 VoIP?

IP 语音 (VoIP) 是一组技术的总称,利用这些技术,语音流量可通过 Internet 协议 (IP) 网络传输。VoIP 将音频呼叫的语音流转换为数据包,而不是公用电话交换网 (PSTN) 使用的传统模拟电路切换语音通信。

VoIP 将语音电话和数据合并为单一集成 IP 网络系统,是网络与电信融合的主要推动力量。VoIP 最重要的作用是节省公司成本,它消除了昂贵的冗余基础设施和电信服务使用费,同时也提供增强的管理特性和呼叫服务功能。

VoIP 安全性

公司实施 VoIP 技术可以降低通信成本,并将企业语音服务扩展到分布于各地的团队,但语音与数据网络的融合也会带来安全风险。VoIP 安全性和网络完整性是任何 VoIP 部署的必要部分。

一方面,VoIP 继承了当今数据网络饱受折磨的安全威胁,另一方面,VoIP 作为一项应用添加到网络上使得这些威胁更加危险。VoIP 组件的添加,给网络安全性提出了新的要求。

VoIP 包括一系列复杂标准,这就为软件实现中的缺陷和漏洞敞开了大门。困扰现有每一种操作系统和应用程序的各类缺陷和漏洞,同样适用于 VoIP 设备。当今许多 VoIP 呼叫服务器和网关设备是基于易受攻击的 Windows 和 Linux 操作系统而构建。

VoIP 防火墙要求

VoIP 比基于 TCP/UDP 的标准应用程序更复杂。VoIP 信令和协议非常复杂,并且防火墙通过网络地址转换 (NAT) 修改源地址和源端口信息时还会引入不一致性,因此 VoIP 难以有效穿越标准防火墙。下面是几个原因。

VoIP 采用两个单独的协议工作 - 一个信令协议(客户端与 VoIP 服务器之间)和一个媒体协议(客户端之间)。媒体协议 (RTP/RTCP) 用于各个会话的端口/IP 地址对由信令协议动态协商。防火墙需要动态跟踪并维护此信息,为会话安全打开选定的端口,并在适当的时候关闭端口。

多个媒体端口通过信令会话动态协商 - 媒体端口的协商包含在信令协议的有效负载中(IP 地址和端口信息)。防火墙需要对每个数据包执行深层检查以获取信息,并动态维持会话,因而需要额外的防火墙处理。

源和目标 IP 地址嵌入 VoIP 信令数据包中 - 支持 NAT 的防火墙在数据包的 IP 头级别转换 IP 地址和端口。完全对称的 NAT 防火墙会频繁调整其 NAT 绑定,并且可能任意关闭针孔,使得入站数据包无法传入其所保护的网络,因而服务提供商将无法向客户发送入站呼叫。为了有效支持 VoIP,NAT 防火墙有必要在数据包穿越防火墙时,执行深层数据包检查并转换其嵌入的 IP 地址和端口信息。

不同 VoIP 系统使用不同的消息格式,防火墙需要处理包含各种消息格式的信令协议套件 - 两家供应商使用相同的协议套件,并不意味着其系统能够互操作。

为了克服复杂的 VoIP 和 NAT 带来的众多障碍,供应商们提供会话边界控制器 (SBC)。SBC 位于防火墙的 Internet 端,试图通过终止并重新发起所有 VoIP 媒体和信令流量来控制 VoIP 网络的边界。对于不支持 VoIP 的防火墙,SBC 本质上充当 VoIP 流量的代理。Dell SonicWALL 网络安全设备是支持 VoIP 的防火墙,因而网络上无需 SBC。

注 只要 VoIP 应用程序符合 RFC 标准,所有可运行 SonicOS 6.1 的 Dell SonicWALL 设备上都支持 VoIP。

VoIP 协议

VoIP 技术基于两个主要协议:H.323 和 SIP。

H.323

H.323 是国际电信联盟 (ITU) 制定的一项标准。它是一个全面的协议套件,适用于计算机、终端、网络设备、网络服务之间的语音、视频及数据通信。H.323 旨在支持用户通过私有 IP 网络和 Internet 等无连接数据包切换网络进行点到点多媒体通话。H.323 受到视频会议设备、VoIP 设备、Internet 电话软件和设备的制造商广泛支持。

H.323 信令采用 TCP 和 UDP 的结合,消息编码采用 ASN.1。H.323v1 于 1996 年发布,H.323v5 于 2003 年发布。作为一项古老的标准,H.323 为许多早期 VoIP 供应商所接受。

H.323 网络由四类不同的实体组成:

终端 - 用于多媒体通信的客户端点。例如,支持 H.323 的 Internet 电话或 PC。

网关守卫 - 执行服务以完成呼叫建立和拆卸,并注册 H.323 终端进行通信。包含:

– 地址转换

– 注册、许可控制和状态 (RAS)

– Internet 定位服务 (ILS) 也属于此类(但它不是 H.323 的一部分)。ILS 使用 LDAP(轻型目录访问协议),而非 H.323 消息。

多点控制单元 (MCU) - 用于终端间多点通信的会议控制和数据分配。

网关 - H.323 网络与其它通信服务(如电路切换公用电话交换网 (PSTN) 等)之间的互操作。

SIP

会话发起协议 (SIP) 标准由 Internet 工程任务组 (IETF) 制定。RFC 2543 发布于 1999 年 3 月。RFC 3261 发布于 2002 年 6 月。SIP 是一种用于发起、管理、终止会话的信令协议。SIP 支持“存在”和移动性,可在用户数据报协议 (UDP) 和传输控制协议 (TCP) 上运行。

使用 SIP,VoIP 客户端可以发起和终止呼叫会话,邀请成员加入会议会话,以及执行其它电话任务。SIP 还支持专用交换机 (PBXs)、VoIP 网关和其它通信设备以标准化协作方式通信。SIP 的另一个设计目的是避免像 H.323 那样产生繁重的开销。

SIP 网络由如下逻辑实体组成:

用户代理 (UA) - 发起、接收、终止呼叫。

代理服务器 - 代表 UA 转发或响应请求。代理服务器可将请求发送给多个服务器。背靠背用户代理 (B2BUA) 是一类代理服务器,它将通过其中的呼叫的每一段视为两个不同的 SIP 呼叫会话:一个是它与主叫方之间的会话,另一个是它与被叫方之间的会话。其它代理服务器则将同一呼叫的所有段视作单一 SIP 呼叫会话。

重定向服务器 - 响应请求但不转发请求。

注册服务器 - 处理 UA 身份验证和注册。

SonicWALL 的 VoIP 功能

下面几节说明 SonicWALL 的集成 VoIP 服务:

VoIP 安全性

VoIP 网络

VoIP 网络互操作性

支持的 VoIP 协议

SonicOS 如何处理 VoIP 呼叫

VoIP 安全性

流量合法性 - 对穿越防火墙的每一个 VoIP 信令和媒体数据包进行状态检查,确保流量合法。设计数据包来利用实现方案中的漏洞,以在目标设备中引起缓冲区溢出等后果,是许多攻击者的首选攻击方式。Dell SonicWALL 网络安全设备能够检测并丢弃畸形和无效的数据包,使之无法到达目标设备。

VoIP 协议的应用层保护 - 通过 SonicWALL 防入侵服务 (IPS) 实现全面的应用级别 VoIP 保护 。IPS 集成一个可配置的高性能扫描引擎和一个动态更新并设置的攻击与漏洞签名数据库,可防范复杂的特洛伊木马和多态病毒对网络的威胁。SonicWALL 利用一系列 VoIP 专用签名扩展其 IPS 签名数据库,从而阻止恶意流量到达受保护的 VoIP 电话和服务器。

DoS 和 DDoS 攻击防御 - 防范 DoS 和 DDoS 攻击,如同步洪流 (SYN Flood)、乒死 (Ping of Death) 和 LAND (IP) 攻击等,这些攻击旨在禁用网络或服务。

– 利用 TCP 审核 VoIP 信令数据包的顺序,阻止窗口以外的无序和重新传输的数据包。

– 使用随机化 TCP 序列号(由加密随机数发生器在连接建立期间产生)审核各 TCP 会话中的数据流,防范重放和数据插入攻击。

– 利用同步洪流防御确保攻击者无法通过开启许多 TCP/IP 连接(这些连接无法完全建立,原因一般是其使用欺骗性源地址)来淹没服务器。

• 状态监控 - 状态监控确保数据包(即使其本身看起来有效)与其相关 VoIP 连接的当前状态相称。

加密 VoIP 设备支持 - SonicWALL 支持能够利用加密来保护 VoIP 对话中的媒体交换的 VoIP 设备,或不支持加密媒体但利用 IPsec VPN 来保护 VoIP 呼叫的安全 VoIP 设备。

应用层保护 - SonicWALL 通过 SonicWALL 防入侵服务 (IPS) 提供全面的应用级别 VoIP 保护。SonicWALL IPS 基于一个可配置的高性能深层数据包检查引擎,可为关键网络服务,包括 VoIP、Windows 服务和 DNS 等提供增强的保护。SonicWALL 的深层数据包检查引擎使用可扩展签名语言,还能主动防护新发现的应用程序和协议的漏洞。利用不同的签名粒度,SonicWALL IPS 可以基于全球、攻击组或单个签名来检测和防御攻击,提供最大的灵活性并控制误报。

VoIP 网络

无线局域网 (WLAN) 上的 VoIP - SonicWALL 利用分布式无线解决方案将全部 VoIP 安全性扩展到相连的无线网络。与 SonicWALL 背后的有线网络相连的 VoIP 设备所具有的全部安全特性,使用无线网络的 VoIP 设备同样拥有。

注 SonicWALL 的安全无线解决方案包括必要的网络支持手段,可将安全 VoIP 通信扩展到无线网络。欲了解详细信息,请参阅 Dell SonicWALL 网站 http://www.sonicwall.com 上提供的“Dell SonicWALL 安全无线网络集成解决方案指南”。

带宽管理 (BWM) 和 服务质量 (QoS) - 带宽管理(入口和出口)可用来确保有带宽可用于时间敏感的 VoIP 流量。BWM 集成到 SonicWALL 服务质量 (QoS) 特性中,提供对某些类型应用至关重要的预测能力。

WAN 冗余和负载均衡 - WAN 冗余和负载均衡允许一个接口充当辅助 WAN 端口。此辅助 WAN 端口可用于简单的主动/被动设置,仅当主要 WAN 端口关闭或不可用时,流量才会通过辅助端口路由。基于目标拆分流量的路由,可以实现负载均衡。

高可用性 - 高可用性由 SonicOS 的高可用性来保障,即使发生系统故障,也能确保可靠、连续的连接。

VoIP 网络互操作性

VoIP 设备的即插即保护支持 - SonicOS 能够自动处理 VoIP 设备的增加、更改和移除,确保没有一个 VoIP 设备不受保护。利用先进的监控和跟踪技术,一旦有 VoIP 设备插入防火墙背后的网络,就会自动将其保护起来。

对所有 VoIP 信令数据包进行全面的语法审核 - 接收到的信令数据包会在 SonicOS 中进行全面的解析,确保其符合相关标准定义的语法。通过执行语法审核,防火墙可确保畸形数据包无法通过,防止其对目标设备产生有害影响。

支持动态建立和跟踪媒体流 - SonicOS 跟踪每个 VoIP 呼叫,从请求建立呼叫的第一个信令数据包从呼叫结束时。只有基于成功的呼叫进度,主叫方与被叫方之间才会开启更多端口(用于其它信令和媒体交换)。

作为呼叫建立的一部分而协商的媒体端口由防火墙动态分配。后续呼叫,即使在相同的各方之间,也会使用不同的端口,从而挫败可能正在监控特定端口的攻击者。要求的媒体端口仅在呼叫完全连接时开启,并在呼叫终止时关闭。试图使用呼叫范围以外端口的流量会被丢弃,从而为防火墙背后的 VoIP 设备提供额外的保护。

审核所有媒体数据包的标头 - SonicOS 检查并监控媒体数据包内的标头,允许检测和丢弃无序和重新传输的数据包(窗口以外)。此外,通过确保有效标头存在,可以检测并丢弃无效的媒体数据包。通过跟踪媒体流和信令,SonicWALL 为整个 VoIP 会话提供保护。

信令和媒体的可配置不活动超时 - 为确保丢弃的 VoIP 连接不会无限期保持开启,SonicOS 监控 VoIP 会话相关的信令和媒体流的使用。空闲时间超过所配置的超时时间的流会被关闭,防止潜在的安全漏洞。

SonicOS 允许管理员控制来电 - SonicOS 要求所有来电都由 H.323 网关守卫或 SIP 代理授权并进行身份验证,以便阻止未经授权的来电和垃圾电话。这样,管理员便可确保 VoIP 网络仅用于公司授权的那些呼叫。

全面的监控和报告 - 针对所有支持的 VoIP 协议,SonicOS 提供许多监控和故障排除工具:

– 活动 VoIP 呼叫的动态实时报告,显示主叫方和被叫方以及所用的带宽。

– 所有 VoIP 呼叫的审核日志,显示主叫方和被叫方、通话时长以及所用的总带宽。记录看到的异常数据包(例如不良响应),详细显示相关各方和看到的状况。

– 详细的 syslog 报告以及 VoIP 信令和媒体流的 ViewPoint 报告。SonicWALL ViewPoint 是一个基于 Web 的图形化报告工具,它根据从防火墙收到的 syslog 数据流,提供关于安全和网络活动的详尽细致的报告。几乎可以针对防火墙活动的任何方面产生报告,包括各用户或组的使用模式、特定防火墙或各组防火墙上发生的事件、攻击的类型和时间、资源消耗和限制等。

支持的 VoIP 协议

Dell SonicWALL 网络安全设备支持下列协议的转换。

H.323

SonicOS 为 H.323 提供如下支持:

• 支持运行 H.323 所有版本(目前为 1 至 5)的 VoIP 设备

• Microsoft 基于 LDAP 的 Internet 定位服务 (ILS)

• LAN H.323 终端使用多播发现网关守卫

• 网关守卫注册、许可和状态 (RAS) 消息的状态监控与处理

• 支持对媒体流进行加密的 H.323 终端

• DHCP 选项 150。DHCP 服务器可配置为向 DHCP 客户端返回 VoIP 专用 TFTP 服务器的地址

• 除了支持 H.323 以外,SonicOS 还支持采用如下附加 ITU 标准的 VoIP 设备:

– T.120,用于应用程序共享、电子白板、文件交换和聊天

– H.239,允许通过多个信道传输音频、视频和数据

– H.281,用于远端摄像机控制 (FECC)

SIP

SonicOS 为 SIP 提供如下支持:

– SIP 基础标准(RFC 2543 和 RFC 3261)

– SIP INFO 方法 (RFC 2976)

– SIP 中临时响应的可靠性 (RFC 3262)

– SIP 专用事件通知 (RFC 3265)

– SIP UPDATE 方法 (RFC 3311)

– SIP 服务器的 DHCP 选项 (RFC 3361)

– SIP 即时消息扩展 (RFC 3428)

– SIP REFER 方法 (RFC 3515)

– SIP 对称响应路由扩展 (RFC 3581)

SonicWALL VoIP 供应商互操作性

下面是领先制造商制造的能够与 SonicWALL VoIP 互操作的部分设备列表。

H.323

SIP

软件电话:

Avaya
Microsoft NetMeeting
OpenPhone
PolyCom
SJLabs SJ Phone

电话/可视电话:

Avaya
Cisco
D-Link
PolyCom
Sony

 

网关守卫:

Cisco
OpenH323 Gatekeeper

 

网关:

Cisco

软件电话:

Apple iChat
Avaya
Microsoft MSN Messenger
Nortel Multimedia PC Client
PingTel Instant Xpressa
PolyCom
Siemens SCS Client SJLabs
SJPhone
XTen X-Lite
Ubiquity SIP User Agent

电话/ATA:
Avaya
Cisco
Grandstream BudgetOne
Mitel
Packet8 ATA
PingTel Xpressa PolyCom
PolyCom
Pulver Innovations WiSIP
SoundPoint

 

SIP 代理/服务:

Cisco SIP Proxy Server
Brekeke Software OnDo SIP Proxy
Packet8
Siemens SCS SIP Proxy
Vonage

编解码器

SonicOS 支持来自任何编解码器的媒体流 - 媒体流携带已被 VoIP 设备内的硬件/软件编解码器(编码器和解码器)处理的音频和视频信号。编解码器利用编码和压缩技术减少表示音频/视频信号所需的数据量。编解码器的一些示例如下:

• H.264、H.263 和 H.261(视频)

• MPEG4、G.711、G.722、G.723、G.728、G.729(音频)

SonicOS 不执行深层数据包检查的 VoIP 协议

Dell SonicWALL 网络安全设备目前不支持下列协议的深层数据包检查,因此,这些协议只应用在非 NAT 环境下。

• H.323 或 SIP 的专有扩展

• MGCP

• Megaco/H.248

• Cisco 瘦小客户端控制协议 (SCCP)

• IP-QSIG

• 专有协议(Mitel MiNET、3Com NBX 等)

SonicOS 如何处理 VoIP 呼叫

SonicOS 为所有 VoIP 呼叫情况提供高效且安全的解决方案。下面是 SonicOS 如何处理 VoIP 呼叫流程的一些例子。

来电

下图显示了来电期间发生的事件顺序。

Incoming_Calls.jpg

 

下面说明上图所示的事件顺序:

1. 电话 B 在 VoIP 服务器中注册 - 防火墙通过监控传出的 VoIP 注册请求,建立可接入 IP 电话的数据库。SonicOS 在电话 B 的私有 IP 地址和注册消息中使用的防火墙公共 IP 地址之间进行转换。VoIP 服务器不知道电话 B 位于防火墙之后并有一个私有 IP 地址,它将防火墙的公共 IP 地址与电话 B 关联。

2. 电话 A 发起对电话 B 的呼叫 - 电话 A 使用电话号码或别名发起对电话 B 的呼叫。发送此信息到 VoIP 服务器时,它还会提供有关其支持的媒体类型和格式的详细信息,以及对应的 IP 地址和端口。

3. VoIP 服务器审核呼叫请求并向电话 B 发送请求 - VoIP 服务器向防火墙的公共 IP 地址发送呼叫请求。当它到达防火墙时,SonicOS 验证请求的来源和内容。然后,防火墙确定电话 B 的私有 IP 地址。

4. 电话 B 振铃并接听 - 当电话 B 接听时,它会返回信息到 VoIP 服务器,告知其支持的媒体类型和格式,以及对应的 IP 地址和端口。SonicOS 转换此私有 IP 信息以使用防火墙的公共 IP 地址,并将消息传送到 VoIP 服务器。

5. VoIP 服务器将电话 B 的媒体 IP 信息返回到电话 A - 电话 A 现在拥有足够信息来开始与电话 B 交换媒体。电话 A 不知道电话 B 位于防火墙之后,因为它得到的是 VoIP 服务器提供的防火墙公共地址。

6. 电话 A 和电话 B 通过 VoIP 服务器交换音频/视频/数据 - 利用内部数据库,SonicOS 确保媒体仅来自电话 A,并且仅使用电话 B 允许的特定媒体流。

本地呼叫

下图显示了本地 VoIP 呼叫期间发生的事件顺序。

Local_Calls.jpg

 

下面说明上图所示的事件顺序:

1. 电话 A 和电话 B 在 VoIP 服务器中注册 - 防火墙通过监控传出的 VoIP 注册请求,建立可接入 IP 电话的数据库。SonicOS 在电话的私有 IP 地址和防火墙公共 IP 地址之间进行转换。VoIP 服务器不知道电话位于防火墙之后。它将同一 IP 地址与这两部电话关联,但端口号不同。

2. 电话 A 通过向 VoIP 服务器发送一个请求来发起对电话 B 的呼叫 - 即使它们位于同一防火墙之后,电话 A 也不知道电话 B 的 IP 地址。电话 A 使用电话号码或别名发起对电话 B 的呼叫。

3. VoIP 服务器审核呼叫请求并向电话 B 发送请求 - VoIP 服务器向防火墙的公共 IP 地址发送呼叫请求。然后,防火墙确定电话 B 的私有 IP 地址。

4. 电话 B 振铃并接听 - 当电话 B 接听时,防火墙转换其私有 IP 信息以使用防火墙的公共 IP 地址,并将消息传送到 VoIP 服务器。

5. VoIP 服务器将电话 B 的媒体 IP 信息返回到电话 A - 消息中的被叫方和主叫方信息均被 SonicOS 转换回电话 A 和电话 B 的私有地址和端口。

6. 电话 A 和电话 B 直接交换音频/视频/数据 - 防火墙在这两部电话直接通过 LAN 直接路由流量。两部电话直连可降低发送数据到 VoIP 服务器的带宽要求,并且无需防火墙执行地址转换。

For information on setting up VOIP, see 配置 SonicWALL VoIP 功能.