防火牆設計中的一些重點問題(2)(轉)

amyz發表於2007-08-13
防火牆設計中的一些重點問題(2)(轉)[@more@]

  4.透明性

  防火牆的透明性指防火牆對於使用者是透明的,在防火牆接入網路時,網路和使用者無需做任何設定和改動,也根本意識不到防火牆的存在。

  防火牆作為一個實際存在的物理裝置,要想放入已存在地網路中又不對網路有任何影響,就必須以網橋的方式置入網路。傳統方式下,防火牆安裝時,更象是一臺路由器或者閘道器,原有網路拓撲結構往往需要改變,網路裝置(包括主機和路由器)的設定(IP和閘道器、DNS、路由表等等)也需要改變。但如果防火牆採用了透明模式,即採用類似網橋的方式執行,使用者將不必重新設定和修改路由,也不需要知道防火牆的位置,防火牆就可以直接安裝和放置到網路中使用。

  透明模式最大的好處在於現有網路無需做任何改動,這就方便了很多客戶,再者,從透明模式轉換到非透明模式又很容易,適用性顯然較廣。當然,此時的防火牆僅僅起到一個防火牆的作用,其他閘道器位置的功能如NAT、VPN功能不再適用,當然,其他功能如透明代理還可以 繼續使用。

  目前透明模式的實現上可採用ARP代理和路由技術實現。此時防火牆相當於一個ARP代理的功能。內網(可以仍含有路由器或子網,依次類推)、防火牆、路由器的位置大致如下:

  內網?????防火牆?????路由器

  (需要說明的是,這種方式是絕大多數校園網級網路的實現方式)

  內網主機要想實現透明訪問,必須能夠透明的傳送內網和路由器之間的ARP包,而此時由於事實上內網和路由器之間無法連通,防火牆就必須配置成一個ARP代理(ARP Proxy)在內網主機和路由器之間傳遞ARP包。防火牆所要做的就是當路由器傳送ARP廣播包詢問內網內的某一主機的硬體地址時,防火牆用和路由器相連線口的MAC地址回送ARP包;內網內某一主機傳送ARP廣播包詢問路由器的硬體地址時,防火牆用和內網相連線口的MAC地址回送ARP包,因此路由器和內網主機都認為將資料包發給了對方,而實際上是發給了防火牆轉發。

  顯然,此時防火牆還必須實現路由轉發,使內外網之間的資料包能夠透明的轉發。另外,防火牆要起到防火牆的作用,顯然還需要把資料包上傳給本身應用層處理(此時實現應用層代理、過濾等功能),此時需要埠轉發來實現(?這個地方不是十分清楚,也沒找到相關資料)。透明模式和非透明模式在網路拓撲結構上的最大區別就是:透明模式的兩塊網路卡(與路由器相連的和與內網相連的)在一個網段(也和子網在同一個網段);而非透明模式的兩塊網路卡分別屬於兩個網段(內網可能是內部不可路由地址,外網則是合法地址)。

  這個過程如下:

  1. 用ARP代理實現路由器和子網的透明連線(網路層)

  2. 用路由轉發在IP層實現資料包傳遞(IP層)

  3. 用埠重定向實現IP包上傳到應用層(IP層)

  前邊我們討論過透明代理,和這裡所說的防火牆的透明模式是兩個概念。透明代理主要是為實現內網主機可以透明的訪問外網,而無需考慮自己是不可路由地址還是可路由地址。內網主機在使用內部網路地址的情況下仍然可以使用透明代理,此時防火牆既起到閘道器的作用又起到代理伺服器的作用(顯然此時不是透明模式)。

  需要澄清的一點是,內外網地址的轉換(即NAT,透明代理也是一種特殊的地址轉換)和透明模式之間並沒有必然的聯絡。透明模式下的防火牆能實現透明代理,非透明模式下的防火牆(此時它必然又是一個閘道器)也能實現透明代理。它們的共同點在於可以簡化內網客戶的設定而已。

  目前國內大多防火牆都實現了透明代理,但實現了透明模式的並不多。這些防火牆可以很明顯的從其廣告中看出來:如果哪個防火牆實現了透明模式,它的廣告中肯定會和透明代理區分開而大書特書的。

  5.可靠性

  防火牆系統處於網路的關鍵部位,其可靠性顯然非常重要。一個故障頻頻、可靠性很差的產品顯然不可能讓人放心,而且防火牆居於內外網交界的關鍵位置,一旦防火牆出現問題,整個內網的主機都將根本無法訪問外網,這甚至比路由器故障(路由器的拓撲結構一般都是冗餘設計)更讓人無法承受。

  防火牆的可靠性也表現在兩個方面:硬體和軟體。

  國外成熟廠商的防火牆產品硬體方面的可靠性一般較高,採用專門硬體架構且不必多說,採用PC架構的其硬體也多是專門設計,系統各個部分從網路介面到儲存裝置(一般為電子硬碟)整合在一起(一塊板子),這樣自然提高了產品的可靠性。

  國內則明顯參差不齊,大相徑庭,大多直接使用PC架構,且多為工業PC,採用現成的網路卡,DOC/DOM作為儲存裝置。工業PC雖然可靠性比普通PC要高不少,但是畢竟其仍然是拼湊式的,裝置各部分分立,從可靠性的角度看顯然不如整合的(著名的水桶原理)。

  國內已經有部分廠家意識到了這個問題,開始自行設計硬體。但大多數廠家還是從成本的角度考慮使用通用PC架構。

  另外一方面,軟體可靠性的提高也是防火牆優劣的主要差別所在。而國內整個軟體行業的可靠性體系還沒有成熟,軟體可靠性測試大多處於極其初級的水平(可靠性測試和bug測試完全是兩個概念)。一方面是可靠性體系建立不起來,一方面是為了迎合使用者的需求和跟隨網路應用的不斷髮展,多數防火牆廠商一直處於不斷的擴充和修改中,其可靠性更不能讓人恭維。

  總的來說,如同國內大多數行業(除了少數如航天、航空)一樣,網路安全產品特別是防火牆的可靠性似乎還沒有引起人們的重視。 6.市場定位

  市場上防火牆的售價極為懸殊,從數萬元到數十萬元,甚至到百萬元不等。由於使用者數量不同,使用者安全要求不同,功能要求不同,因此防火牆的價格也不盡相同。廠商因而也有所區分,多數廠家還推出模組化產品,以符合各種不同使用者的要求。

  總的說來,防火牆是以使用者數量作為大的分界線。如checkpoint的一個報價:

  CheckPoint Firewall-1 4.1 25user 19000.00

  CheckPoint Firewall-1 4.1 50user 31000.00

  CheckPoint Firewall-1 4.1 100user 51000.00

  CheckPoint Firewall-1 4.1 250user 64000.00

  CheckPoint Firewall-1 4.1 無限使用者 131000.00

  從使用者量上防火牆可以分為:

  a. 10-25使用者:

  這個區間主要使用者為單一使用者、家庭、小型辦公室等小型網路環境。防火牆一般為10M(針對

  硬體防火牆而言),兩網路介面,涵蓋防火牆基本功能:包過濾、透明模式、網路地址轉換

  、狀態檢測、管理、實時報警、日誌。一般另有可選功能:VPN、頻寬管理等等。

  這個區間的防火牆報價一般在萬元以上2萬元以下(沒有VPN和頻寬管理的價格更低)。

  據調查,這個區間的防火牆反而種類不多,也許是國內廠商不屑於這個市場的緣故?

  b. 25-100使用者

  這個區間使用者主要為小型企業網。防火牆開始升級到100M,三或更多網路介面。VPN、頻寬管

  理往往成為標準模組。

  這個區間的防火牆報價從3萬到15萬不等,根據功能價格有較大區別。相對來說,這個區間上

  硬體防火牆價格明顯高於軟體防火牆。

  目前國內防火牆絕大部分集中在這個區間中。

  c. 100-數百使用者

  這個區間主要為中型企業網,重要網站、ISP、ASP、資料中心等使用。這個區間的防火牆較多考慮高容量、高速度、低延遲、高可靠性以及防火牆本身的健壯性。並且開始支援雙機熱備份。這個區間的防火牆報價一般在20萬以上。這樣的中高階防火牆國內較少,有也是25-100使用者的升級版,其可用性令人懷疑。

  d. 數百使用者以上

  這個區間是高階防火牆,主要用於校園網、大型IDC等等。我們接觸較少,不多做討論。當然其價格也很高階,從數十萬到數百萬不等。

  總的來說,防火牆的價格和使用者數量、功能模組密切相關,在使用者數量相同的情況下,功能越多,價格就越貴。如Netscreen的百兆防火牆: NetScreen-100f(AC Power) -帶防火牆+流量控制等功能,交流電源,沒有VPN功能報價在¥260,000而在此基礎上增加了128位VPN功能的報價則高出5萬元:¥317,500

  7. 研發費用

  如同其他網路安全產品一樣,防火牆的研發費用也是很高的。防火牆由於技術含量較高,人員技術儲備要求較高,防火牆核心部分的研發必須要對作業系統有相當的熟悉,所需為UNIX系統下開發人員,而目前國內真正能拿的出手的UNIX程式設計師數量還是太少(遠遠少於Windows平臺下開發人員),人員成本很高。

  總的來說,防火牆的研發是一個大專案,而且其前期定位一定要準確,該做什麼、不該做什麼,哪些功能得實現,哪些功能不必實現、哪些功能可以在後期實現,一定要清楚,否則費用會遠遠超出預計。

  下邊對一箇中小型企業級防火牆的研發費用作個簡單的估計。

  研發時,防火牆可以細分為(當然在具體操作時往往需要再具體劃分):

  核心模組

  防火牆模組(含狀態檢測模組)

  NAT模組

  頻寬管理模組

  通訊協議模組

  管理模組

  圖形使用者介面模組(或者Web介面模組)

  透明代理模組(實質屬於NAT模組)

  透明模式模組(包括ARP代理子模組、路由轉發子模組等)

  各應用代理模組(包括URL過濾模組)

  VPN模組

  流量統計與計費模組

  審計模組

  其他模組(如MAC、IP地址繫結模組、簡單的IDS、自我保護等等)

  上邊把防火牆劃分為12個模組,其中每一個模組都有相當的工作量要做,除了彈性較大的核心模組和防火牆模組(它們的工作量可能異常的大,視設計目標不同),其他模組暫定10人周的話就需要120周(VPN的工作量也相當大),兩個主模組各按20人周計算,防火牆實現總共需要150人周。加上前期10- 15人周論證、定方案,後期20人周(保守數字)整合、測試,前後總共需要約210人周。按每人周1200元開發費用(摺合工資5000月,但由於有執行費用、保險等費用攤分,個人工資應遠低於這個數字),開發費用約需25萬。

  顯然,這個數字只是一個局外人估計的下限,實際的研發應該超出這個數字很多。

  8. 可升級能力(適用性)和靈活性

  對使用者來說,防火牆作為大成本投入的商品,勢必要考慮到可升級性的問題,如果防火牆不能升級,那它的可用性和可選擇餘地勢必要大打折扣。目前國內防火牆一般都是軟體可升級的,這是因為大多數防火牆採用電子硬碟(少數採用磁碟),實現升級功能只要很小的工作量要做。但究竟升級些什麼內容?升級週期多長一次?這就涉及到一個靈活性的問題。

  防火牆的靈活性主要體現在以下幾點:

  a. 易於升級

  b. 支援大量協議

  c. 易於管理(如納入通用裝置管理體系(支援SNMP)而不是單列出來)

  d. 功能可擴充套件

  這裡對功能可擴充套件做一簡單討論。一般情況下,防火牆在設計完成以後,其過濾規則都是定死的,使用者可定製的餘地很小。特別如URL過濾規則(對支援URL過濾的防火牆而言),當前網路中的漏洞是不斷發現的,如最近很猖獗的codered攻擊的就是Windows機器IIS伺服器的ida漏洞,而我們如果能夠及時定義過濾規則,對於“GET /default.ida”的請求及時過濾,那麼內網主機(此時一般為DMZ內主機)的安全性就會高很多,內網管理人員也不必時時密切關注網路漏洞(這是個工作量很大,既耗費體力又容易出現遺漏的工作)。這樣大部分工作留給防火牆廠家來做(相應需要有一個漏洞監測體系),使用者肯定會滿意很多。另外,靈活性一開始也往往不是前期設計所能設計的很完美的,它需要和使用者具體實踐相配合。另外靈活性也是和具體環境密切結合的,往往需要在不同的使用者環境裡考慮。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-955565/,如需轉載,請註明出處,否則將追究法律責任。

相關文章