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