傳統防火墻分析
包過濾防火墻位于協議網絡層,按照網絡安全策略對IP包進行選擇,允許或拒絕特定的報文通過。 過濾一般是基于一個IP分組的有關域(IP源地址、IP目的地址、TCP/UDP源端口或服務類型和TCP/UDP目的端口或服務類型)進行的。 基于IP源/目的地址的過濾,即根據特定組織機構的網絡安全策略,過濾掉具有特定IP地址的分組,從而保護內部網絡; 基于TCP/UDP源/目的端口的過濾,因為端口號區分了不同的服務類型或連接類型(如SMTP使用端口25,Telnet使用端口23等), 所以為包過濾提供了更大的靈活性。同時由于它是位于協議的網絡層,所以效率較高; 但是該防火墻所依靠的安全參數僅為IP報頭的地址和端口信息,若要增加安全參數,增加對數據報文的處理,則勢必加大處理難度, 降低系統效率,故安全性較低。 同時一般的包過濾還具有泄露內部網的安全數據信息(如拓撲結構信息)和暴露內部主機的所有安全漏洞的缺點, 難以抵制IP層的攻擊行為。
應用層防火墻是由一個高層的應用網關作為代理服務器,接受外來的應用連接請求,進行安全檢查后, 再與被保護的網絡應用服務器連接, 使得外部服務用戶可以在受控制的前提下使用內部網絡的服務。另外內部網絡到外部的服務連接也可以受到監控。 應用網關的代理服務實體將對所有通過它的連接作出日志記錄,以便對安全漏洞進行檢查和收集相關的信息。 同時該實體可采取強認證技術, 能對數據內容進行過濾,保證信息數據內容的安全,防止病毒以及惡意的Java Applet或ActiveX代碼,具有較高的安全性; 但是由于每次數據傳輸都要經過應用層轉發,造成應用層處理繁忙,性能下降。
在對上述兩種防火墻技術分析的基礎上, 我們設計和開發了基于網絡地址轉換(Network Address Translator, NAT)的復合型防火墻系統, 它融合了代理技術的高性能和包過濾技術高效性的優點。
系統設計
NAT模塊依據一定的規則,對所有出入的數據包進行源與目的地址識別,并將由內向外的數據包中源地址替換成一個真實地址, 而將由外向內的數據包中的目的地址替換成相應的虛擬地址。
集中訪問控制(CAC)模塊負責響應所有指定的由外向內的服務訪問,通知認證訪問控制系統實施安全鑒別, 為合法用戶建立相應的連接, 并將這一連接的相關信息傳遞給NAT模塊,保證在后續的報文傳輸時直接轉發而無需控制模塊干預。
臨時訪問端口表及連接控制(TLTC)模塊通過監視外向型連接的端口數據動態維護一張臨時端口表, 記錄所有由內向外的連接的源與目的端口信息, 根據此表及預先配置好的協議集由連接控制模塊決定哪些連接是允許的而哪些是不允許的, 即根據所制定的規則(安全政策)禁止相應的由外向內發起的連接, 以防止攻擊者利用網關允許的由內向外的訪問協議類型做反向的連接訪問。
認證與訪問控制系統是防火墻系統的關鍵環節, 它按照網絡安全策略負責對通過防火墻的用戶實施用戶的身份鑒別和對網絡信息資源的訪問控制, 保證合法用戶正常訪問和禁止非法用戶訪問。
上述幾種技術都屬于網絡安全的被動防范技術,為了更有效的遏止黑客的惡意攻擊行為, 該防火墻系統采用主動防范技術--網絡監控技術。 網絡監控系統負責截取到達防火墻網關的所有數據包,對信息包報頭和內容進行分析, 檢測是否有攻擊行為,并實時通知系統管理員。
基于WEB的防火墻管理系統負責對防火墻系統進行遠程的管理和配置,管理員可在任何一臺主機上控制防火墻系統, 增加系統利用的靈活性 。


