網(wǎng)絡(luò )視頻會(huì )議如何安全地穿越防火墻
郭春雷
2003/12/15
近年來(lái),電子郵件、文本對話(huà)和即時(shí)信息等技術(shù)使得人們的聯(lián)系方式和信息交換發(fā)生了巨大的變化。同時(shí),隨著(zhù)Internet進(jìn)一步發(fā)展,人們也在尋找更加豐富、更多交互的方式進(jìn)行通信和協(xié)作。伴隨著(zhù)近年IP網(wǎng)寬帶業(yè)務(wù)的蓬勃發(fā)展,基于分組的多媒體通信系統標準H.323廣泛運用于視頻會(huì )議和IP電話(huà)中,但同時(shí)一些網(wǎng)絡(luò )沖突也突顯出來(lái)。比如當前一些網(wǎng)絡(luò )實(shí)體限制這樣端到端的分組(包)通過(guò),這些實(shí)體指的就是防火墻和網(wǎng)絡(luò )地址轉換器。
H.323簡(jiǎn)介
現在常用的網(wǎng)絡(luò )會(huì )議軟件和網(wǎng)絡(luò )電話(huà)軟件采用的是國際電信聯(lián)盟(ITU-T)制定的H.323協(xié)議族,其中包括H.225,H.245,Q.931等,另外還有IETF制定的SIP(會(huì )話(huà)啟動(dòng)協(xié)議)。SIP協(xié)議采用與http類(lèi)似的文本命令形式,而且協(xié)議比較簡(jiǎn)單,是未來(lái)網(wǎng)絡(luò )電話(huà)和即時(shí)通訊的方向。但由于H.323出現較早,已經(jīng)有很多商業(yè)應用,比如微軟的NetMeeting采用的就是比較成熟的H.323,另外中國的電信企業(yè)實(shí)施IP電話(huà)時(shí)也傾向于采用H.323協(xié)議。所以H.323還將會(huì )在長(cháng)時(shí)間內和SIP同時(shí)存在。
H.323標準定義了一個(gè)在基于分組的網(wǎng)絡(luò )上進(jìn)行靈活的、實(shí)時(shí)的、可交互的多媒體通信協(xié)議集。個(gè)人計算機能在包交換網(wǎng)絡(luò )(網(wǎng)際網(wǎng)和內部網(wǎng))和電路交換網(wǎng)絡(luò )上傳輸音頻,視頻和數據。
H.323網(wǎng)絡(luò )包括終端,網(wǎng)關(guān),網(wǎng)守(Gatekeeper)和多點(diǎn)控制單元(MCU)。
網(wǎng)守在局域網(wǎng)上監視所有在其區域內的H.323呼叫,它提供兩個(gè)主要的服務(wù):呼叫準入和地址解析。所有在此區內的H.323客戶(hù)端必須在網(wǎng)守的協(xié)助下開(kāi)始一個(gè)呼叫。另外,網(wǎng)守還可以根據當前可用帶寬決定是否允許客戶(hù)呼叫。
網(wǎng)關(guān)提供在異種網(wǎng)絡(luò )之間操作的能力,例如在包交換網(wǎng)絡(luò )和電話(huà)網(wǎng)之間,就需要有一個(gè)網(wǎng)關(guān)進(jìn)行協(xié)議和數據的轉換。
MCU(多點(diǎn)控制單元)提供多方的多媒體會(huì )議能力。它協(xié)調所有參與者的媒體通信能力,為端點(diǎn)提供音頻混合和視頻選擇(端點(diǎn)本身不能完成這個(gè)工作)。
下面我們以點(diǎn)到點(diǎn)的H.323通信為例說(shuō)明其通信過(guò)程。在此例中,我們用Alice和Bob作為H.323通信的兩個(gè)端點(diǎn)。Alice在防火墻的外側,Bob在防火墻的內側。
首先,Alice向Bob的H.323知名端口1720建立了一條連接。
然后,Bob和Alice在此連接上發(fā)送Q.931包。,在這些交換的數據包中,Bob和Alice發(fā)送動(dòng)態(tài)的端口用于建立H.245連接(即上圖CONNECT數據包中的H.245 Address)。
隨后,呼叫者根據在Q.931流中協(xié)商的臨時(shí)端口建立H.245連接。H.245處理所有的呼叫參數協(xié)商,例如所要用的編碼解碼算法等。一旦這些參數協(xié)商完畢,H.245會(huì )話(huà)開(kāi)始執行OpenLogicalChannel,這個(gè)過(guò)程為特定的媒體流(如音頻或視頻)發(fā)送傳輸者和發(fā)送者的RTP和RTCP地址和端口(即上圖OpenLogicalChannel和OpenLogicalChannelAck中的RTP及RTCP Address)。然后,這些媒體流就可以在兩個(gè)端點(diǎn)之間進(jìn)行傳輸,直到會(huì )話(huà)結束。
H.323通過(guò)防火墻和NAT的難點(diǎn)
大量應用動(dòng)態(tài)端口
通過(guò)防火墻可以限定進(jìn)出網(wǎng)絡(luò )的數據包類(lèi)型和流量(這種限定可以基于源IP地址、目的IP地址或端口號等包過(guò)濾規則)。而基于IP的語(yǔ)音和視頻通訊的H.323協(xié)議,要求終端之間使用IP地址和數據端口來(lái)建立數據通信通道。因此存在一個(gè)兩難境地:為了建立數據連接終端,必須隨時(shí)偵聽(tīng)外來(lái)的呼叫,而防火墻卻通常被配置來(lái)阻止任何不請自到的數據包通過(guò)。
即使網(wǎng)絡(luò )管理者打開(kāi)防火墻上的一個(gè)端口來(lái)接收呼叫建立數據包,例如1720端口,但IP語(yǔ)音和視頻通訊協(xié)議還要求打開(kāi)許多別的端口接收呼叫控制信息來(lái)建立語(yǔ)音和視頻通道。這些端口號事先并不知道,是動(dòng)態(tài)分配的,這也就是說(shuō),網(wǎng)絡(luò )管理者為了允許語(yǔ)音和視頻通訊,將不得不打開(kāi)防火墻上所有的端口,防火墻也就失去了存在的意義。由于網(wǎng)絡(luò )安全的原因,很少企業(yè)會(huì )讓他們的網(wǎng)絡(luò )防火墻如此開(kāi)放。
防火墻的網(wǎng)絡(luò )地址轉換
同時(shí),由于Internet快速膨脹,IPv4地址空間處于嚴重耗盡的境況。為解決這個(gè)問(wèn)題,人們設計出了網(wǎng)址轉換器(NAT)。網(wǎng)絡(luò )地址轉換分為傳統的網(wǎng)絡(luò )地址轉換和網(wǎng)絡(luò )地址端口轉換。目前,很多的網(wǎng)絡(luò )地址轉換都是通過(guò)防火墻來(lái)實(shí)現的。然而NAT后的IP語(yǔ)音和視頻設備僅有私有IP地址,這些地址在公眾網(wǎng)上是不可路由的。
傳統的網(wǎng)絡(luò )地址轉換機制允許一個(gè)組織在內部通信時(shí)使用一定范圍內的私有地址,當與外部通信時(shí)使用一個(gè)小的公共IP地址池。
另一種網(wǎng)絡(luò )地址轉換是網(wǎng)絡(luò )地址和端口轉換。這種轉換形式有一個(gè)內部地址,一個(gè)或多個(gè)外部地址,然后用端口號進(jìn)行區分。
NAT是置于兩網(wǎng)間的邊界,其功能是將外網(wǎng)可見(jiàn)的IP地址與內網(wǎng)所用的地址相映射,這樣,每一受保護的內網(wǎng)可重用特定范圍的IP地址(192.168.x.x),而這些地址是不用于公網(wǎng)的。從外網(wǎng)來(lái)的含公網(wǎng)地址信息的數據包先到達NAT,NAT使用預設好的規則(其組元包含源地址、源端口、目的地址、目的端口、協(xié)議)來(lái)修改數據包,然后再轉發(fā)給內網(wǎng)接受點(diǎn)。對于流出內網(wǎng)的數據包也須經(jīng)過(guò)這樣的轉換處理。
從安全性上來(lái)看,NAT提供了對外隱藏內網(wǎng)拓撲的一個(gè)手段,但也給H.323應用帶來(lái)巨大的麻煩。協(xié)議消息包一般不是放置在IP包頭,而是在特定區段中內嵌IP地址和端口號。這樣,如果使用NAT,協(xié)議里的IP和端口號不能指向正確的地方,從而導致通信不能正常進(jìn)行。
ASN.1編碼
H.323的大部分控制信息用ASN.1進(jìn)行編碼,這是一種非常復雜的編碼模式,相同版本的相同應用在連接相同的目的時(shí),會(huì )使用不同的選項,從而使相同成員在數據流中的偏移量不同。為了提取其中的有用信息(如內嵌的IP地址和端口號),需要對用ASN.1編碼過(guò)的數據包進(jìn)行仔細的解碼。
東軟NetEye防火墻在網(wǎng)絡(luò )視頻會(huì )議系統的安全解決方案
基于以上H.323的特性,目前絕大多數的防火墻是不支持H.323協(xié)議的,尤其是經(jīng)過(guò)網(wǎng)絡(luò )地址轉換(NAT)后的應用,即使支持,也不是很徹底。
為了使用戶(hù)網(wǎng)絡(luò )的H.323數據流能順利地通過(guò)NetEye防火墻,從而正常、安全地進(jìn)行網(wǎng)絡(luò )視頻等應用,東軟公司NeEye產(chǎn)品的研發(fā)人員專(zhuān)門(mén)對H.323協(xié)議進(jìn)行了詳細的分析和控制,有效地解決了當前防火墻和NAT帶來(lái)的連通問(wèn)題。
對ASN.1編碼的數據包進(jìn)行解碼
如前面所述,H.323的大部分控制信息,包括通信所使用的IP地址和端口號,都是用ASN.1進(jìn)行編碼。因此,為了得到這些有用的信息,NetEye防火墻針對ASN.1編碼后的數據進(jìn)行了詳細的解碼。
將網(wǎng)絡(luò )地址轉換應用到控制信息中
解碼H.323控制信息后,獲得通信所使用的內部私有IP地址和端口,根據NetEye防火墻上當前應用的網(wǎng)絡(luò )地址轉換規則,將H.323控制信息中的IP地址修改為轉換后的公網(wǎng)地址。這樣當被呼叫的終端收到呼叫建立(Call Setup)數據包后,會(huì )從該數據包控制信息中獲取呼叫端的IP地址,發(fā)現這個(gè)IP地址為一個(gè)公網(wǎng)IP地址,開(kāi)始發(fā)送音頻和視頻數據到這個(gè)IP地址,從而在NAT下實(shí)現正常的網(wǎng)絡(luò )視頻通信。
自動(dòng)打開(kāi)動(dòng)態(tài)分配的端口
由于NetEye防火墻能夠解碼經(jīng)過(guò)ASN.1編碼的H.323協(xié)議的數據包,并進(jìn)行詳細的分析,從而可以檢測H.323協(xié)議通信過(guò)程中動(dòng)態(tài)分配的一些端口。這樣做的結果是,在防火墻的規則中,只須打開(kāi)幾個(gè)H.323的知名的端口(如1718,1719,1720等),其它通信過(guò)程中動(dòng)態(tài)分配的端口在需要時(shí)NetEye防火墻會(huì )臨時(shí)打開(kāi),在不需要時(shí)馬上關(guān)閉。這樣就不用打開(kāi)所有大于1024的端口,增加了防火墻的安全性,而且也不受防火墻網(wǎng)絡(luò )地址轉換的影響。這也是基于狀態(tài)檢測的“流過(guò)濾”防火墻所具有的先天的優(yōu)勢和特性。
NetEye防火墻通過(guò)對網(wǎng)絡(luò )視頻會(huì )議系統的安全防護,很好地解決了日常私網(wǎng)和公網(wǎng)通信面臨的連通性、防火墻技術(shù)、NAT技術(shù)、高度安全等問(wèn)題,充分發(fā)揮了IP通信的諸多優(yōu)勢。

H.323通信過(guò)程
賽迪網(wǎng)
中國信息化(industry.ccidnet.com)
相關(guān)鏈接:
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩
五寨县|
陵川县|
九台市|
常德市|
梅州市|
威远县|
兴国县|
库尔勒市|
白水县|
林口县|
若尔盖县|
汽车|
茶陵县|
印江|
温泉县|
冀州市|
海城市|
苏尼特右旗|
婺源县|
黔江区|
遂川县|
文水县|
河北区|
高陵县|
毕节市|
射阳县|
北川|
湘潭市|
玛沁县|
顺昌县|
南京市|
祁东县|
滦平县|
天峨县|
天水市|
江永县|
昌黎县|
佳木斯市|
陆川县|
德格县|
夏河县|
http://444
http://444
http://444
http://444
http://444
http://444