每種防火墻實現方案都面臨著諸如應用層復雜性和性能及價格等方面的問題。還有數據加密的問題,或多或少都有,只不過有些比較明顯而已。
顯然,如果通話數據被加密的話防火墻是沒法對數據進行檢查的。而基于代理的防火墻可能可以繞過這個問題,但同時又造成其他的安全隱患,因為此類防火墻位于通話兩端的信號和媒體流之間,通話方會“認為”他們已經和對方建立了直接的安全對話,但實際上他們只是和防火墻建立了安全會話,因此基于代理的防火墻實際上有著潛在的不安全因素。
應用層的復雜性又是另一個問題。有些基于代理的防火墻自詡其有強大的檢查校驗數據報SIP正確性的能力,但我們恐怕不能盡信其言。SIP是一個極端復雜的協議,涉及到60多個RFC和標準草案,僅僅是準確實現這些紛繁的特性和功能就足夠把這些防火墻廠商壓得喘不過氣來。
SIP還具有極強的擴展性,許多廠商在此基礎上進行了很多專有的擴展,如果沒有這些廠商的支持的話是幾乎不可能對其功能和正確性進行檢查的,所以在購買此類產品之前建議進行認真細致的試用和評估。
絕大多數防火墻廠商的產品只實現了一小部分SIP的RFC和標準草案,而且廠商對這類事實一般都秘而不宣,顯然,如果公布他們的產品具體實現了哪些RFC不就直接暴露了他們產品在SIP支持方面的局限性了嗎?
然而SIP也僅僅只是眾多IP電話協議中的一個而已。Nortel、Avaya和Cisco在連接電話終端和他們的IP PBX時都使用了其專有的基于H.323協議的變種協議。目前市場上有許多H.323協議的變種,媒體網關控制協議(MGCP和MEGACO)也不例外。為了進行企業電話客戶端和這些IP PBX的安全防護,對防火墻來說支持這些專有H.323變種協議就顯得相當重要。比如Check Point的安全解決方案主管Sharon Besser就說他們的Check Point防火墻同時支持Pingtel、Nortel和其他設備廠商的專有擴展協議。
然而,僅僅只是能支持這些協議還遠遠不夠,網絡管理員還非常重視防火墻部署時的簡易性。美國勞倫斯.利弗莫爾國家實驗室安全應急主管Jon Diaz就說過:“我研究過DPI的實現,但問題是要具有很多相關的專業知識才可能弄明白整個配置過程?!?/FONT>
放棄防火墻?
由于目前沒有任何一個防火墻方案能完美地解決VoIP安全問題,因此有些安全專家認為在應用層這個級別可能最好的處理辦法就是完全放棄防火墻。RTFM安全咨詢公司的主管兼傳輸層安全(TLS)工作小組副主席Eric Rescorla認為防火墻并不是像想象的那么好,“看看電子郵件蠕蟲是如何突破防火墻的吧”,他說。
Dynamicsoft公司的CTO和SIP創建者之一Jonathan Rosenberg也贊同這種觀點,他在一封電子郵件里寫道“防火墻廠商必須要非常熟悉SIP和其他IP電話協議,這樣才能保證他們產品的質量,而實際上他們做不到這一點,結果就是當一個新的應用或協議出現時,在部署它們的時候你不得不尋求廠商的幫助。這種情況就完全體現不出網絡的主要好處?!?
Rosenberg建議采用一種新的模式,即防火墻不用理會SIP和其他應用層協議。他說現在一些客戶端技術如簡單UDP穿越NAT協議(STUN)、交互式連通建立方式(ICE)、通過中繼方式穿越NAT技術(TURN)使得防火墻不需要處理SIP就能讓IP通話穿過防火墻。這些協議和技術為客戶端獲取NAT和防火墻所使用的外部傳輸層地址提供了途徑,這樣SIP客戶端就能在會話描述協議(SDP)中規定的數據報域內加入外部地址,使得回來的數據報能被導向正確的地址。
Rosenberg相信那些開發基于SIP的應用的開發人員會比較傾向于支持該協議,而網絡管理員就不一定了。過去的經驗表明安全問題從來都是很棘手的,開發人員并不總是愿意或者說并不總是有能力在開發的時候完全解決安全問題。而從CERT和NISCC發布的安全報告來看,我們也沒什么理由期待SIP開發人員會與眾不同。
企業部署VoIP防火墻十分必要
盡管當今絕大多數公司的VoIP網絡都是不對外開放的,但仍然有必要在企業內部部署VoIP防火墻。越來越多的攻擊開始從VoIP網絡內部發起,對此進行防衛是必不可少的,作為對策,第一步可以將所有網絡語音數據隔離在虛擬局域網中,與此同時在可信任的域內部署代理和網閘同樣很重要。
對于帶DPI的全狀態檢測防火墻,部署過程是一個在不受信任的網絡和受信任的企業之間的隔離帶里的防火墻端口上安裝SIP代理的過程。而實現了SIP背對背用戶代理的防火墻則有所不同,因為它們的功能類似代理服務器,用戶代理(User Agent)可以在上面注冊。這類防火墻可以和全狀態檢測防火墻一起部署在隔離帶中,只要使用不同的端口即可,或者單獨部署在公司網絡的其他地方。
除了技術實現細節之外,網絡管理員也要留意協議問題。由于絕大多數IP PBX在和其他設備終端連接時使用了專有協議和SIP或H.323中繼,所以在部署時很可能需要廠商的直接支持。