測(cè)試防火墻系統(tǒng)完整版
以下的文章主要向大家介紹的是正確測(cè)試防火墻系統(tǒng)的實(shí)際操作流程,在實(shí)際操作中制定一個(gè)完整的測(cè)試計(jì)劃,其測(cè)試的意圖主要是集中在路由、包過(guò)濾、日志記錄與警報(bào)的性能上 這次測(cè)試的目的是為了知道防火墻是否想我們想象中的意圖來(lái)工作的。
在此之前你必須:
·制定一個(gè)完整的測(cè)試計(jì)劃,測(cè)試的意圖主要集中在路由、包過(guò)濾、日志記錄與警報(bào)的性能上
·測(cè)試當(dāng)防火墻系統(tǒng)處于非正常工作狀態(tài)時(shí)的恢復(fù)防御方案
·設(shè)計(jì)你的初步測(cè)試組件
其中比較重要的的測(cè)試包括:
·硬件測(cè)試(處理器、內(nèi)外儲(chǔ)存器、網(wǎng)絡(luò)接口等等)
·操作系統(tǒng)軟件(引導(dǎo)部分、控制臺(tái)訪問(wèn)等等)
·防火墻軟件
·網(wǎng)絡(luò)互聯(lián)設(shè)備(CABLES、交換機(jī)、集線器等等)
·防火墻配置軟件
-路由型規(guī)則
-包過(guò)濾規(guī)則與關(guān)聯(lián)日志、警報(bào)選項(xiàng)
*****為什么說(shuō)這些是比較重要的呢?*****
測(cè)試與效驗(yàn)?zāi)愕姆阑饓ο到y(tǒng)有利于提高防火墻的工作效率,使其發(fā)揮令你滿意的效果。你必須了解每個(gè)系統(tǒng)組件有可
能出現(xiàn)的錯(cuò)誤與各種錯(cuò)誤的恢復(fù)處理技術(shù)。一旦在你的規(guī)劃下有防火墻系統(tǒng)出現(xiàn)非工作狀態(tài),這就需要你及時(shí)去進(jìn)行
恢復(fù)處理了。
造成防火墻系統(tǒng)出現(xiàn)突破口的最常見(jiàn)原因就是你的防火墻配置問(wèn)題。要知道,你需要在所有的測(cè)試項(xiàng)目之前做一個(gè)全
面的針對(duì)配置的測(cè)試(例如路由功能、包過(guò)濾、日志處理能力等)。
*****應(yīng)該怎么去做?*****
“建立一個(gè)測(cè)試計(jì)劃”
你需要在做一個(gè)計(jì)劃,讓系統(tǒng)本身去測(cè)試防火墻系統(tǒng)與策略的執(zhí)行情況,然后測(cè)試系統(tǒng)的執(zhí)行情況。
1建立一個(gè)所有可替代的系統(tǒng)組件的列表,用來(lái)記錄一些會(huì)導(dǎo)致防火墻系統(tǒng)出錯(cuò)的敏感故障。
2為每一個(gè)組件建立一個(gè)簡(jiǎn)短的特征說(shuō)明列表列表,用語(yǔ)闡述其對(duì)防火墻系統(tǒng)運(yùn)作的影響。不必理會(huì)這些影
響對(duì)防火墻系統(tǒng)的損害類型與程度和其可能發(fā)生的系數(shù)高低。
3為每一個(gè)關(guān)聯(lián)的故障類型
-設(shè)計(jì)一個(gè)特定的情況或某個(gè)指標(biāo)去模擬它
-設(shè)計(jì)一個(gè)緩沖方案去削弱它對(duì)系統(tǒng)的沖擊性破壞
打比方一個(gè)測(cè)試的特定情況是運(yùn)行防火墻軟件的主機(jī)系統(tǒng)出現(xiàn)不可替換的硬件問(wèn)題時(shí),且這個(gè)硬件將會(huì)影響到
信息通信的樞紐問(wèn)題,例如網(wǎng)絡(luò)適配器損壞,模仿這類型的故障可以簡(jiǎn)單地拔出該網(wǎng)絡(luò)接口。
至于防御/恢復(fù)策略的例子可以是做好一整套的后備防火墻系統(tǒng)。當(dāng)信息包出現(xiàn)延誤等問(wèn)題時(shí)在最短的時(shí)間內(nèi)
將機(jī)器替換。
測(cè)試一個(gè)策略在系統(tǒng)中的運(yùn)作情況是很困難的。用盡方法去測(cè)試IP包過(guò)濾設(shè)置是不可行的;這樣可能出現(xiàn)很多
種情況。我們推崇你使用分界測(cè)試(分部測(cè)試)來(lái)取代總體測(cè)試。在這些測(cè)試上,你必須確定你實(shí)施的包過(guò)濾規(guī)
則與每個(gè)分塊之間的分界線。這樣你需要做到:
·為每個(gè)規(guī)則定義一個(gè)邊界規(guī)則。通常,每個(gè)規(guī)則的必要參數(shù)都會(huì)有一個(gè)或兩個(gè)邊界點(diǎn)的。在這個(gè)區(qū)域里
將會(huì)被劃分為一個(gè)多面型的包特征區(qū)。通常劃分的特征包括:通信協(xié)議、源地址、目標(biāo)地址、源端口、
目標(biāo)端口等?;旧?,每種包特征都可以獨(dú)立地去配對(duì)包過(guò)濾規(guī)則在區(qū)域里所定義的數(shù)值尺度。例如,
其中一個(gè)規(guī)則允許TCP包從任何主機(jī)發(fā)送到你的WEB服務(wù)器的80端口,這個(gè)例子使用了三個(gè)配對(duì)特征(協(xié)議
、目標(biāo)地址、目標(biāo)端口),在這個(gè)實(shí)例中也將一個(gè)特征區(qū)劃分成三個(gè)區(qū)域:TCP包到WEB服務(wù)器低于80端口、
等于80端口、大于80端口。
·你必須為每一個(gè)已經(jīng)設(shè)置好的區(qū)域做一些信息交換的測(cè)試。確認(rèn)一下這些特定的區(qū)域能否正常地通過(guò)與
拒絕所有的信息交換。做一個(gè)單獨(dú)的區(qū)域,在區(qū)域中拒絕或者通過(guò)所有的信息交換;這樣做的目的是為
了劃分包特征通信的區(qū)域問(wèn)題。
作為一個(gè)綜合性的規(guī)則群,它可以是一種比較單一的處理機(jī)制,并且有可能是沒(méi)有被應(yīng)用過(guò)的。若是沒(méi)有被應(yīng)
用過(guò)的規(guī)則群,這要求一群人去反復(fù)審核它們的存在性并要求有人能夠說(shuō)出每一個(gè)規(guī)則所需要實(shí)施的意義。
整個(gè)測(cè)試計(jì)劃包括案例測(cè)試、配置測(cè)試、與期待目標(biāo):
·測(cè)試路由配置、包過(guò)濾規(guī)則(包括特殊服務(wù)的測(cè)試)、日志功能與警報(bào)
·測(cè)試防火墻系統(tǒng)整體性能(例如硬/軟件故障恢復(fù)、足夠的日志存儲(chǔ)容量、日志檔案的容錯(cuò)性、監(jiān)視追蹤
器的性能問(wèn)題)
·嘗試在正?;虿徽_@兩種情況下進(jìn)行的測(cè)試
同樣你也需要記錄你在測(cè)試中打算使用的工具(掃描器、監(jiān)測(cè)器、還有漏洞/攻擊探測(cè)工具),并且相應(yīng)地測(cè)試一
下它們的性能。
“獲取測(cè)試工具”
逐步使用你的各種防火墻測(cè)試工具能夠知道你的防火墻產(chǎn)品在各類性能指標(biāo)上是否存在著不足
各種類型的防火墻測(cè)試工具包括①:
·網(wǎng)絡(luò)通信包生成器(如SPAK[Send PAcKets]、ipsend、Ballista)
·網(wǎng)絡(luò)監(jiān)視器(如tcpdump與Network Monitor)
·端口掃描器(如strobe與nmap)
·漏洞探測(cè)器(可以掃描到一定的有效范圍、能針對(duì)多種漏洞的)
·入侵測(cè)試系統(tǒng)[IDS]如NFR②[Network Flight Recorder]與Shadow③
查閱相關(guān)信息可以看Detecting Signs of Intrusion[Allen 00],特定的實(shí)踐可以參閱"Identify data that
characterize systems and aid in detecting signs of suspicious behavior"、建議書(shū)在"Identify tools
that aid in detecting signs of intrusion"。#p#
“在你的測(cè)試環(huán)境中測(cè)試防火墻系統(tǒng)的功能”
建立一個(gè)測(cè)試框架以便你的防火墻系統(tǒng)能在兩臺(tái)獨(dú)立的主機(jī)之中連通,這兩臺(tái)端一端代表外網(wǎng)一端代表外網(wǎng)。
事例圖在8-1"Test Environment"。
在測(cè)試時(shí)要確保內(nèi)網(wǎng)的默認(rèn)網(wǎng)關(guān)為防火墻系統(tǒng)(當(dāng)然這里指的是企業(yè)級(jí)帶路由的防火墻啦:),如果你已經(jīng)選擇
好一個(gè)完整的日志記錄體系(推崇),工作在內(nèi)網(wǎng)主機(jī)與日志記錄主機(jī)之間的話,那么你就可以進(jìn)行日志記錄選
項(xiàng)測(cè)試了。如果日志記錄在防火墻機(jī)器上完成的話,你可以直接使用內(nèi)網(wǎng)機(jī)器連上去。
把安裝有掃描器與嗅探器的機(jī)器安置在拓?fù)涞膬?nèi)部與外部,用于分析與捕捉雙向的通信問(wèn)題與通信情況(數(shù)據(jù)
從內(nèi)到外、從外到內(nèi))。
測(cè)試執(zhí)行的步驟應(yīng)該遵循:
·停止包過(guò)濾。
·注入各類包用于演示路由規(guī)則并通過(guò)防火墻系統(tǒng)。
·通過(guò)防火墻的日志與你的掃描器的結(jié)果來(lái)判斷包的路由是否準(zhǔn)確。
·打開(kāi)包過(guò)濾。
·接入網(wǎng)間通信,為各種協(xié)議、所有端口、有可能使用的源地址與目標(biāo)地址的網(wǎng)間通信攝取樣本記錄。
·確認(rèn)應(yīng)該被堵塞(拒絕)的包被堵塞了。比方說(shuō),如果所有的UDP包被設(shè)置為被堵塞,要確認(rèn)沒(méi)有一個(gè)UDP
包通過(guò)了。還有確認(rèn)被設(shè)置為通過(guò)或脫離(允許)的包被通過(guò)和脫離了。你可以通過(guò)防火墻的日志與掃描
器的分析來(lái)得到這些實(shí)驗(yàn)的結(jié)果。
·掃描那些被防火墻允許與拒絕的端口,看看你的防火墻系統(tǒng)是否像你設(shè)置時(shí)預(yù)期的一樣。
·檢查一下包過(guò)濾規(guī)則中日志選項(xiàng)參數(shù),測(cè)試一下日志功能是否在所有網(wǎng)絡(luò)通信中能像預(yù)期中工作。
·測(cè)試一下在所有網(wǎng)絡(luò)通信中出現(xiàn)預(yù)定警報(bào)時(shí)是否有特定的通知信號(hào)目的者(如防火墻系統(tǒng)管理員)與特殊
的行動(dòng)(頁(yè)面顯示與EMAIL通知)。
上述的步驟需要至少兩個(gè)人一步步計(jì)劃與實(shí)施:最初由某一個(gè)人負(fù)責(zé)整個(gè)工程的實(shí)施,包括路由配置、過(guò)過(guò)濾
規(guī)則、日志選項(xiàng)、警報(bào)選項(xiàng),而另外單獨(dú)一個(gè)人負(fù)責(zé)工程的復(fù)檢工作、鑒定每個(gè)部分的工作程序、商訂網(wǎng)絡(luò)的
拓?fù)渑c安全策略的實(shí)施是否恰當(dāng)。
“在你的實(shí)施環(huán)境中測(cè)試防火墻系統(tǒng)的功能”
在這個(gè)步驟你必須把環(huán)境從單層次的體系結(jié)構(gòu)(圖8-2"Single layer firewall architecture")演變?yōu)槎鄬哟?/p>
的體系結(jié)構(gòu)(圖8-3"Multiple layer firewall architecture")。
這個(gè)步驟也同樣需要你設(shè)定一個(gè)聯(lián)合有一個(gè)或幾個(gè)私網(wǎng)與公網(wǎng)的網(wǎng)絡(luò)拓?fù)洵h(huán)境。在公網(wǎng)主要是定義為向內(nèi)網(wǎng)進(jìn)
行如WWW(HTTP)、FTP、email(SMTP)、DNS這樣的請(qǐng)求的應(yīng)答,有時(shí)也會(huì)向內(nèi)網(wǎng)提供諸如SNMP、文件訪問(wèn)、登陸
等的服務(wù)的。在公網(wǎng)里你的主機(jī)也可以被描述為DMZ(非軍事區(qū))。在內(nèi)網(wǎng)則被定義為內(nèi)網(wǎng)各用戶的工作站。詳
細(xì)圖表可以看圖8-4"Production Environment"。
測(cè)試執(zhí)行的步驟應(yīng)該遵循:
·把你的防火墻系統(tǒng)連接到內(nèi)外網(wǎng)的拓?fù)渲小?/p>
·設(shè)置內(nèi)外網(wǎng)主機(jī)的路由配置,使其能通過(guò)防火墻系統(tǒng)進(jìn)行通信。這一步的選擇是建立在一個(gè)service-by
-service的基礎(chǔ)上,例如,一臺(tái)在公網(wǎng)的WEB服務(wù)器有可能要去訪問(wèn)某臺(tái)在私網(wǎng)的某臺(tái)主機(jī)上的一個(gè)文
件。圍繞著這類型的服務(wù)還有WEB、文件訪問(wèn)、DNS、mail、遠(yuǎn)程登陸詳細(xì)圖則可以參照?qǐng)D8-4"Product
ion Environment"。
·測(cè)試防火墻系統(tǒng)能否記錄‘進(jìn)入’或者‘外出’的網(wǎng)絡(luò)通信。你可以使用掃描器與網(wǎng)絡(luò)嗅探器來(lái)確認(rèn)一
下這一點(diǎn)。
·確認(rèn)應(yīng)該被堵塞(拒絕)的包被堵塞了。比方說(shuō),如果所有的UDP包被設(shè)置為被堵塞,要確認(rèn)沒(méi)有一個(gè)UDP
包通過(guò)了。還有確認(rèn)被設(shè)置為通過(guò)或脫離(允許)的包被通過(guò)和脫離了。你可以通過(guò)防火墻的日志與掃描
器的分析來(lái)得到這些實(shí)驗(yàn)的結(jié)果。
·仔細(xì)地掃描你的網(wǎng)絡(luò)內(nèi)的所有主機(jī)(包括防火墻系統(tǒng))。檢查你掃描的包是否被堵塞,從而確認(rèn)你不能從
中得到任何數(shù)據(jù)信息。嘗試使用特定的‘認(rèn)證端口’(如使用FTP的20端口)發(fā)送包去掃描各端口的存活
情況,看看這樣能不能脫離防火墻的規(guī)則限制。
·你可以把入侵測(cè)試系統(tǒng)安裝在你的虛擬網(wǎng)絡(luò)環(huán)境或現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境中,幫助你了解與測(cè)試你的包過(guò)濾規(guī)則
能否保護(hù)你的系統(tǒng)與網(wǎng)絡(luò)對(duì)抗現(xiàn)有的攻擊行為。要做到這樣你將需要在基本的規(guī)劃上運(yùn)行這一類的工具
并定期分析結(jié)果。當(dāng)然,你可以將這一步的測(cè)試工作推遲到你完全地配置后整個(gè)新的防火墻系統(tǒng)之后。
·檢查一下包過(guò)濾規(guī)則中日志選項(xiàng)參數(shù),測(cè)試一下日志功能是否在所有網(wǎng)絡(luò)通信中能像預(yù)期中工作。
·測(cè)試一下在所有網(wǎng)絡(luò)通信中出現(xiàn)預(yù)定警報(bào)時(shí)是否有特定的通知信號(hào)目的者(如防火墻系統(tǒng)管理員)與特殊
的行動(dòng)(頁(yè)面顯示與EMAIL通知)。
你不可以把測(cè)試路由功能的工作放在連接防火墻系統(tǒng)至你的外網(wǎng)接口之后[請(qǐng)查閱“9. Install the firewall
system.”(http://www.cert.org/security-improvement/practices/p061.html)與“10. Phase the firew-
all system into operation.”(http://www.cert.org/security-improvement/practices/p063.html)]。最
后,你應(yīng)該先把新的防火墻系統(tǒng)安裝在內(nèi)網(wǎng),并配置通過(guò),然后再接上外網(wǎng)接口。為了降低最后階段測(cè)試所帶
來(lái)的風(fēng)險(xiǎn),管理員可以在內(nèi)網(wǎng)連上少量的機(jī)器(主管理機(jī)器群與防火墻系統(tǒng)),當(dāng)測(cè)試通過(guò)后才逐步增加內(nèi)網(wǎng)的
機(jī)器數(shù)目。
“選定與測(cè)試日志文件的內(nèi)容特征”
當(dāng)日志文件出現(xiàn)存放空間不足時(shí),你需要設(shè)置防火墻系統(tǒng)自行反應(yīng)策略。下面有幾種相關(guān)的選擇:
·防火墻系統(tǒng)關(guān)閉所有相關(guān)的外網(wǎng)連接。
·繼續(xù)工作,新日志復(fù)寫(xiě)入原最舊的日志空間中。
·繼續(xù)工作,但不作任何日志記錄。
第一個(gè)選擇是最安全但又不允許使用在防火墻系統(tǒng)上的。你可以嘗試一下模擬防火墻系統(tǒng)在日志空間被全部占
用時(shí)的運(yùn)行狀態(tài),看看能否到達(dá)你所選擇的預(yù)期效果。
選擇與測(cè)試適當(dāng)?shù)娜罩緝?nèi)容選項(xiàng),這些選項(xiàng)包括:
·日志文件的路徑(例如防火墻本地或遠(yuǎn)程機(jī)器的儲(chǔ)存器)
·日志文件的存檔時(shí)間段
·日志文件的清除時(shí)間段
“測(cè)試防火墻系統(tǒng)”
每一個(gè)相關(guān)聯(lián)的故障都應(yīng)該寫(xiě)入測(cè)試報(bào)告中去(看整個(gè)測(cè)試過(guò)程的第一步),嘗試執(zhí)行與模擬所有有可能發(fā)生的
特定情況,并測(cè)試相應(yīng)的舒緩策略與評(píng)估其影響的破壞指數(shù)。
“掃描缺陷”
使用一系列的缺陷(漏洞等等)探測(cè)工具掃描你的防火墻系統(tǒng),看看有否探測(cè)出存在著已經(jīng)被發(fā)現(xiàn)的缺陷類型。
若探測(cè)工具探測(cè)出有此類缺陷的補(bǔ)丁存在,請(qǐng)安裝之并重新進(jìn)行掃描操作,這樣可以確認(rèn)缺陷已被消除。
“設(shè)計(jì)初步的滲透測(cè)試環(huán)境”
在正常工作的情況下,選定一個(gè)特定的測(cè)試情況集來(lái)進(jìn)行滲透測(cè)試。這些需要參考的情況包括出入數(shù)據(jù)包是否
已經(jīng)被路由了、過(guò)濾、記錄,且在此基礎(chǔ)上確保一些特殊服務(wù)(WWW、email、FTP等等)也能在預(yù)期中進(jìn)行此類
處理。
一旦需要到新的防火墻系統(tǒng)加入至正常的工作環(huán)境時(shí),你可以在改變網(wǎng)絡(luò)現(xiàn)狀前選擇使用一系列的測(cè)試來(lái)檢驗(yàn)
該改變是否會(huì)為正常的工作帶來(lái)什么負(fù)面影響。
“準(zhǔn)備把系統(tǒng)投入使用”
在你完成整個(gè)防火墻系統(tǒng)的測(cè)試之前你必須建立與記錄一套‘密碼’通信機(jī)制或其他的安全基準(zhǔn)手段以便你能
與防火墻系統(tǒng)進(jìn)行安全的交流與管理。查閱相關(guān)信息可以看Detecting Signs of Intrusion[Allen 00],特定
的實(shí)踐可以參閱"Identify data that characterize systems and aid in detecting signs of suspicious
behavior."。
在你完成測(cè)試過(guò)程時(shí)必須做一個(gè)配置選項(xiàng)列表的備份。查閱相關(guān)信息可以看Securing Desktop Workstations
[Simmel 99],,特定的實(shí)踐可以參閱"Configure computers for file backups."。
“準(zhǔn)備進(jìn)行監(jiān)測(cè)任務(wù)”
監(jiān)控網(wǎng)絡(luò)的綜合指數(shù)、吞吐量以及防火墻系統(tǒng)是確保你已經(jīng)正確地配置安全策略并且這些安全策略在正常執(zhí)行
的唯一途徑。
確保你的安全策略、程序、工具等等資源處于必要的位置以便你能很好地監(jiān)控你的網(wǎng)絡(luò)與機(jī)器群,包括你的防
火墻系統(tǒng)。
*****策略注意事項(xiàng)*****
你的組織/團(tuán)隊(duì)作防火墻/系統(tǒng)/網(wǎng)絡(luò)等安全測(cè)試行為應(yīng)該遵循以下:
·測(cè)試的防火墻系統(tǒng)必須在你能監(jiān)控的環(huán)境下進(jìn)行。
·防火墻系統(tǒng)在每次出現(xiàn)配置或結(jié)構(gòu)更改時(shí)應(yīng)該重新進(jìn)行滲透測(cè)試。
·定期升級(jí)滲透測(cè)試組件用于測(cè)試防火墻系統(tǒng)的配置狀況。
·定期升級(jí)與維護(hù)保護(hù)區(qū)中的各種應(yīng)用程序、操作系統(tǒng)、常用組件與硬件。
·監(jiān)控所有網(wǎng)絡(luò)與系統(tǒng),包括你的防火墻系統(tǒng),這是非常有必要的。