試想一下:你正快速穿梭在繁忙的街道口,一個交通警察正猛力地跟你招手示意;然而,當到達警察身旁時,你會發現,原來他也正用另一隻手在指揮交通。其實,像這種情況,在瞬息萬變的企業環境當中,也是資安管理階層每天所要面對的課題:日趨複雜而變動性又相當高的網路中,這一頭總是不知道另一端正在忙些什麼?
除了要管理那些新增的存取裝置外,還得在猶如迷宮中的網路維持常態的防火牆規則,這事肯定是個夢魘!網路層層的控制,再加上多點通道,以及會觸發自動更改設定的工具,這些都有可能會造成防火牆規則的衝突和漏洞,而且,還會阻礙企業正常的網路流量,並使得企業遭受到攻擊。
要作好這些工作,除了管好過濾規則,別無他法。要是你知道存取控制規則是如何使人迷惑,而按標準程序來維持過濾規則的一致性,那麼,你會讓網路運作的順利點!
層疊的迷思
表面上,就企業網路和其資訊資產來說,一個由多重存取控制層所構成的階層式網路架構,似乎是提供了相當管用的縱深防禦策略。然而,只有在過濾規則維持前後一致和擁有完備的作業程序和政策,這種方式才能發揮出真正效用。缺乏前瞻性的規劃而又隨意地亂作規則變更,再加上溝通不良等因素,這些都應該要對多重存取控制的安全負責!
在階層式裝置裡,修正存取控制規則的順序是相當地重要!我們得依據周全的連線政策,並在受控管的作業程序底下,才能新增或修改這些規則;否則,遇到規則相衝突是必然之事。 舉例來說,要是一個處於網路源頭的裝置阻擋了流量,或者是關閉了某個下游裝置所允許通過的埠值,那麼,後者所作的規則設定就永遠不會有任何動靜,所以最好就是將之移除。要不然,這些無窮無盡的規則相衝突所形成的排列組合,也許是有那麼一點複雜及瑣碎?不僅會讓企業無法動彈,並且還會在防護工作上,留下無法偵測的缺口。
基於這個理由,我們必須去維持全部系統的政策和程序的一致性,所以當每組過濾規則都清楚明白,企業與安全兩者才會穩固。
為確保可以將之變成正常作業程序,貴單位組織必須要建立起一個組態設定檔的佈告區,以便可以檢視和允許防火牆規則的變更,或者是能觀察到安全性裝置的新增及移除,亦或是監看會影響到存取控制的任何其他改變;所以能將上述功能納入運作,則顯得相當地重要!另外,佈告區也應該要涵蓋所有關鍵人物的表決結果:像是老板,資料擁有者以及資儲中心管理人員,還有相關的安全管理者。
即便盡了最大努力,防火牆規則每過一段時日之後,便會不合時宜,因此,必須至少一季作一次綜合測試;相關設備要針對運作整合以及不當組態設定,還有防火牆規則一致性等項目進行測試。
更精確點的說法是?雖然是冗長乏味又耗損資源?測試就是去比對那些依企業政策而作的防火牆規則副本,並找尋是否有不同之處。另外,也可以藉由Nessus弱點評估掃描器或是能揭露防火牆弱點的商業性軟體,來找出更多的規則差異。
多點通道
目前網路架構已由單點式的網路出入口,演進成為由外部連線所構成的多通道複合形態。而管理多重防火牆的重要步驟,即是落在初始建構基礎和組態設定兩方面:每座防火牆應有詳實的文件記錄,以便劃定系統底線來面對所有其後發生的變動。
除此之外,每座防火牆也必須針對企業正常使用的功能,定出可供存取的最小量值。舉例來說,像是外部供應商的存取通道,應該要被設限在只能使用針對交易所開放的資源需求,如特定網站和資料庫。
不過,網路位址轉換協定(NAT,Network Address Translation)與VPN協定卻加深了多重防火牆在管理上的複雜性。如果當三項特性都集中在一台裝置上,NAT以及VPN的規則就必須與防火牆的規則要相容且一致。
牢記一點:最接近內部私有網路的防火牆通常要採取NAT規則。然而,假若想要所有層次的防火牆可以去區別不同使用者的話,那麼,直接面對網際網路的最外層防火牆就必須也要有NAT功能才行!如此一來,便可以在防火牆之間的網路,加上那麼一點多樣性。
同樣地,如果內部防火牆有執行VPN認證的情況,在外圍的防火牆就不能有任何的流量經過。而假如要讓外圍防火牆可以處理到VPN流量的話,也就是要在網路防線上,建立起防火牆之間的安全通道,這樣一來,敏感性的資料便不易外流。
安全管理人員在建立、變更和追蹤多重防火牆規則方面,可以採用集中式的管理工具來處理多重網路的存取通道。不過,廠商們所提供的工具,通常只在同質性的環境底下管用,而多數的大型企業,卻是混用不同廠牌的防火牆。基於這些因素,部分商業性的軟體工具可以讓我們集中管理防火牆規則和組態設定檔,以及製作記錄檔的關聯性並?整,另外,還有提供回報攻擊的中央控管機制,所以,也就能一次搞定NAT,VPN和防火牆三者之間的管理和整合問題。
接著,集權式政策管理系統通常要擁有版本控制能力,其實,也就是要能儲存和追蹤安全政策所作的變更!安全控管人員必須要知道改變了什麼?這是何時作的改變?是誰作了這些改變?而這些資訊要都能夠回溯既往的任何版本,並可以將其設定檔部署在運作之中的防火牆上。
自動化惹麻煩
我們可以說「自動化」的確是天上掉下來的禮物。不過,對安全管理人員來說,它也是個值得探討的課題。
像是IPSes以及其他主動回報的安全產品能夠動態改變防火牆的存取控制規則?如果當管理人員想要保持規則一致性時,這可真是擺了個大烏龍啊!這種因變更防火牆規則而受到阻絕服務攻擊的情形,目前已經有相當多的案例發生。而更糟的是,一個老練的攻擊者更可以藉由「幫你」新增數千條規則,來達到阻絕服務攻擊的目的;然後,你得經過又臭又長的時間,再花一大筆錢來清理掉這些問題。而一個攻擊者也能假造合法使用者的IP位址,此舉不但會引來自動防禦系統的封鎖,同時也阻擋了正常程序中的使用者。
就理想面來講,你當然不會想要允許這種自發性的變動。但是,就因為攻擊者可以在數秒之間,就癱瘓大型企業的網路,所以我們還是得在控制端,適當地使用受到監控的自動化更改程序。
建議是:步步為營,小心為上。這種自發性變動行為,擾亂了我們正常使用組態設定檔的佈告區。要不然,你應該使用安全裝置來呈現這類的改變,並讓其判別是否可以進行變更?而這同樣也需要一個資安中心進行全天候的回報分析,並作出裁示-雖然不多,但警告訊息是可以爭取到一些預算的。
黃金鐵則
假若照著存取控制的基本方針走-工作會輕鬆一點,而系統也會較穩固安全一些!
身處於防禦前線,我們必須將防火牆預設為封閉的狀態,除了必要服務或是明確清楚的連線形式,其餘一切應予以禁止,而此舉無異也是杜絕多數不明不白的流量流入。
另外,防火牆規則的設置,應該要盡可能與管理人員所控管的網路一樣具體明確?諸如「來源/目的IP位址」及「來源/目的埠值」,還有「所通過的應用程式的資訊(就proxy式防火牆來說)」等。這竅門在於可以粗略地阻擋所有多餘有害的流量,但又不會因為犯錯而封鎖住合法流量。
最後就是:讓規則簡單一點!防火牆規則應該在數量上,要有最低設限,以避免不預期會出現在存取控制清單中的規則漏洞。你是知道的,複雜的防火牆規則讓人難以理解什麼是允許?而何者又是遭拒絕的服務?
沒有錯誤和弱點提示的安全已是夠麻煩的了?所以,請循規蹈矩地設定防火牆組態,好讓您的網路安全一點吧!