開發(fā)硬件防火墻的主要步驟_第1頁(yè)
開發(fā)硬件防火墻的主要步驟_第2頁(yè)
開發(fā)硬件防火墻的主要步驟_第3頁(yè)
開發(fā)硬件防火墻的主要步驟_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

開發(fā)硬件防火墻的主要步驟這里說的雖然是硬件防火墻,但幾乎所有的工作都是軟件工作。硬件防火墻的核心是軟件。在開發(fā)前,首先要清楚知道自已要需要的是什么類型的防火墻。同為硬件防火墻,大致可以分為高端以千兆為代表的主火墻,中端的百兆企業(yè)防火墻,以及低端家庭-小辦公室的防火墻(SOHU-SMB)。這三個(gè)級(jí)別的防火墻的開發(fā)方式有很大的不同。高端千兆防火墻的代表產(chǎn)品包括Netscreen的5000系列防火墻,以及Nodia-CheckPoint的IP720以上的產(chǎn)品,這級(jí)防火墻能夠適應(yīng)千兆要求的作業(yè),吞吐量至少在600M以上。作為國(guó)內(nèi)生產(chǎn)商目前要推出真正的千兆防火墻是很困難的,詳情請(qǐng)參考:為什么實(shí)現(xiàn)千兆防火墻很困難而作為低端家庭-小辦公室產(chǎn)品的防火墻,主要受的是硬件成本的壓力。這一級(jí)產(chǎn)品包括如Netscreen的50/25/5X系列,F(xiàn)ortigate的FG200和FG300,以及一些市場(chǎng)上的撥號(hào)器、寬帶路由器都可以歸屬這檔防火墻。工作特點(diǎn)多是單進(jìn)單出,主要用在小局域網(wǎng)進(jìn)出互聯(lián)網(wǎng)的控制??紤]到一般公司出入互聯(lián)網(wǎng)的通道充其量也就幾兆,即使是LAN用戶或CABLEMODEM,公共出口也仍是幾兆。因此,自適應(yīng)十兆/百兆的單進(jìn)出小防火墻基本上可以滿足要求。事實(shí)上有些幾百人的公司使用win98+sysgate撥號(hào),也是自我感覺良好,可見這一檔次的上網(wǎng)防火墻性能要求并不高;價(jià)格也是維持在兩萬元以下。但對(duì)于使用X86架構(gòu)的防火墻來說,要求再低硬件也是有幾千元的;連上軟件成本,這兩萬元簡(jiǎn)直無法維持。因此,這一級(jí)防火墻的主要開發(fā)方式,是選擇合適的嵌入式系統(tǒng),通常是Linux,連硬件和軟件整套買進(jìn)來,自已添加其中的防火墻應(yīng)用程序。這種防火墻主要的系統(tǒng)開發(fā)工作由各嵌入系統(tǒng)的供應(yīng)商完成,而系統(tǒng)功能也弱,留給生產(chǎn)商的軟件施展空間也不大,所以更象是一項(xiàng)硬件采購(gòu)項(xiàng)目。連同最低采購(gòu)限額(一般是一千)和軟件開發(fā),大致在一百萬左右就可以拿下一個(gè)產(chǎn)品。這種防火墻,雖然也是“硬件防火墻”,但不是我們本文的重點(diǎn)。本文介紹的,是中檔的企業(yè)級(jí)百兆防火墻的開發(fā)的主要步驟。這一級(jí)防火墻,是目前企業(yè)采購(gòu)的主要對(duì)象,也是最需要的產(chǎn)品類型。國(guó)產(chǎn)防火墻,基本上集中在這個(gè)區(qū)間,操作系統(tǒng)一般選用開源的Linux或者BSD;相比之下,BSD的應(yīng)用程序升級(jí)速度不算快,所以大部分防火墻選用的是Linux。要決定開發(fā)一個(gè)百兆的防火墻,需要選定一款合適的服務(wù)器主板,或者工控機(jī),另外就是要選定一個(gè)好的網(wǎng)卡,通常是服務(wù)器專用網(wǎng)卡。雖然象Linux這樣的操作系統(tǒng)可以自動(dòng)適應(yīng)不同的主板,(只要它符合象PC2000這樣的標(biāo)準(zhǔn)),Linux的最新內(nèi)核也總能支持較新的主板的性能,(如PIII的超線程);但每個(gè)主板和CPU之間還是有少許不同的;作為一個(gè)防火墻,除非對(duì)極端性能要求不是太嚴(yán)格,否則,需要針對(duì)主板和CPU的一些特性,如寄存器,SMP,超線程等等對(duì)內(nèi)核進(jìn)行針對(duì)性的修改和優(yōu)化,否則,默認(rèn)的內(nèi)核就只能使用這些主板/CPU最基本的部分。舉個(gè)例子說,防火墻有一個(gè)重要的性能指標(biāo)叫最大會(huì)話數(shù)速率,或稱每秒最大生成會(huì)話數(shù),如果使用普適形的內(nèi)核用到P3CPU上,能夠達(dá)到的最大數(shù)值大致也就只有幾千;但經(jīng)過對(duì)針對(duì)主板設(shè)計(jì)(這種說明可以從主板和CPU廠商獲?。┻M(jìn)行優(yōu)化,可以把性能提高到3-5萬左右。同樣,單純升級(jí)主板和CPU不見得能提高性能,象把防火墻從P3升級(jí)到P4,如果沒有支持P4的特殊性能,如超線程,最大會(huì)話能力就仍與P3沒有區(qū)別,不如不升值,還可以減點(diǎn)成本。而專門的優(yōu)化,則可以把性能達(dá)到50萬,這也是這類防火墻的使用Intel架構(gòu)主板目前所能達(dá)到的極限。針對(duì)選定硬件的優(yōu)化工作盡管獨(dú)立于防火墻開發(fā)的主體軟件工作,一般情況下也不會(huì)顯出它的必要性,但當(dāng)防火墻進(jìn)行極端的使用環(huán)境或評(píng)測(cè)環(huán)境時(shí),顯出的差距就非常大。針對(duì)網(wǎng)卡的開發(fā)驅(qū)動(dòng)程序除了優(yōu)化性能外,另一個(gè)目的就是要把防火墻與網(wǎng)關(guān)綁定在一起,以免被盜版。這個(gè)驅(qū)動(dòng)程序與定造的防火墻內(nèi)核一起,就令盜版顯得困難得多了。防火墻軟件的開發(fā)工作主體就是防火墻管理軟件的開發(fā)。對(duì)此,架構(gòu)師要明白自已到底要開發(fā)那一種防火墻,防火墻的管理思路是什么。在幾年前這種開發(fā)顯得簡(jiǎn)單,就是用一些web調(diào)用的程序,(另一種辦法是用dephi寫windows程序,通過特定端口服務(wù)控制防火墻,調(diào)用預(yù)設(shè)程序,原理也是一樣的),直接調(diào)用Linux的防火墻管理工具如ipchains;其余的工作主要就是預(yù)先編好若干類的默認(rèn)配置(相當(dāng)于template)。因此開發(fā)難度不算大,十來個(gè)人一年半載總能完成;大批國(guó)產(chǎn)防火墻就是這樣開發(fā)出來的。這種防火墻,對(duì)于熟悉Linux防火墻的高手來說是不必要的,自已用Ipchains就可以達(dá)到同樣的目的。因此,今天這種防火墻已經(jīng)擺不上臺(tái)面了。今天的防火墻主要是從便于管理著手,著眼于管理員可以較易對(duì)大量、復(fù)雜、多半的政策進(jìn)行維護(hù),這就需要開發(fā)“面向?qū)ο蠊芾淼姆阑饓Α薄_@樣一來,使用把ipchains/iptables單純用PHP或delphi圖形化是不足夠的,事實(shí)上,這時(shí)侯單純使用如iptables已經(jīng)很難滿足要求,開發(fā)者常常必須開發(fā)自已的象iptables那樣的防火墻管理工具。這部分的工作非常龐大。作為防火墻的載體的操作系統(tǒng)和防火墻的內(nèi)核也是一個(gè)工作重點(diǎn)。防火墻作為網(wǎng)絡(luò)的第一道防線,不可以使用默認(rèn)設(shè)置的操作系統(tǒng),除了最必要的服務(wù)以外,所有東西都必須刪除。因此,企業(yè)級(jí)防火墻基本上是使用的是嵌入式操作系統(tǒng)的開發(fā)方式,通通常是形成一個(gè)在內(nèi)存中運(yùn)行的安全操作系統(tǒng),如同一個(gè)無盤的工作站。防火墻必須長(zhǎng)時(shí)間無故障工作,還要應(yīng)付可能有的突然斷電等現(xiàn)象,所以,一般情況下禁止連接系統(tǒng)硬盤,以免造成斷電損壞。防火墻的固存一般都不大,16M到32M就綽綽有余了。有些防火墻廠商沒有能力做到這一步,就使用大容易的FLASH作為系統(tǒng)盤,其實(shí)是非常危險(xiǎn)的。原因在于flash的寫性能差,可寫次數(shù)只在千次數(shù)量級(jí),而Unix類的文件系統(tǒng)讀與頻繁,因此極易造成flash上數(shù)據(jù)的丟失;而且一旦發(fā)生斷電關(guān)機(jī),如果仍然有系統(tǒng)盤安裝在目錄上,很可能造成文件系統(tǒng)的損壞,最終結(jié)果,即使最后可以搶救過來,也會(huì)給用戶防火墻質(zhì)量不過關(guān)的印象。防火墻的內(nèi)核也是一項(xiàng)不可少的工作內(nèi)容。目前一般的防火墻都是使用netfilter作為防火墻的內(nèi)核,而且都要求添加一定數(shù)量的防攻擊性能。參考netfilter的深入應(yīng)用舉例。但有些防火墻產(chǎn)品把這項(xiàng)工作擴(kuò)大化,希望由內(nèi)核完成如IDS、防病毒的工作,盡管可以辦到,但對(duì)防火墻的基本性能會(huì)造成嚴(yán)重的損害。企業(yè)級(jí)的防火墻需要有多種遠(yuǎn)程管理工具,方法一般有三種,ssl+http,遠(yuǎn)程的secureshell,或者使用專用客戶端工具。無論是那一種,都是基于同樣的在防火墻預(yù)定的用戶管理程序工作,這些管理程序被調(diào)用后,就與防火墻的接口管理程序(象iptables,或自編寫的接口程序,象圖騰ObjectMgr)互動(dòng),完成防火墻的管理工作。這部分的工作也是比較大的。象防火墻可以允許用戶用ssh登錄,但卻不可能允許直接返回rootshell(太危險(xiǎn)了),于是就必須開發(fā)一個(gè)安全的shell作為第一重接口,這樣,開發(fā)者就相當(dāng)于自已開發(fā)了一個(gè)BASH一類的解釋程序了。對(duì)遠(yuǎn)程訪問的安全控制是防火墻的一處重點(diǎn),常常要結(jié)合管理機(jī)限制,IP/MAC限制,密碼、證書認(rèn)證等多重安全手段。否則,否許所有人都試圖登錄防火墻,防火墻本身就很危險(xiǎn),根本談不上網(wǎng)絡(luò)的安全性。完成以上的工作后,再完成最先談到的web-ssl管理界面,或者是delphi(或C++)的客戶端管理工具。防火墻就基本上成形了,區(qū)別只在于用戶是不是覺得你的管理工具好用不好用而已。(許多程序員認(rèn)為防火墻工程不大,其實(shí)是他們的腦海中以為防火墻的研發(fā)只有這個(gè)圖形管理界面一項(xiàng)而已)。但即使這樣,作為防火墻的研發(fā)工程還遠(yuǎn)遠(yuǎn)沒有完成。開發(fā)者常常還必須向防火墻添加VPN(這也是一個(gè)巨大的工程),代理服務(wù)器(如是要加,就要寫多種協(xié)議的代理服務(wù)器),如PPPOE撥號(hào),是否還要加會(huì)話認(rèn)證;以及HA和負(fù)載平衡,以及支持透明模式接入;是否支持外部帳號(hào)管理,等等。前文這些工作終于都完成了,大概可以松一口氣交功課了吧?的確是這樣,假如您不介意你的防火墻有BUG的話!否則,這個(gè)工程頂多只完成了一半。下面的工作就是編寫測(cè)試實(shí)例進(jìn)行測(cè)試。硬件防火墻由于對(duì)軟件硬化處理,而且長(zhǎng)時(shí)間無間斷運(yùn)行,因此,對(duì)軟件的質(zhì)量要求非常高。測(cè)試者至少要編寫以下三種測(cè)試實(shí)例進(jìn)行測(cè)試:1)程序中是否有內(nèi)存對(duì)象沒有清除;程序中殘留有對(duì)沒有clear是經(jīng)常的事,象windows的程序就有這個(gè)毛病,所以windows開了一段時(shí)間后就要重啟以便空出內(nèi)存;在防火墻中這個(gè)要求嚴(yán)格得多,一個(gè)半個(gè)的對(duì)象殘留對(duì)普通的軟件項(xiàng)目沒什么大不了的,但對(duì)于防火墻是致命的;防火墻的系統(tǒng)資源會(huì)在很短的時(shí)間內(nèi)就完全被這個(gè)BUG吃光。2)使用防火墻的管理工具生成每指定的政策實(shí)例時(shí),是否做到該放行的包放行,不該放行的包不放行;3)防火墻的極限工作條件;也不是如最大會(huì)話這樣的測(cè)試,這些需要專門的測(cè)試工具如smartbit;高性能的防火墻還需要外包測(cè)試,因?yàn)樵O(shè)備太貴。如果防火墻集成了如VPN,IDS,防病毒等功能,還必須進(jìn)一步編寫測(cè)試實(shí)例,測(cè)試在啟動(dòng)這些功能時(shí)防火墻的其他性能的下降情況。防火墻軟件系統(tǒng)的測(cè)試是一項(xiàng)最耗時(shí)最耗力的工作,占了整個(gè)開發(fā)成本至少一半以上,任何一個(gè)測(cè)試通不過,都要重新debug,重新測(cè)試,直到測(cè)試完全通過為止。如果一個(gè)模塊測(cè)試返工三次就通過,那個(gè)程序員一定是很優(yōu)秀的;如果通過六七次,實(shí)在很正常;就算十次才通過,也不算是丟臉的。在這種反反復(fù)復(fù)的工作中,開發(fā)者就會(huì)發(fā)現(xiàn),象

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論