通過本文的httptunnel 技術同時逃過了防火墻的屏蔽以及系統的追蹤試驗,我們可以看到網絡安全僅僅依靠某種或某幾種手段是不可靠的,同時對安全系統的盲目性依賴往往會造成巨大的安全隱患。希望通過本文能引起管理員對網絡安全防護系統的思考。
什么是http暗藏通道
什么是局域網安全,系統管理員怎樣才能保障局域網的安全?這是一個不斷變化的安全概念,很長的一個時期以來,在局域網與外界互聯處放置一個防火墻,嚴格控制開放的端口,就能在很大程度上掌握安全的主動權,方便的控制網內外用戶所能使用的服務。比如,在防火墻上僅僅開放80,53兩個端口,那么無論是內部還是外面的惡意人士都將無法使用一些已經證明比較危險的服務。
但要注意一點,防火墻在某種意義上是很愚蠢的,管理員對防火墻的過分依賴以及從而產生的懈怠情緒將不可避免的形成安全上的重大隱患,作為一個證明,"通道"技術就是一個很好的例子,這也是本文要討論的。
那么什么是通道呢?這里所謂的通道,是指一種繞過防火墻端口屏蔽的通訊方式。防火墻兩端的數據包封裝在防火墻所允許通過的數據包類型或是端口上,然后穿過防火墻與對端通訊,當封裝的數據包到達目的地時,再將數據包還原,并將還原后的數據包交送到相應的服務上。舉例如下:
A主機系統在防火墻之后,受防火墻保護,防火墻配置的訪問控制原則是只允許80端口的數據進出,B主機系統在防火墻之外,是開放的。現在假設需要從A系統Telnet到B系統上去,怎么辦?使用正常的telnet肯定是不可能了,但我們知道可用的只有80端口,那么這個時候使用Httptunnel通道,就是一個好的辦法,思路如下:
在A機器上起一個tunnel的client端,讓它偵聽本機的一個不被使用的任意指定端口,如1234,同時將來自1234端口上的數據指引到遠端(B機)的80端口上(注意,是80端口,防火墻允許通過),然后在B機上起一個server,同樣掛接在80端口上,同時指引80端口的來自client的轉發到本機的telnet服務端口23,這樣就ok了。現在在A機上telnet本機端口1234,根據剛才的設置數據包會被轉發到目標端口為80的B機,因為防火墻允許通過80端口的數據,因此數據包暢通的穿過防火墻,到達B機。此時B機在80端口偵聽的進程收到來自A的數據包,會將數據包還原,再交還給telnet進程。當數據包需要由B到A返回時,將由80端口再回送,同樣可以順利的通過防火墻。
實際上tunnel概念已經產生很久了,而且很有可能讀者使用過類似的技術,比如下面的網址http://www.http-tunnel.com。它是一個專業提供tunnel服務的公司,通過他們的在線tunnel server,局域網內的用戶可以使用被防火墻所屏蔽的ICQ,E-MAIL,pcanywhere, AIM,MSN, Yahoo,Morpheus,Napster等等諸多軟件。


