王剛 秦益飛 楊正權(quán)
隨著云計算和軟件定義網(wǎng)絡(luò) (Software Defined Network, SDN) 的快速發(fā)展, 如何快速的重構(gòu)傳統(tǒng)網(wǎng)絡(luò)的安全解決方案, 進而提升網(wǎng)絡(luò)安全防護的靈活性與效率,成為了亟待解決的問題。數(shù)據(jù)報文在網(wǎng)絡(luò)中傳遞時,需要經(jīng)過各種各樣的業(yè)務(wù)節(jié)點,才能保證網(wǎng)絡(luò)能夠按照設(shè)計要求,提供給用戶安全、快速、穩(wěn)定的網(wǎng)絡(luò)服務(wù)。網(wǎng)絡(luò)流量按照業(yè)務(wù)防護的需要,按照一定次序,流經(jīng)這些防護節(jié)點(如防火墻、URL filter、WAF等),這就形成了針對業(yè)務(wù)的個性化的安全服務(wù)鏈(Service Chain)。軟件定義安全(SDS)是從軟件定義網(wǎng)絡(luò)SDN引申而來,原理是將數(shù)據(jù)平面與控制平面分離,對物理及虛擬的安全設(shè)備及其接入模式、部署方式、實現(xiàn)功能進行了解耦,底層抽象為安全資源池里的資源,頂層統(tǒng)一通過軟件編程的方式進行智能化、自動化的業(yè)務(wù)編排和管理,以完成相應(yīng)的安全功能,從而實現(xiàn)一種靈活的安全防護。
然而,無論是軟件定義網(wǎng)絡(luò)(SDN),服務(wù)鏈(SC),或者是軟件定義安全(SDS),都是基于網(wǎng)絡(luò)安全設(shè)備或獨立的安全服務(wù)節(jié)點基礎(chǔ)上的安全服務(wù)編排。單臺網(wǎng)絡(luò)安全節(jié)點內(nèi)部,仍然遍布存在著各種各樣的安全策略的執(zhí)行——如密碼策略,包過濾策略,Anti-DDoS,防病毒等。日常安全運維過程中,對于這些安全策略的管理,存在較大的難題。本文旨在提出一種基于可視化的技術(shù),實現(xiàn)網(wǎng)絡(luò)安全設(shè)備內(nèi)部安全策略可視化編排和可視化監(jiān)控運行的方法,極大提高網(wǎng)絡(luò)安全運維人員的工作效率。
網(wǎng)絡(luò)安全的防護通常會采用多種多樣的安全產(chǎn)品和服務(wù),比如防火墻、負載均衡、WAF、IPS、Anti-DDoS等。隨著云計算技術(shù)的發(fā)展,虛擬數(shù)據(jù)中心中可以采用軟件定義安全(SDS)或者虛擬化安全資源池的方法,來實現(xiàn)基于設(shè)備級的安全服務(wù)鏈編排,以滿足定制化的網(wǎng)絡(luò)安全保護的需要。
在一臺網(wǎng)絡(luò)安全產(chǎn)品內(nèi)部,都是通過安全策略,實現(xiàn)網(wǎng)絡(luò)安全保護的目標。安全策略的作用是對進入網(wǎng)絡(luò)安全設(shè)備的數(shù)據(jù)流進行規(guī)則匹配,符合安全策略規(guī)則定義的流量,實施策略中定義相關(guān)的動作(如阻止,允許,告警等)。從空間位置的維度,有域間安全策略,域內(nèi)安全策略以及接口包過濾策略。從技術(shù)實現(xiàn)維度,安全策略又有ACL策略,黑白名單策略,強密碼認證策略,二次認證策略,硬件特征碼檢測策略等等。安全管理員通過配置各種安全策略,保護著網(wǎng)絡(luò)和系統(tǒng)安全。
然而,現(xiàn)有的安全策略管理中,會存在以下一些問題。
首先,網(wǎng)絡(luò)安全策略嵌入到網(wǎng)絡(luò)安全設(shè)備設(shè)備內(nèi)部,各個環(huán)節(jié)中,分散分布,因為安全策略導致的流量不通,或者用戶身份認證失敗的問題時有發(fā)生,往往比較難于定位,這給網(wǎng)絡(luò)安全運維帶來很大困難。
其次,由于網(wǎng)絡(luò)安全策略眾多,網(wǎng)絡(luò)運維人員對于已經(jīng)配置安全策略無法有更全面的了解,這給系統(tǒng)運維帶來了很多不便。
如何解決這類問題,是擺在網(wǎng)絡(luò)安全運維人員和業(yè)內(nèi)網(wǎng)絡(luò)設(shè)備提供商面前比較緊迫的問題。
(一) 策略描述模板
針對上文中提到的網(wǎng)絡(luò)安全運維過程中遇到問題,本文提出一種基于可視化的安全策略管理的方法。首先,本文定義一個統(tǒng)一的安全策略描述模板,用于描述所有的安全策略。這個通用模板包含如下屬性字段:策略類型,策略編號,策略優(yōu)先級、策略規(guī)則,策略動作,策略關(guān)聯(lián)關(guān)系等。
其中,策略規(guī)則用于描述策略匹配的具體條件。如在用戶登陸認證策略中,可以定義一條規(guī)則,匹配新設(shè)備上發(fā)起的認證請求。這樣,安全產(chǎn)品當檢測到當用戶使用新設(shè)備進行認證接入,就會實現(xiàn)規(guī)則匹配,并執(zhí)行相應(yīng)的策略動作。策略優(yōu)先級用于定義策略執(zhí)行的先后順序。高優(yōu)先級策略先執(zhí)行,低優(yōu)先級的策略后執(zhí)行。策略動作,用于指示滿足策略規(guī)則之后的所采取的動作。比如,可以是終止當前的業(yè)務(wù)流程記錄日志返回錯誤,或者是繼續(xù)下一條策略,亦或是強制忽略當前策略。
(二)安全策略鏈
如上文所述,在定義了統(tǒng)一的策略描述版本之后,就可以實現(xiàn)所有安全策略規(guī)范化描述,而如何進行策略的控制,則需要把策略按照優(yōu)先級高低鏈接起來,形成策略鏈。
通常情況下,根據(jù)業(yè)務(wù)流程可以將安全策略分成認證策略和訪問策略兩大類。認證相關(guān)策略包括,首登改密,強密碼策略,密碼超期策略,管理員白名單策略,登錄并發(fā)數(shù)限制策略,長時間未登錄策略,防暴力破解策略等。訪問策略包括,入向報文過濾策略,應(yīng)用訪問策略,出向報文過濾策略。兩大類策略中的每一個子策略,需要根據(jù)策略模板的要求,設(shè)定相應(yīng)的屬性,包括安全策略類型(認證或是訪問),策略的全局編號,策略優(yōu)先級、策略匹配規(guī)則,策略動作。
網(wǎng)絡(luò)安全運維人員定義一個認證相關(guān)策略,設(shè)定策略的優(yōu)先級,編排策略執(zhí)行先后順序;高優(yōu)先級的策略優(yōu)先執(zhí)行,低優(yōu)先級策略后執(zhí)行。如圖2所示,是認證相關(guān)的安全策略鏈的定義以及不同的運行狀態(tài)。將認證策略鏈關(guān)聯(lián)到用戶或者用戶組,即可實現(xiàn)針對不同用戶或者用戶組的安全策略鏈控制。
同樣的方法,網(wǎng)絡(luò)安全運維人員可以定義一條訪問策略鏈:設(shè)定一個應(yīng)用訪問流程中需要執(zhí)行安全策略的點,本文將其定義為策略鏈執(zhí)行錨點。在應(yīng)用訪問過程中的錨點,包括入向策略執(zhí)行錨點,出向策略執(zhí)行錨點,應(yīng)用訪問控制策略執(zhí)行錨點。在每個錨點處,可以添加各類安全策略,比如黑白名單過濾策略,抗DDos策略,ACL過濾策略,URL過濾策略。通過設(shè)定策略的優(yōu)先級實現(xiàn)策略在各個策略執(zhí)行錨點上多個策略執(zhí)行的編排。
用戶在進行一次登陸時,根據(jù)傳入登陸的會話信息(如用戶賬戶,設(shè)備信息,密碼),逐個匹配認證過程中定義的安全策略,匹配成功,則執(zhí)行相應(yīng)的策略動作,并根據(jù)定義轉(zhuǎn)到下一個安全策略,或是終止當前的認證流程。
用戶在觸發(fā)一次訪問時,在定義的訪問策略執(zhí)行錨點處,傳入用戶信息以及訪問流量信息(如五元組信息,URL信息),進行訪問安全策略規(guī)則匹配,匹配成功,則執(zhí)行安全策略相應(yīng)的策略動作:終止當前的流量訪問或是越過當前策略,自動進行下一個安全策略匹配。
安全運維人員可以選擇一個用戶和用戶組,可視化展示該用戶或者用戶組的策略執(zhí)行過程。通過色彩差異方式,區(qū)分策略執(zhí)行通過或者策略執(zhí)行失??;也可以選擇訪問類型策略鏈,通過設(shè)定IP地址,端口,URL等信息,定義運維人員感興趣的業(yè)務(wù)訪問流量,啟動業(yè)務(wù)流量安全策略執(zhí)行可視化跟蹤。
通過引入策略鏈,可以讓安全運維人員,更好地查看安全策略配置以及安全策略的執(zhí)行情況。為更好地實現(xiàn)安全策略鏈的設(shè)計,本文設(shè)計了一個可視化的安全策略編排器,統(tǒng)一將網(wǎng)絡(luò)安全產(chǎn)品所包含的全部安全策略按照認證策略和訪問策略兩大類,以圖形化方式,歸納到編排器中。如圖3所示。
安全策略可視化編排器中預(yù)置認證策略鏈和訪問策略鏈兩個業(yè)務(wù)流程。根據(jù)所表達的策略內(nèi)容,通過圖形化圖標,在策略編排器中進行可視化描述。
選擇一條認證業(yè)務(wù)流程,首先將流程關(guān)聯(lián)到用戶或用戶組;通過鼠標拖拽方式,將認證相關(guān)的安全策略關(guān)聯(lián)到該用戶或用戶組對應(yīng)的認證流程中。通過鼠標移動操作,調(diào)整策略鏈中策略執(zhí)行的先后順序,實現(xiàn)策略執(zhí)行編排。
安全運維人員也可以在一條授權(quán)業(yè)務(wù)鏈中通過自定義的方式派生出新的流程。比如可以增加一個二次認證業(yè)務(wù)流程,并在該策略鏈中,可以鼠標操作添加策略執(zhí)行以及策略執(zhí)行的先后順序。再比如可以插入微信認證,手機短信認證等策略,派生出一條二次認證的策略鏈。
同樣的,可以在安全策略編排器中,選擇一條訪問的策略鏈,將該業(yè)務(wù)鏈關(guān)聯(lián)到用戶或者用戶組;鼠標拖拽訪問相關(guān)的安全策略,調(diào)整安全策略的順序,可視化編排策略鏈的執(zhí)行。
本文描述了一種可視化的安全策略鏈編排的框架。基于該框架,定義統(tǒng)一的安全策略描述模板,實現(xiàn)安全策略鏈的可視化編排,顯著解決了傳統(tǒng)網(wǎng)絡(luò)安全產(chǎn)品中安全策略的管理分散,策略執(zhí)行過程不可見的運維問題,極大提高安全運維的效率,對實際網(wǎng)絡(luò)產(chǎn)品的研發(fā)具有很大的指導意義。
作者單位:江蘇易安聯(lián)網(wǎng)絡(luò)技術(shù)有限公司