萬盛學電腦網

 萬盛學電腦網 >> 電腦入門 >> 定制防火牆 應該如何選擇硬件和系統 電腦技術吧

定制防火牆 應該如何選擇硬件和系統 電腦技術吧

 x86架構適用於freebsd系統

網絡設備最經常用到的,也是最重要的一個安全設備就是防火牆了。作為一款IT設備,無非兩種選擇方式。一種是購買品牌防火牆成品,另一種是自己DIY防火牆。兩種方式各有自己的優劣,購買品牌防火牆最大的問題莫過於是投入較多的資金,卻可以得到更多的後期維護。而自己 DIY防火牆的最大弊端就在於需要一個專業的人員來定制,還要投入更多的精力做後期的維護。

作為一個熱血IT青年,自己DIY一個防火牆設備,不僅僅能夠帶來投入的節省,最重要的是你可以在這個過程中,得到許多一個電話CALL來的售後服務那裡,所學到的到東西要多得多。DIY一個防火牆設備,最最重要的是要認清硬件架構和軟件架構的特點,以及最適合於那種搭配。

基於通用CPU的X86架構的安全網關,一般采用Intel或AMD公司的芯片,X86在架構系統時還需要北橋和南橋芯片,采用該種硬件架構,軟硬件配套資源比較多,便於快速推出產品,企業投資少,最初的防火牆大都是基於X86架構。X86架構采用通用CPU和PCI總線接口,具有很高的靈活性和可擴展性,過去一直是防火牆開發的主要平台。其產品功能主要由軟件實現,可以根據用戶的實際需要而做相應調整,增加或減少功能模塊,產品比較靈活,功能十分豐富。

但其性能發展卻受到體系結構的制約,作為通用的計算平台,x86的結構層次較多,不易優化,且往往會受到PCI總線的帶寬限制。雖然PCI總線接口理論上能達到接近2Gbps的吞吐量,但是通用CPU的處理能力有限,盡管防火牆軟件部分可以盡可能地優化,很難達到千兆速率。同時很多X86架構的防火牆是基於定制的通用操作系統,安全性很大程度上取決於通用操作系統自身的安全性,可能會存在安全漏洞。

從總線速度來看,基於32位PCI總線的X86平台,也就是我們所說的基於傳統X86架構的防火牆,做為百兆防火牆的方案是沒有任何問題的。但X86平台的防火牆方案,數據從網卡到CPU之間的傳輸機制是靠“中斷”來實現的,中斷機制導致在有大量數據包的需要處理的情況下(如:64 Bytes的小包,以下簡稱小包),X86平台的防火牆吞吐速率不高,大概在30%左右,並且CPU占用會很高。這是所有基於X86平台的防火牆所共同存在的問題。因此,基於32位PCI總線的X86平台是不能做為千兆防火牆使用的問題。

X86平台的防火牆其最大的缺點就是小包通速率低,只有30%-40%,造成這個問題的主要原因是因為X86平台的中斷機制以及X86平台的防火牆所有數據都要經過主CPU處理。早期的千兆防火牆僅僅是將百兆接口替換為千兆接口而已。這種基於X86體系結構的千兆防火牆主體仍然是軟件,其性能受到很大制約,無法達到千兆的處理速度。因此,這些防火牆只是具有千兆接入能力的防火牆,而不是真正具有千兆處理能力的防火牆因此可以說是一種“換湯不換藥”的形式改變。

Intel提出了解決方案,可以把32位的PCI總線升級到PCI-E總線,即:PCI-Express,這樣,PCI-E 4X的總線的速度就可以達到 2000MB Bytes/S,即:16Gbits/S,並且PCI-E各個PCI設備之間互相獨立不共享總線帶寬,每個基於PCI-E的網口可以使用的帶寬為:2000MB Bytes/S,即:16Gbits/S,所以基於PCI-E 4X的X86從系統帶寬上來說,做為千兆防火牆是沒有任何問題的。但是,基於PCI-E的防火牆數據從網卡到CPU之間傳輸同樣使用“中斷”機制來傳輸數據,所以小包(64 Bytes)的通過率仍然為:30-40%,基於x86的防火牆,其最高性能只能達到2Gbps!同時CPU和外圍芯片組發熱比較大,產品壽命和穩定性難以保證。

如果你選擇的硬件是x86架構的,我建議只有一個系統合適你,就是freebsd,要麼自己定制防火牆,要麼選擇m0llowakk或者pfsense!為什麼不是linux?很簡單,當遇到大量小包攻擊的時候(syn),freebsd的扛壓能力大大超過linux,最極端的時候可以開啟網卡polling模式,可以有效地降低cpu中斷負載,不至於你的cpu0 100%占用!而且,特別是pfsense選用了openbsd的pf防火牆,支持syn三次握手代理,地址池,自動黑名單等等有用的功能,而且很小巧穩定,性能只是比linux 差一點,不過完全夠用!可以直接配置一台不帶硬盤,只有cpu,內存,內存卡的小盒子系統,省電,穩定,完全!而且可以通過ipfw-classic實現和iptable layer-7一樣的應用層過濾,反正大家都是山寨人家clearos公司的!還有商業的panbit,流控大師也是選用freebsd的,不過可惜啊,特征碼給加密了。

對付高流量小包 選用嵌入式linux

相比之下,ASIC防火牆通過專門設計的ASIC芯片邏輯進行硬件加速處理。ASIC通過把指令或計算邏輯固化到芯片中,獲得了很高的處理能力,因而明顯提升了防火牆的性能。新一代的高可編程ASIC采用了更靈活的設計,能夠通過軟件改變應用邏輯,具有更廣泛的適應能力。但是,ASIC的缺點也同樣明顯,它的靈活性和擴展性不夠,開發費用高,開發周期太長,一般耗時接近2年。

雖然研發成本較高,靈活性受限制、無法支持太多的功能,但其性能具有先天的優勢,非常適合應用於模式簡單、對吞吐量和時延指標要求較高的電信級大流量的處理。ASIC芯片集網絡包處理和內容處理為一身,芯片首先完成流重組,然後直接在網絡層匹配規則,並執行動作處理安全事件,需要進一步分析的才送CPU。網絡中90%以上的數據在ASIC芯片中直接完成處理。

基於ASIC架構的防火牆從架構上改進了中斷機制,數據從網卡收到以後,不經過主CPU處理,而是經過集成在系統中的一些芯片直接處理,由這些芯片來完成傳統防火牆的功能,如:路由、NAT、防火牆規則匹配等。這樣數據不經過主CPU處理,不使用中斷機制。但隨之而來的問題是,ASIC架構的防火牆是芯片一級的,所有的防火牆動作由芯片來處理。這些芯片的功能比較單一,要升級維護的開發周期比較長。

幾年前,以Intel為代表的國際芯片廠商推出了具有革命性意義的網絡處理器(NP),業界觀察家也曾十分看好並極力稱頌,NP將引發不可預期的網絡革命。然而,NP並沒有如觀察家所期待的那樣結出碩果,各NP廠商的NP業務基本都處於虧損狀態。 從2002年開始NP開始在網絡安全領域應用,2003年IBM就把NP業務賣給了Hifn,2006年6月27日,Intel正式宣布把NP業務賣給Marvell。

網絡處理器比較典型的產品有Marvell(Intel)公司的IXP1200系列、IXP2400系列和IXP2800系列和Freescale(motorola)公司的C-5、Cisco公司的Toaster 2、Hifn(IBM)的NP3G4S等。

NP架構實現的原理和ASIC類似,但升級、維護遠遠好於ASIC 架構。NP架構在的每一個網口上都有一個網絡處理器,即:NPE,用來處理來自網口的數據。每個網絡處理器上所運行的程序使用微碼編程,其軟件實現的難度比較大,開發周期比ASIC短,但比X86長。

最早提出網絡處理器開發的時間是1997年,正式的商用芯片於2000年面世。Intel、IBM、Motorola、MMC Networks、Ezchip、Lucent、Vitesse(Sitera)等廠商參與了網絡處理器的早期研究。這一階段僅僅是研究階段,而真正將網絡處理器投入商業應用的廠商是中國的華為,2000年華為開始開發基於網絡處理器的核心路由器,並率先推出了基於NP的NE80/NE40系列核心路由器產品。

當你的防火牆要對付高流量,小包攻擊ddos。請選用嵌入式,arm,NP,mips構架防火牆硬件,操作系統就直接選擇linux正營吧,其代表就是起源於ciso/syslink系統的opoenwrt或者dd-wrt,tomato(國人的支持多wan口疊加其實就是策略路由),為什麼不選擇freebsd-因為freebsd不支持硬件,為什麼不選擇netbsd/openbsd,因為性能低下,很多無線,新硬件,網卡不支持!而且防火牆不開放什麼服務器軟件,不需要太高的防滲透入侵,強制訪問安全等等。這其中我建議選擇openwrt吧,免費、可定制非常高,就和一台linux機器一樣的配置!dd-wrt收費!tomato也是根據openwrt來的,作者配置好了策略路由支持雙、四wan!至於route,ros也是國人改的linux系統,收費,功能繁瑣,網吧可以考慮下!

一看構架二看小包轉發三看價格

功能選擇

現在很多防火牆默認都很強大,vpn,web界面控制,7層過濾,ids/ips,甚至還把防火牆放到交換機中,路由器中 組成了什麼7層交換機啊 ,四層交換機,7層四層路由器等等,當然他們也不是簡單的利用bsd/linux裝交換機軟件,路由軟件,或者防火牆,是進行了二次開發的,可以有效地加速交換,路由性能,但是如果我們是Diy的防火牆需要那麼多功能嗎?

一個原則,功能影響性能,也同樣影響安全!反過來也是功能影響安全,影響性能!其實我們要根據自己的情況來開啟功能:

1,關閉web控制,既然是定制,肯定都是高手了,全屏幕console操作,手寫防火牆,路由規則,要哪個web干嘛!影響性能安全!

2,關閉遠程登錄訪問入口,直接本地登錄防火牆diy機器,進行控制,什麼ssh,telent就算了吧保持防火牆就干三件事,就是轉發過濾流控!!就用基本的系統定制內核,配置策略路由,防火牆轉發過濾,或者使用layer7過濾(不過要自己定制7層過濾特征碼,免費的都很過時了,使用分析包軟件分析,書寫正則表達式,不難學,需要耐性和觀察力呵呵!

3,至於vpn,ids,ips還是通過過防火牆轉發到獨立的電腦上進行分析,處理吧,防火牆本身就是拿老硬件定制的,不是什麼專業的硬件防火牆,不要運行那麼多消耗資源大的程序,

4,當所有的配置都設置好了,就可以學習m0n0wall干脆吧控制台也禁用了吧,誰也別想登陸了!

硬件的購買

1,選擇老的硬件,淘汰的電腦,最好找個U盤吧硬盤去掉,最容易出錯的東東!

2,到專門的定制防火牆設備的地方,定制盒子機箱,電源的等等,主板最好選擇嵌入式開發板,或者nimi型x86板子

3,想支持無線,3G只要購買無線網卡,3G網卡插上就去了只要系統支持10跟天線都可以呵呵

4, diy防火牆的成本控制(購買新硬件)看你要達到那款品牌防火牆性能,如果是20萬的防火牆性能

copyright © 萬盛學電腦網 all rights reserved