VoIP安全的話(huà)題是非常重要的一個(gè)話(huà)題,對于FreeSWITCH系統來(lái)說(shuō)相當重要。安全策略包括主動(dòng)防御策略和被動(dòng)防守策略。在FreeSWITCH中,主動(dòng)防御策略包括對SIP和RTP實(shí)行多種類(lèi)型的加密技術(shù)來(lái)防止篡改和竊聽(tīng)通話(huà)。在FreeSWITCH中的被動(dòng)防守策略通過(guò)結合其他開(kāi)源的網(wǎng)絡(luò )工具來(lái)防止從未知道源地址過(guò)來(lái)的惡意的數據傳輸,防止網(wǎng)絡(luò )濫用和電話(huà)盜打。當用戶(hù)的系統是生成系統時(shí),非常必要使用一些開(kāi)源的VOIP工具配合FreeSWITCH工作。
這一章節我們分成四個(gè)部分來(lái)逐一介紹:
· 網(wǎng)絡(luò )的層次保護
· 撥號信令
· 保護語(yǔ)音
· 保護密碼
網(wǎng)絡(luò )的層次保護
大部分搞惡意攻擊的家伙使用開(kāi)放的網(wǎng)絡(luò )端口侵入到內部的VOIP網(wǎng)絡(luò )。他們查找比較弱的秘密來(lái)獲得軟件的bug,利用內部的設置來(lái)控制電話(huà)系統的配置和通話(huà)路由。最終目的是獲得電話(huà)盜打,通話(huà)竊聽(tīng),或竊取系統信息(例如郵箱的語(yǔ)音留言)。
因為網(wǎng)絡(luò )是用戶(hù)系統的入口,對用戶(hù)網(wǎng)絡(luò )的設置要格外小心,用戶(hù)可以利用FreeSWITCH的功能來(lái)進(jìn)一步保護系統。
分離接口和限制數據流量
在開(kāi)放的網(wǎng)絡(luò )中,SIP是經(jīng)常遭受惡意攻擊的一個(gè)技術(shù)。大部分情況下,那些攻擊者通過(guò)對5060端口發(fā)送UDP包來(lái)掃描IP地址段,然后查看服務(wù)器的響應。一旦他們發(fā)現了服務(wù)器端的響應,攻擊者將瘋狂測試通常使用的密碼然后呼出。在大部分環(huán)境中,攻擊者通過(guò)虛假注冊或其他數據包來(lái)攻擊服務(wù)器,導致服務(wù)器不能正常工作。
保護FreeSWITCH最簡(jiǎn)單的辦法是通過(guò)分離SIP接口,強制防火墻或IPTables路由表來(lái)支持不同的接口。
就像用戶(hù)在上一個(gè)章節學(xué)習的,FreeSWITCH 支持用戶(hù)在同一個(gè)系統中設置不同的Sofia SIP接口,通過(guò)不同的地址和端口來(lái)接收和發(fā)送SIP數據流量。通過(guò)這樣的設置可以增加額外的一層對安全性和穩定性的保護。
從安全的角度來(lái)看,Sofia SIP profiles配置了默認的contexts支持呼入的呼叫。那些contexts 可以默認支持嚴格限定的撥號規則。如果用戶(hù)把限定的contexts和保護工作和相關(guān)的SIP profile,用戶(hù)將嚴格限制某些人發(fā)送SIP盜打信息進(jìn)入到用戶(hù)系統,即使用戶(hù)偶然創(chuàng )建了錯誤的配置文件,也不會(huì )對系統安全造成很大影響。
另外,每個(gè)Sofia SIP profile 可以支持一個(gè)不同的ACL列表。通過(guò)這樣的方法,用戶(hù)可以配置更加嚴格的限制措施應對IP地址和一些控制不是非常嚴格的內網(wǎng)地址。
從穩定性和性能來(lái)說(shuō),已知的事實(shí)是,在FreeSWITCH設計中,每個(gè)Sofia SIP接口是一個(gè)分離的線(xiàn)程。這表示,每個(gè)線(xiàn)程可以有各自的端口和IP地址,如果有人用戶(hù)對系統干涉的話(huà),獨立的線(xiàn)程可以幫助用戶(hù)把這個(gè)干擾降低到最少程度。但是,這不是一個(gè)萬(wàn)無(wú)一失的方法來(lái)保護用戶(hù)系統,如果被攻擊時(shí),可能這樣的方法對用戶(hù)有所幫助。
舉例設置-簡(jiǎn)單方式
最簡(jiǎn)單的設置中,系統有一個(gè)接口,運營(yíng)商可以通過(guò)這個(gè)接口來(lái)連接到用戶(hù)端,對應另外一個(gè)接口,這個(gè)用戶(hù)電話(huà)可以輕松使用。大部分惡意的攻擊是通過(guò)端口掃描5060發(fā)現用戶(hù)正在這個(gè)端口接收和響應SIP數據流量。在這里,攻擊者會(huì )使用各種認證方式的組合來(lái)發(fā)現漏洞,直到發(fā)現一個(gè)生效的端口,或肆意不停測試那個(gè)端口。如果用戶(hù)使用ACL限定了這個(gè)IP地址,修改端口號碼為一個(gè)任意的端口,僅允許從運營(yíng)商來(lái)到呼入,用戶(hù)可立馬防止攻擊者訪(fǎng)問(wèn)系統,即使這個(gè)攻擊者獲得了正確的用戶(hù)名和密碼,也不會(huì )非常輕松地訪(fǎng)問(wèn)系統。
以下條例顯示用戶(hù)如何設置一個(gè)默認環(huán)境的FreeSWITCH系統:
另外一個(gè)辦法是,用戶(hù)使用特別的和非常不同的端口,這樣攻擊者可能非常困難對系統進(jìn)行攻擊。另外,用戶(hù)可以使用防火墻來(lái)限定一個(gè)僅支持運營(yíng)商的端口,開(kāi)放其他的端口給終端電話(huà)。
未完待續······