建立一個(gè)可靠的規(guī)則集對(duì)于實(shí)現(xiàn)一個(gè)成功的、安全的防火墻來(lái)說(shuō)是非常關(guān)鍵的一步。因?yàn)槿绻愕姆阑饓σ?guī)則集配置錯(cuò)誤,再好的防火墻也只是擺設(shè)。在安全審計(jì)中,經(jīng)常能看到一個(gè)巨資購(gòu)入的防火墻由于某個(gè)規(guī)則配置的錯(cuò)誤而將機(jī)構(gòu)暴露于巨大的危險(xiǎn)之中。本文的目的就是幫助網(wǎng)絡(luò)管理員設(shè)計(jì)、建立和維護(hù)一個(gè)可靠的、安全的防火墻規(guī)則集,這里以高陽(yáng)信安的DS2000防火墻為例,不過(guò)其中包含的信息是適用于大多數(shù)的防火墻的。
如何建立一個(gè)安全的規(guī)則集呢?下面我們就從一個(gè)虛構(gòu)機(jī)構(gòu)的安全策略開(kāi)始,基于此策略,來(lái)設(shè)計(jì)一個(gè)防火墻規(guī)則集。
第一步:制定安全策略
防火墻和防火墻規(guī)則集只是安全策略的技術(shù)實(shí)現(xiàn)。管理層規(guī)定實(shí)施什么樣的安全策略,防火墻是策略得以實(shí)施的技術(shù)工具。所以,在建立規(guī)則集之前,我們必須首先理解安全策略,假設(shè)它包含以下3方面內(nèi)容:
1. 內(nèi)部雇員訪問(wèn)Internet不受限制。
2. 規(guī)定Internet有權(quán)使用公司的Webserver和Internet Email。
3. 任何進(jìn)入公用內(nèi)部網(wǎng)絡(luò)的通話必須經(jīng)過(guò)安全認(rèn)證和加密。
顯然,大多數(shù)機(jī)構(gòu)的安全策略要遠(yuǎn)遠(yuǎn)比這復(fù)雜,對(duì)本文來(lái)說(shuō),這就夠了。
第二步:搭建安全體系結(jié)構(gòu)
作為一個(gè)安全管理員,第一步是將安全策略轉(zhuǎn)化為安全體系結(jié)構(gòu)。現(xiàn)在,我們來(lái)討論把每一項(xiàng)安全策略核心如何轉(zhuǎn)化為技術(shù)實(shí)現(xiàn)。
第一項(xiàng)很容易,內(nèi)部網(wǎng)絡(luò)的任何東西都允許輸出到Internet上。
第二項(xiàng)安全策略核心很微妙,這就要求我們要為公司建立Web和E-mail服務(wù)器。由于任何人都能訪問(wèn)Web和E-mail服務(wù)器,所以我們不能信任它們。我們通過(guò)把它們放入DMZ(Demilitarized Zone,中立區(qū))來(lái)實(shí)現(xiàn)該項(xiàng)策略。DMZ是一個(gè)孤立的網(wǎng)絡(luò),通常把不信任的系統(tǒng)放在那里,DMZ中的系統(tǒng)不能啟動(dòng)連接內(nèi)部網(wǎng)絡(luò)。DMZ有兩種類型,有保護(hù)的和無(wú)保護(hù)的。有保護(hù)的DMZ是與防火墻脫離的孤立的部分;無(wú)保護(hù)的DMZ是介于路由器和防火墻之間的網(wǎng)絡(luò)部分。這里建議使用有保護(hù)的DMZ,我們把Web和E-mail服務(wù)器放在那里。
惟一的從Internet到內(nèi)部網(wǎng)絡(luò)的通話是遠(yuǎn)程管理。我們必須讓系統(tǒng)管理員能遠(yuǎn)程地訪問(wèn)他們的系統(tǒng)。我們實(shí)現(xiàn)它的方式是只允許加密服務(wù)進(jìn)入內(nèi)部網(wǎng)絡(luò)。
還有一樣?xùn)|西我們必須添加,那就是DNS。雖然我們沒(méi)有在安全策略中陳述它,但我們必須提供這項(xiàng)服務(wù)。作為安全管理員,我們要實(shí)現(xiàn)Split DNS。Split DNS是指在兩臺(tái)不同的服務(wù)器上分離DNS的功能。我們通過(guò)用一臺(tái)DNS來(lái)分析公司域名的External DNS服務(wù)器和一臺(tái)內(nèi)部用戶使用的Internal DNS服務(wù)器來(lái)實(shí)現(xiàn)該項(xiàng)功能。External DNS服務(wù)器與Web和E-mail服務(wù)器一起放在有保護(hù)的DMZ中,Internal DNS服務(wù)器放在內(nèi)部網(wǎng)絡(luò)中。
第三步:制定規(guī)則次序
在建立規(guī)則集之前,有一件事必須提及,即規(guī)則次序。哪條規(guī)則放在哪條之前是非常關(guān)鍵的。同樣的規(guī)則,以不同的次序放置,可能會(huì)完全改變防火墻的運(yùn)轉(zhuǎn)情況。很多防火墻(例如SunScreen EFS、Cisco IOs、FW-1)以順序方式檢查信息包,當(dāng)防火墻接收到一個(gè)信息包時(shí),它先與第一條規(guī)則相比較,然后是第二條、第三條……當(dāng)它發(fā)現(xiàn)一條匹配規(guī)則時(shí),就停止檢查并應(yīng)用那條規(guī)則。如果信息包經(jīng)過(guò)每一條規(guī)則而沒(méi)有發(fā)現(xiàn)匹配,這個(gè)信息包便會(huì)被拒絕。一般來(lái)說(shuō),通常的順序是,較特殊的規(guī)則在前,較普通的規(guī)則在后,防止在找到一個(gè)特殊規(guī)則之前一個(gè)普通規(guī)則便被匹配,這可以使你的防火墻避免配置錯(cuò)誤。
第四步:落實(shí)規(guī)則集
選好素材就可以建立規(guī)則集了,下面就簡(jiǎn)要概述每條規(guī)則。
切斷默認(rèn)
通常在默認(rèn)情況下,DS2000有多種服務(wù)是不公開(kāi)的。我們的第一步需要切斷默認(rèn)性能。
允許內(nèi)部出網(wǎng)
我們的規(guī)則是允許內(nèi)部網(wǎng)絡(luò)的任何人出網(wǎng),與安全策略中所規(guī)定的一樣,所有的服務(wù)都被許可。
添加鎖定
現(xiàn)在我們添加鎖定規(guī)則,阻塞對(duì)防火墻的任何訪問(wèn),這是所有規(guī)則集都應(yīng)有的一條標(biāo)準(zhǔn)規(guī)則,除了防火墻管理員,任何人都不能訪問(wèn)防火墻。
丟棄不匹配的信息包
在默認(rèn)情況下,丟棄所有不能與任何規(guī)則匹配的信息包。但這些信息包并沒(méi)有被記錄。我們把它添加到規(guī)則集末尾來(lái)改變這種情況,這是每個(gè)規(guī)則集都應(yīng)有的標(biāo)準(zhǔn)規(guī)則。
丟棄并不記錄
通常網(wǎng)絡(luò)上大量被防火墻丟棄并記錄的通信通話會(huì)很快將日志填滿。我們創(chuàng)立一條規(guī)則丟棄/拒絕這種通話但不記錄它。這是一條你需要的標(biāo)準(zhǔn)規(guī)則。
允許DNS 訪問(wèn)
我們?cè)试SInternet用戶訪問(wèn)我們的DNS服務(wù)器。
允許郵件訪問(wèn)
我們希望Internet和內(nèi)部用戶通過(guò)SMTP(簡(jiǎn)單郵件傳遞協(xié)議)訪問(wèn)我們的郵件服務(wù)器。
允許Web 訪問(wèn)
我們希望Internet和內(nèi)部用戶通過(guò)HTTP(服務(wù)程序所用的協(xié)議)訪問(wèn)我們的Web服務(wù)器。
阻塞DMZ
內(nèi)部用戶公開(kāi)訪問(wèn)我們的DMZ,這是我們必須阻止的.
允許內(nèi)部的POP訪問(wèn)
讓內(nèi)部用戶通過(guò)POP(郵局協(xié)議)訪問(wèn)我們的郵件服務(wù)器。
強(qiáng)化DMZ的規(guī)則
你的DMZ應(yīng)該從不啟動(dòng)與內(nèi)部網(wǎng)絡(luò)的連接。如果你的DMZ能這樣做,就說(shuō)明它是不安全的。這里希望加上這樣一條規(guī)則,只要有從DMZ到內(nèi)部用戶的通話,它就會(huì)發(fā)出拒絕、做記錄并發(fā)出警告。
允許管理員訪問(wèn)
我們?cè)试S管理員(受限于特殊的資源IP)以加密方式訪問(wèn)內(nèi)部網(wǎng)絡(luò)。
提高性能
最后,我們回顧一下規(guī)則集來(lái)考慮性能問(wèn)題,只要有可能,就把最常用的規(guī)則移到規(guī)則集的頂端。因?yàn)榉阑饓χ环治鲚^少數(shù)的規(guī)則,這樣能提高防火墻性能。
增加IDS
對(duì)那些喜歡基礎(chǔ)掃描檢測(cè)的人來(lái)說(shuō),這會(huì)有幫助。
附加規(guī)則
你可以添加一些附加規(guī)則,例如:
阻塞與AOL ICQ的連接,不要阻塞入口,只阻塞目的文件AOL服務(wù)器。
第五步:注意更換控制
在你恰當(dāng)?shù)亟M織好規(guī)則之后,還建議你寫上注釋并經(jīng)常更新它們。注釋可以幫助你明白哪條規(guī)則做什么,對(duì)規(guī)則理解得越好,錯(cuò)誤配置的可能性就越小。對(duì)那些有多重防火墻管理員的大機(jī)構(gòu)來(lái)說(shuō),建議當(dāng)規(guī)則被修改時(shí)??
規(guī)則更改者的名字。
規(guī)則變更的日期/時(shí)間。
規(guī)則變更的原因。
第六步:做好審計(jì)工作
當(dāng)你建立好規(guī)則集后,檢測(cè)它很關(guān)鍵。我們所犯的錯(cuò)誤由好的管理員去跟蹤并找到它們。
防火墻實(shí)際上是一種隔離內(nèi)外網(wǎng)的工具。在如今Internet訪問(wèn)的動(dòng)態(tài)世界里,在實(shí)現(xiàn)過(guò)程中很容易犯錯(cuò)誤。通過(guò)建立一個(gè)可靠的、簡(jiǎn)單的規(guī)則集,你可以創(chuàng)建一個(gè)更安全的被你的防火墻所隔離的網(wǎng)絡(luò)環(huán)境。
成功的訣竅:規(guī)則越簡(jiǎn)單越好
在我們深入探討之前,要強(qiáng)調(diào)一下一個(gè)簡(jiǎn)單的規(guī)則集是建立一個(gè)安全的防火墻的關(guān)鍵所在。網(wǎng)絡(luò)的頭號(hào)敵人是錯(cuò)誤配置。為什么當(dāng)你意外地將消息訪問(wèn)協(xié)議(IMAP)公開(kāi)時(shí),那些壞家伙會(huì)試圖悄悄攜帶欺騙性的、片斷的信息包通過(guò)你的防火墻?請(qǐng)盡量保持你的規(guī)則集簡(jiǎn)潔和簡(jiǎn)短,因?yàn)橐?guī)則越多,就越可能犯錯(cuò)誤,規(guī)則越少,理解和維護(hù)就越容易。一個(gè)好的準(zhǔn)則是最好不要超過(guò)30條。一旦規(guī)則超過(guò)50條,你就會(huì)以失敗而告終。當(dāng)你要從很多規(guī)則入手時(shí),就要認(rèn)真檢查一下你的整個(gè)安全體系結(jié)構(gòu),而不僅僅是防火墻。規(guī)則越少,規(guī)則集就越簡(jiǎn)潔,錯(cuò)誤配置的可能性就越小,系統(tǒng)就越安全。因?yàn)橐?guī)則少意味著只分析少數(shù)的規(guī)則,防火墻的CPU周期就短,防火墻效率就可以提高。