防火墻及防火墻的滲透 昨日黃花版
以下的文章主要向大家描述的是成芝麻爛谷子之防火墻與防火墻的滲透,在實際操作中我們大家都知道防火墻不是萬能的,即使是經過精心配置的防火墻也抵擋不住隱藏在看似正常數據下的通道程序。
(一) 防火墻介紹
防火墻是一種功能,它使得內部網絡和外部網絡或Internet互相隔離,以此來保護內部網絡或主機。簡單的防火墻可以由Router,3 Layer Switch的ACL(access control list)來充當,也可以用一臺主機,甚至是一個子網來實現。復雜的可以購買專門的硬件防火墻或軟件防火墻來實現。
防火墻的功能有:
1、過濾掉不安全服務和非法用戶
2、控制對特殊站點的訪問
3、提供監視Internet安全和預警的方便端點
防火墻并不是萬能的,也有很多防火墻無能為力的地方:
1、防火墻防不住繞過防火墻的攻擊。比如,防火墻不限制從內部網絡到外部網絡的連接,那么,一些內部用戶可能形成一個直接通往Internet的連接,從而繞過防火墻,造成一個潛在的backdoor.惡意的外部用戶直接連接到內部用戶的機器上,以這個內部用戶的機器為跳板,發起繞過防火墻的不受限制的攻擊。
2、防火墻不是防毒墻,不能攔截帶病毒的數據在網絡之間傳播。
3、防火墻對數據驅動式攻擊也無能為力。
因此,我們不能過分依賴防火墻。網絡的安全是一個整體,并不是有某一樣特別出色的配置。網絡安全遵循的是“木桶原則”。
一般防火墻具備以下特點:
1、廣泛的服務支持:通過將動態的、應用層的過濾能力和認證相結合,可實現WWW瀏覽器、HTTP服務器、 FTP等;
2、對私有數據的加密支持:保證通過Internet進行虛擬私人網絡和商務活動不受損壞;
3、客戶端認證只允許指定的用戶訪問內部網絡或選擇服務:企業本地網與分支機構、商業伙伴和移動用戶間安全通信的附加部分;
4、反欺騙:欺騙是從外部獲取網絡訪問權的常用手段,它使數據包好似來自網絡內部。防火墻能監視這樣的數據包并能扔掉它們;
5、C/S模式和跨平臺支持:能使運行在一平臺的管理模塊控制運行在另一平臺的監視模塊。
讓我們來看看傳統的防火墻工作原理及優缺點:
1.(傳統的)包過濾防火墻的工作原理
包過濾是在IP層實現的,因此,它可以只用路由器完成。包過濾根據包的源IP地址、目的IP地址、源端口、目的端口及包傳遞方向等報頭信息來判斷是否允許包通過。過濾用戶定義的內容,如IP地址。其工作原理是系統在網絡層檢查數據包,與應用層無關,包過濾器的應用非常廣泛,因為CPU用來處理包過濾的時間可以忽略不計。而且這種防護措施對用戶透明,合法用戶在進出網絡時,根本感覺不到它的存在,使用起來很方便。這樣系統就具有很好的傳輸性能,易擴展。但是這種防火墻不太安全,因為系統對應用層信息無感知——也就是說,它們不理解通信的內容,不能在用戶級別上進行過濾,即不能識別不同的用戶和防止IP地址的盜用。如果攻擊者把自己主機的IP地址設成一個合法主機的IP地址,就可以很輕易地通過包過濾器,這樣更容易被黑客攻破。基于這種工作機制,包過濾防火墻有以下缺陷:
通信信息:包過濾防火墻只能訪問部分數據包的頭信息;
通信和應用狀態信息:包過濾防火墻是無狀態的,所以它不可能保存來自于通信和應用的狀態信息;
信息處理:包過濾防火墻處理信息的能力是有限的。
比如針對微軟IIS漏洞的Unicode攻擊,因為這種攻擊是走的防火墻所允許的80端口,而包過濾的防火墻無法對數據包內容進行核查,因此此時防火墻等同于虛設,未打相應patch的提供web服務的系統,即使在防火墻的屏障之后,也會被攻擊者輕松拿下超級用戶的權限。
包過濾防火墻的缺點和不足,可以在應用層解決。下面我們來看看應用層網關
2.應用網關
1、應用代理服務器(Application Gateway Proxy)
在網絡應用層提供授權檢查及代理服務。當外部某臺主機試圖訪問受保護網絡時,必須先在防火墻上經過身份認證。通過身份認證后,防火墻運行一個專門為該網絡設計的程序,把外部主機與內部主機連接。在這個過程中,防火墻可以限制用戶訪問的主機、訪問時間及訪問的方式。同樣,受保護網絡內部用戶訪問外部網時也需先登錄到防火墻上,通過驗證后,才可訪問。
應用網關代理的優點是既可以隱藏內部IP地址,也可以給單個用戶授權,即使攻擊者盜用了一個合法的IP地址,也通不過嚴格的身份認證。因此應用網關比報文過濾具有更高的安全性。但是這種認證使得應用網關不透明,用戶每次連接都要受到認證,這給用戶帶來許多不便。這種代理技術需要為每個應用寫專門的程序。
2、回路級代理服務器
即通常意義的代理服務器,它適用于多個協議,但不能解釋應用協議,需要通過其他方式來獲得信息,所以,回路級代理服務器通常要求修改過的用戶程序。
套接字服務器(Sockets Server)就是回路級代理服務器。套接字(Sockets)是一種網絡應用層的國際標準。當受保護網絡客戶機需要與外部網交互信息時,在防火墻上的套服務器檢查客戶的User ID、IP源地址和IP目的地址,經過確認后,套服務器才與外部的服務器建立連接。對用戶來說,受保護網與外部網的信息交換是透明的,感覺不到防火墻的存在,那是因為網絡用戶不需要登錄到防火墻上。但是客戶端的應用軟件必須支持 “Socketsified API”,受保護網絡用戶訪問公共網所使用的IP地址也都是防火墻的IP地址。
3、代管服務器
代管服務器技術是把不安全的服務如FTP、Telnet等放到防火墻上,使它同時充當服務器,對外部的請求作出回答。與應用層代理實現相比,代管服務器技術不必為每種服務專門寫程序。而且,受保護網內部用戶想對外部網訪問時,也需先登錄到防火墻上,再向外提出請求,這樣從外部網向內就只能看到防火墻,從而隱藏了內部地址,提高了安全性。
4、IP通道(IP Tunnels)
如果一個大公司的兩個子公司相隔較遠,通過Internet通信。這種情況下,可以采用IP Tunnels來防止Internet上的黑客截取信息,從而在Internet上形成一個虛擬的企業網。
5、網絡地址轉換器(NAT Network Address Translate)
當受保護網連到Internet上時,受保護網用戶若要訪問Internet,必須使用一個合法的IP地址。但由于合法Internet IP地址有限,而且受保護網絡往往有自己的一套IP地址規劃(非正式IP地址)。網絡地址轉換器就是在防火墻上裝一個合法IP地址集。當內部某一用戶要訪問Internet時,防火墻動態地從地址集中選一個未分配的地址分配給該用戶,該用戶即可使用這個合法地址進行通信。同時,對于內部的某些服務器如 Web服務器,網絡地址轉換器允許為其分配一個固定的合法地址。外部網絡的用戶就可通過防火墻來訪問內部的服務器。這種技術既緩解了少量的IP地址和大量的主機之間的矛盾,又對外隱藏了內部主機的IP地址,提高了安全性。
6、隔離域名服務器(Split Domain Name Server )
這種技術是通過防火墻將受保護網絡的域名服務器與外部網的域名服務器隔離,使外部網的域名服務器只能看到防火墻的IP地址,無法了解受保護網絡的具體情況,這樣可以保證受保護網絡的IP地址不被外部網絡知悉。
7、郵件技術(Mail Forwarding)
當防火墻采用上面所提到的幾種技術使得外部網絡只知道防火墻的IP地址和域名時,從外部網絡發來的郵件,就只能送到防火墻上。這時防火墻對郵件進行檢查,只有當發送郵件的源主機是被允許通過的,防火墻才對郵件的目的地址進行轉換,送到內部的郵件服務器,由其進行轉發。
應用網關是檢查所有應用層的信息包,并將檢查的內容信息放入決策過程,這樣安全性有所提高。然而,它們是通過打破客戶機/服務器模式實現的,每一個客戶機/服務器通信需要兩個連接:一個是從客戶端到防火墻,另一個是從防火墻到服務器。另外,每一個代理需要一個不同的應用進程,或一個后臺運行的服務程序,這樣如果有一個新的應用就必須添加對此應用的服務程序,否則不能使用該種服務,可伸縮性差。 基于這種工作機制,應用網關防火墻有以下缺陷:
連接限制:每一個服務需要自己的代理,所以可提供的服務數和伸縮性受到限制;
技術限制:應用網關不能為UDP、RPC及普通協議族的其他服務提供代理;
性能:實現應用網關防火墻犧牲了一些系統性能。
【編輯推薦】