防火牆審計

防火牆審計是對整個防火牆的功能、設定、管理、環境、弱點、漏洞等進行全面的審計

基本介紹

  • 中文名:防火牆審計
  • 簡介:弱點、漏洞等進行全面的審計
  • 原因:人為的疏忽
  • 情況:對於客戶來說,這是負責任的做法
原因,人員,方法和步驟,

原因

審計防火牆就是要查找防火牆的問題。導致防火牆出問題的因素很多。歸結起來,主要有以下四個方面的因素:
第一,人為的疏忽。
智者千慮,必有一失。防火牆雖然已有了十多年的歷史,但直到今天,還沒有一個廠家可以向客戶提供簡單明了的管理界面。即使一個經驗豐富的防火牆管理員,面對幾十條上百條防火牆規則(FirewallRules),也有搞糊塗的時候。一個生手就更不必說了。有時規則之間互相衝突。有的洞開得太大,不能夠起到保護內部網路的作用。有的規則根本就違反公司的安全政策(SecurityPolicy),就不該存在。有的單位讓多人擁有防火牆管理員的帳戶。誰高興了就來設定一條新的規則,防火牆被搞得亂七八糟。防火牆是不會提醒操作員這些問題的。這些問題使防火牆的有效性大打折扣。糾正這一類問題的辦法,就是靠定期的審計。
第二,管理的鬆懈。
這是最普遍的情況。對於一個小公司來說,也許有一座防火牆就足夠可以應付守衛網路的需求。不過,這樣一個小公司,往往雇不起一個防火牆專家,就只好把這一職責外包。那個承接外包的安全公司,也許就只有那么兩、三個防火牆專家在唱空城計。他們每人至少要看管好幾十個公司的防火牆,人員經常處於超負荷運行狀態。為了盡力滿足客戶的需要,他們基本上是有求必應。如果對客戶說“不”,以後的契約就不好拿到了。很多安全漏洞就出在這裡。因為客戶們的安全知識有限,他們提出的要求有不少是違反安全原則的。隨便答應了他們,就在防火牆留下了一個個安全隱患。有的公司連把防火牆外包的錢都不想花,就賭自己公司不會有霉運,隨便讓公司內部某個未經防火牆培訓的網管兼任牆管的重任。錢是省了,可是,一場大禍,這省的錢就會加倍地賠出去。大點的公司,情況似乎好一些。防火牆有專人負責。可是,公司一大,防火牆的數目也跟著增長(筆者就職的公司有四百多座防火牆,還有很多嵌入式防火牆裝在3G的微波塔內)。尤其是,公司內部也互設防火牆,以達到分級保護的目的。這就使情況極為複雜。牆越多,管理的難度就越高。一個數據在公司內部從網路的一端走到另一端,可能要通過好幾道防火牆。如何讓各種數據暢通無阻又不在安全方面妥協退讓,就成為一個十分複雜的問題。當然,最偷懶省事的辦法就是打開閘門,讓魚蝦螃蟹一律通過。這種情況尤其是在緊急狀態下常出現。很多臨時加上去的應急策略往往變成永久策略。這就種下一個個禍根。防火牆一多,正確地做變更日誌就困難得多。沒有精確地做好變更日誌,加上人員的流動,久而久之整個防火牆系統就成為一團理不清的亂線,該擋的不去擋,該放行的不放行。另外一個十分常見的防火牆管理方面的問題,就是忽略了對防火牆日誌的定期審計。以至於牆內外風聲四起,雷鳴電閃,防火牆管理員也照常睡大覺。對付以上這一類的問題,只有加強管理。和財務管理一樣,防火牆的管理不能沒有定期的審計。定期的審計可以協助防火牆管理人員理清亂線,發現潛在的危機,消除隱患。對於客戶來說,這是負責任的做法。
第三,防火牆自身存在的漏洞或缺陷。
一個防火牆今天是密不透風,如銅牆鐵壁,過些天就有可能是漏洞百出,有如一團豆腐渣。這種情況是如何產生的呢?迄今為止,還沒有哪個廠家生產的防火牆不存在任何安全漏洞。只不過那些漏洞須經時日才能被逐漸發現。每當這種情況發生,生產廠家就要拿出修補的軟體包,供用戶安裝。有時甚至要推出新的版本才能堵住漏洞。問題在於,能懶就懶的防火牆管理員不乏其人。天長日久,欠的補釘太多了,問題就越來越大。有時,防火牆本身並不存在什麼大問題,但問題出在防火牆軟體基於的作業系統軟體上。目前大部分線上的防火牆仍然是軟體防火牆。一般地說,每個防火牆至少有一個網路界面可以進入防火牆的作業系統操,還有一個界面可以用來管理防火牆。我們叫它管理界面(ManagementInterface)。它們應該是被設定在特殊的孤立網路環境裡。但在現實中往往並不是這樣。通過攻擊防火牆作業系統和管理界面的漏洞,可以一舉攻破防火牆,起到出其不意的效果。要堵住操作系統的漏洞,也基本上是靠生產廠家提供修補程式。只要嚴格按照廠家的信息,及時修補作業系統的漏洞,嚴格控制進入管理界面的渠道,這一問題就不會存在。還有的防火牆,由於價格過於低廉,功能太差,比如說不能檢測和阻擋拒絕服務類的攻擊,無法滿足日益增長的安全需要,就只好更新換代。對防火牆的定期審計,可以查出這一方面的問題,及時採取明智的措施。
第四,防火牆的運行及環境狀況。
對於很多企業來說,防火牆是數據進出口的重要關卡。防火牆一旦停止運行,或者出現阻滯的狀態,企業的運營就會受影響。一個正常情況下運行的防火牆,應該有足夠的記憶體和外存空間來周轉和儲存數據,在大多數的時間處理器不是處於滿負荷狀態,防火牆有高質量的穩壓電源及斷電保護,周圍溫度和濕度有嚴格的控制,以及物理安全有保障。當然,最好所有的防火牆都能夠有failover的設定。這樣在主牆倒塌的情況下,預備牆可以自動接替。這些條件,並不是所有單位都有做到。這方面的問題,往往最容易受到忽略。有的公司把防火牆與伺服器,網路開關,路由器等同堆在一層架子上。網路管理員一不小心就可將防火牆的電纜碰掉,造成網路中斷。這一類的問題看起來並不難解決,但並不是所有單位都解決好了。審計防火牆,可以發現這方面的問題。
現在,我們對為什麼要定期審計防火牆,以及主要從哪幾個方面去查問題,應該有個較清楚的輪廓了。

人員

就像有財務知識和經驗的專業人員原則上都可以搞財務審計一樣,大凡精通網路安全審計及防火牆管理的專業人員,原則上都可以審計防火牆。但是,這裡還是有一些規矩的。
一般來說,防火牆管理員本人不應被聘請來審計自己管理的防火牆。這和財務上把審計和財會人員職責分開有些類似。鮮有防火牆管理員會承認自己管理的防火強存在重大問題。別人從另外一個角度來看問題,就比較容易發現毛病之所在。當然,有師徒關係的防火牆管理員最好也不要互查防火牆。尤其在國內,礙面子的話總說不出口。另外,如果一家單位是把防火牆管理工作外包的話,那么就最好不要請同一外包公司審計自己的防火牆。但是如果那家外包公司主動經常地審計客戶的防火牆,那倒是件好事。大公司可以讓不管理防火牆的網路安全管理人員來審防火牆,或者乾脆把這一工作外包
有人會提出,既然審計防火牆有一定的規矩去遵循,為什麼不寫一個軟體去把這項業務自動化?到目前為止,審計防火牆日誌的軟體倒是有不少,也有人寫出軟體來審計防火牆的規則。但對防火牆進行全面的審計,和財務審計那樣,牽涉到的因素太多,不能全用軟體來執行。尤其是上市公司的安全審計結果會影響公司的聲譽及股票持有人的信心。稍一出錯就有可能牽扯到法律訴訟。在這類情況下,人的經驗還是最可靠的。目前審計防火牆最快捷的辦法,就是事先開列詳細的審計步驟,一步一個腳印地執行,把審計結果一一填寫在事先準備好的一堆(電子)表格上(AuditChecklist)。表填滿了,剩下的任務就是填表寫報告。

方法和步驟

(1)在開始審計防火牆前,要把防火牆的周圍網路環境,保護對象,安全要求搞清楚。還要蒐集一些必要的資料為後面的步驟做準保。至少要得到最新的以下方面的情報:
防火牆周圍區域網路的流程圖(包括內部和外部)
路由器的設定
防火牆及周圍設備在網路上的名字和IP位址
防火牆網路連線情況(防火牆每個網路界面的IP和鄰近設備)
有關防火牆的最基本信息,比如生產廠家,版本,質量保障契約,管理員的姓名,24小時技術支持的電話號碼,等等。
防火牆使用單位的安全政策(SecurityPolicy)。在國內還必須搞清楚國家政策和法律要求。
防火牆的管理制度(書面)。要仔細檢查責任制,變更控制過程(changecontrolprocess),維修和廠家銷後支持的途徑及過程,等等。
防火牆的安裝、使用、升級、維護、及日常管理記錄。
這一步實際上是為整個審計工作做準備。如果缺少以上任何一個方面的情報,必須在審計報告中建議有關人員補上。最難補的是安全政策。可是一個單位如果沒有一個哪怕是很簡單的安全政策,信息安全就只能是兒戲,充其量是某種權宜之計。如果缺失防火牆記錄,能補的儘量補上,補不上的就從現在開始嚴格地做記錄。根據筆者的經驗,很多單位在這第一步就出問題。比如,根本沒有任何的防火牆管理制度或維護日誌。即使有,也是基本空白。防火牆的管理界面放到高危險區,防火牆的Internet連線埠接入的網路開關(NetworkSwitch)上接入了幾個未登記的機器,等等。但如果這第一步沒有問題,後邊的問題也不會太多。
(2)下一步就是查看防火牆的配置、環境、和運行情況。這其中包括邏輯的和物理的狀況要調查的至少應包括以下幾個方面:
防火牆的硬體設定(這主要是查處理器的數目及速度,硬體防火牆免查這一項)。
防火牆的作業系統及版本(硬體防火牆免查作業系統及版本)。
防火牆的網卡設定速度。是不是halfduplex?是不是10Base-T?其速度跟網路開關的速度是否嚴格匹配?
防火牆的日誌是存在哪裡的(存在自身的硬驅還是另一計算機的硬驅)?如果存在另外一台計算機上,那么是如何保護日誌的(是否加密)?保存多長時間?有沒有把日誌備份到磁帶上?
如果防火牆的日誌是存到自己的硬驅里,那么硬驅總共有多大存儲空間?還剩多少存儲空間?如果只剩有很少的空間,那么要趕快想辦法。
看一看防火牆的記憶體(RAM)使用情況。看看是否經常處於滿負荷狀態。如果是,就要在審計報告中建議考慮增加記憶體。
看一看防火牆的中央處理器使用情況。看看是否經常處於滿負荷狀態。如果是,就要在審計報告中建議更換機器。
對於軟體防火牆,是不是定期將所有數據(包括作業系統)備份到磁帶上?
防火牆有沒有failover設定?如果有,怎么測試它是否真的管用?
有沒有緊急情況應急方案?對方案有沒有進行定期的實戰訓練?
有關防火牆的檔案是不是胡亂堆在哪個桌子上任人翻看?防火牆是放在哪裡的?機房溫度是否太高?防火牆的散熱風扇是否在轉?摸摸防火牆是不是燙手?機房的門是不是大敞開歡迎各方遊客?機房有沒有防火報警器?防火牆是不是隨便堆在另一台計算機上面一碰就倒?所有的電纜是否用標籤明確地說明網路界面及IP?電纜是不是吊在空中一不小心就會把人絆倒?電源是不是穩壓的?有沒有斷電保護?機房地面是不是防靜電的?機房的垃圾桶裡面是不是有防火牆的示意圖、半截菸頭、香蕉皮、色情圖文?一個隨便亂丟機密檔案、在機房吸菸、飽開口福、想入非非的防火牆管理員是難以勝任的。
上面除第一個環節外,其它任何一個環節出問題,都有可能導致嚴重的後果。像防火牆作業系統的版本,如果還是SunSolaris2.6,就是個大問題。因為Sun(昇陽公司)早就停止支持Solaris2.6,並不再為其寫任何補釘了。這就是說,如果某黑客發現了一個新的SunSolaris2.6的漏洞,SunSolaris2.6的用戶將毫無舉措。
(3)下一步就是了解防火牆的自身安全狀況。防火牆是用來保護網路的,當然首先要有能力保護自己。自身不保的防火牆等於是放火牆。在這方面至少要把以下幾點搞清楚:
對於軟體防火牆,查看防火牆的作業系統究竟有沒有按照生產廠家的規定,安裝足夠的安全補釘。如果沒有,那么將缺少的補釘一一列出來。
查看防火牆本身的補釘–是否有按照生產廠家的規定,把安全補釘裝夠。如果沒有,那么將缺少的補釘一一列出來。如果是硬體防火牆,那么就要查看防火牆的 Firmware版本。然後核對生產廠家的最新版本。如果防火牆的Firmware確版本不是最新的,那么就要在審計報告中把這個問題寫上去。
有多少人被授權進行防火牆的管理?他們是使用各自的用戶名進入防火牆管理界面,還是否共享一個用戶名?有沒有一張示意圖表明這些人的許可權?他們是否被要求定期更換口令?是否允許使用脆弱口令?防火牆日誌是否記詳細記錄每個管理員的進入系統的時間、輸錯口令的次數、被拒絕進入的次數,退出系統的時間,等等。
有沒有“後門”可以避開種種安全控制,進入防火牆。這是比較困難的。因為防火牆管理員一般不會說出這一類秘密。要做些研究,包括向生產廠家詢問。特別是要向生產廠家打聽系統安裝時第一個使用的用戶名及口令。然後看看那個用戶名和口令是不是在系統安裝好後已更改。
防火牆管理是從哪台計算機進行操作的?那台計算機是不是有螢幕保護以防止外人隨意操作?是不是誰都可以躲在後面偷看一把?翻開鍵盤底下,是不是寫了一行口令?
一般地說,防火牆的管理是遠程操作的。那么,我們要了解這一遠程操作過程是否自始至終加密。可以試試用Telnet遠程登錄。還要搞清楚是不是任何IP都可以允許進行遠程管理。如果是,一定要在審計報告中要求對IP 加嚴格的限制。
對於軟體防火牆,還要仔細檢查作業系統的設定。是不是有任何多餘的系統過程(services)在運行?各用戶口令是否定期改變?是否允許使用脆弱口令?是否有完備的作業系統安全日誌?等等。
(4)現在我們要進入審計的核心部分:檢查防火牆的規則(ruleset)。這是防火牆審計過程中最困難、最複雜,最費時的一步。
每一條防火牆的規則的產生或更改,都需要有詳細的注釋,寫清楚是誰要求添加和修改的,原因何在,添加或更改的日期,以及時限等。我們首先要把全部的規則從防火牆調出(幾乎所有品牌的防火牆都有這項功能),然後列印出來。下面就要一條一條地去查看是否有注釋……如果任何一條規則後面沒有加注釋,那么就要在審計報告中建議防火牆管理員補上。
然後,我們要檢查防火牆的第一條規則。防火牆的第一條規則就是拒絕一切數據流進入(“blockall”)。這一步極少出問題。
下面的工作,就是要把所有時限並過時了的規則列在一起。這一步的目的就是防止那些應急策略變成永久策略。如果防火牆管理員對於每一條規則都做了詳細的注釋,這一步就很快可以完成。完成這一步可以為下一步減少許多工作量。找出了所有的過時了的規則後,最終目的是要把它們刪除,或者把它們變成永久性的(在不違反安全政策的前提下)。如果防火牆管理員不能提供很好的注釋,這一步就無法完成。下一步就要多一些工作量。要把這個問題寫在審計報告上,以防再次出現。
然後我們要一條一條地去核實防火牆規則的有效性。所謂有效性,是指兩個方面。其一是指每一條規則是否需要存在。最簡單的做法,就是核實每一條規則的起點和終點是否還存在。比如說一條規則要從內部IP192.168.24.20到外部IP201.30.33.11打開TCP連線埠3105,使公司某人可以參加某個網上會議。但是仔細一檢查,IP201.30.33.11已關閉多時。也就是說這一條規則無效,必須刪除,或者改到正確的IP上。有效性又是指每一條規則是否能夠做要做的事情。還以上面的例子,假如兩個IP都處於工作狀態,但是公司里這個參加網上會議的人老是抱怨不能觀看對方的實況樣品電視解說。只可以看靜態的圖象。檢查原因,TCP連線埠3105是打開了,但是對方的系統要求把UDP連線埠也打開,才能看到電視。這條規則須經修改,加開UDP連線埠3105.
防火牆規則安全性的涵義較廣。接受過專門培訓的防火牆管理員一般是知道如何避免使用不安全的規則。但是現實中有很多複雜的情況,稍不留心就會使一條規則成為一個安全隱患。安全性方面大多數問題都是把“洞”開得太大,或開在不該開的地方。舉個例子,假設在DMZ上有幾十台網際網路伺服器(WebServer)在日夜運行。日常管理和監視這些伺服器是通過一台設在內部網的Tivoli伺服器來執行的。可是Tivoli伺服器和DMZ上的幾十台網際網路伺服器之間有一層防火牆擋著。根據IBM的技術文獻,這就要在這一層防火牆開許多連線埠才行。有些還必需是雙向的(bi-directional)。如果真聽了IBM的話,那防火牆的安全性就大打折扣。因為攻破DMZ是相對來說較容易的事。攻破了DMZ,又有這么多連線埠大門敞開,攻入內部網路就不太費事了。解決這個問題的辦法,是關掉這些連線埠,在DMZ上安裝一個Tivoli數據中轉伺服器,然後只要在防火牆上開兩個單向連線埠就行了。安全性還反映在是否執行單位的安全政策方面。比如說,某單位的安全政策規定不準隨便安裝SMTP伺服器。但是某部門異想天開,要試驗一下讓客戶能夠自己開啟用自己註冊域名的Email帳戶傳送電子郵件的可行性。由於大家深知SMTP的危險性,就決定把它裝在DMZ上,內外各有一層防火牆作屏障。可是由於SMTP連線埠在防火牆上已打開,而且由於是試驗的緣故,對四面八方的郵件轉發(MailRelay)的申請一概不拒。這一連線埠一開,立即被世界上眾多的垃圾郵件傳送裝置自動掃描到。幾小時後成千上萬的垃圾郵件就潮水般地涌過來,尋找免費服務。可是那個防火牆後面的SMTP伺服器卻說不行,因為你們都不能通過我的身份鑑別。但那成千上萬的垃圾郵件傳送裝置不管這一套。這個失敗了,那個又來碰碰運氣。這樣一來,這台SMTP伺服器一天到晚在被狂轟濫炸。炸幾下並不會導致任何嚴重後果。問題是網路被阻塞。事實上,這個問題在國內比較嚴重。很多SMTP伺服器根本沒有任何防範垃圾郵件功能。它們深受國際垃圾郵件大佬們的青睞。解決這個問題很簡單:在審計報告中建議:嚴格按照單位的安全政策辦事,取消這類的不安全的SMTP伺服器。中國的具體國情是,國家有嚴格規定阻擋特定的IP流通。那么這也是要查的一項。
最後,我們要確保防火牆規則的合理性。合理的防火牆規則應沒有重複,沒有交疊,它們之間也不互相衝突。這方面的問題在多人管理的防火牆上較多。要把重複的,相互交疊的,還有互相衝突的規則列出來,在審計報告中建議修改它們。
上面幾件事做好了,防火牆的一團亂線就理清了,人為造成的漏洞堵住了。在美國很多單位有人僅憑做好這件事情,就會得到上面的嘉獎。因為它解決了很多實際問題。
(5)上面幾個環節,都是由經驗豐富的人去做的。現在我們可以輕鬆一點了:讓傻瓜機器去幫點忙。這就是對防火牆進行漏洞掃描(VulnerabilityScan)。這一類時髦的安全軟體工具市場上至少已有一打。有些確實很好。要注意的是,對防火牆的每一個網路界面都要掃描一番,不要漏掉任何一個。如果你有更時髦的穿透試驗(PenetrationTest)軟體,當然也無妨拿過來用用。你手中的百般武藝盡可以拿來大顯身手。筆者還建議,對用來做防火牆管理的計算機也不妨掃描一番,比如說看看是否有人已送了一個特洛伊木馬去常駐。如果把存放防火牆日誌的那台計算機也掃描一番,也不算過分。把所有掃描結果寫到審計報告上。有一點要注意的是,不管你用何種方法對防火牆進行掃描,一定要把時間,掃描工具或人使用的IP都準確地記下來。在下一步的審計防火牆的日誌時,一定要看看防火牆日誌有沒有把受到的攻擊如實記錄下來。有的防火牆設定有警報。要看看警報系統是否正常工作。
(6)然後,我們來審計防火牆的日誌。國內對這方面已有不少介紹。這裡就不打算重複了。這方面的軟體也不少。我想提醒兩點:第一,對於軟體防火牆,別忘了也審計防火牆作業系統的日誌。如果一台防火牆也用來做VPN,那么也要注意有關VPN上各項活動的日誌(一般來說這類VPN沒有獨立的日誌)。如果一台防火牆也用來做代理伺服器(Proxy),那么也要審計代理伺服器的日誌。審計代理伺服器的日誌耗費時間,用軟體工具可以大大提高效率。第二,審計防火牆的日誌,並不單單是一個技術問題,有時也可能會引出人事,法律,隱私等問題。它在某種程度上可以監視跟蹤員工上班時的網上行為。它可能導致員工丟飯碗,也可能暴露員工的工作效率,癖好,情緒,乃至性傾向。筆者在1996年某次查看防火牆員工瀏攬網際網路日誌,發現某部門的一個挺不錯的員工的“性”趣全是同性。在跟同事聊天時不慎說漏了嘴,很快這訊息就長了翅膀。不久那個員工就在風言風雨中辭職了。這是筆者的一個永遠的沉痛教訓。審計防火牆的日誌,最好由兩人查看同一日誌,以防任何一人隱瞞任何問題。但對於審計的結果,要嚴加保密。如果審計兵結果牽涉到人事、法律方面的問題,要把原始證據妥善保存好,以便覆核。只有原始日誌才能用於法律證據。在防火牆的審計報告中要隱去涉嫌人名。
(7)最後的一步,就是對防火牆實施攻擊測驗(PenetrationTesting),以測驗防火牆的真實安全性。這需要最謹慎從事。這是只有專家才能做的事情。不同的專家由於經驗和手段不同,會得出不同的結果。稱職的這類專家人數極少。如果沒有條件,這一步可以省略。
對防火牆的審計工作本身,大致就是這些步驟。但要把工作善始善終,還有一件大事要做,這就是要把審計報告寫出來。這是可以自動化的。把上述講的所有結果列在一張表格上。然後給每一方面進行打分。打好分後把分數最低和最高的那幾條寫到總結里去。對需要改正的地方,提出相對的建議。然後再把幾個大方面的結果畫幾張五顏六色的大餅圖。最後再搞幾個附錄之類的。報告就做出來了。國內有些有關網路安全的文章,寫的充滿玄機,深不可測,把簡單的事情搞複雜了。但是防火牆的審計報告,卻要以簡單明了的方式和格式,讓客戶看得懂,知道怎樣去改正錯誤,避免再犯錯誤。這就要把複雜的事情弄簡單一些。

相關詞條

熱門詞條

聯絡我們