王剛 秦益飛 楊正權
隨著云計算和軟件定義網絡 (Software Defined Network, SDN) 的快速發展, 如何快速的重構傳統網絡的安全解決方案, 進而提升網絡安全防護的靈活性與效率,成為了亟待解決的問題。數據報文在網絡中傳遞時,需要經過各種各樣的業務節點,才能保證網絡能夠按照設計要求,提供給用戶安全、快速、穩定的網絡服務。網絡流量按照業務防護的需要,按照一定次序,流經這些防護節點(如防火墻、URL filter、WAF等),這就形成了針對業務的個性化的安全服務鏈(Service Chain)。軟件定義安全(SDS)是從軟件定義網絡SDN引申而來,原理是將數據平面與控制平面分離,對物理及虛擬的安全設備及其接入模式、部署方式、實現功能進行了解耦,底層抽象為安全資源池里的資源,頂層統一通過軟件編程的方式進行智能化、自動化的業務編排和管理,以完成相應的安全功能,從而實現一種靈活的安全防護。
然而,無論是軟件定義網絡(SDN),服務鏈(SC),或者是軟件定義安全(SDS),都是基于網絡安全設備或獨立的安全服務節點基礎上的安全服務編排。單臺網絡安全節點內部,仍然遍布存在著各種各樣的安全策略的執行——如密碼策略,包過濾策略,Anti-DDoS,防病毒等。日常安全運維過程中,對于這些安全策略的管理,存在較大的難題。本文旨在提出一種基于可視化的技術,實現網絡安全設備內部安全策略可視化編排和可視化監控運行的方法,極大提高網絡安全運維人員的工作效率。
網絡安全的防護通常會采用多種多樣的安全產品和服務,比如防火墻、負載均衡、WAF、IPS、Anti-DDoS等。隨著云計算技術的發展,虛擬數據中心中可以采用軟件定義安全(SDS)或者虛擬化安全資源池的方法,來實現基于設備級的安全服務鏈編排,以滿足定制化的網絡安全保護的需要。
在一臺網絡安全產品內部,都是通過安全策略,實現網絡安全保護的目標。安全策略的作用是對進入網絡安全設備的數據流進行規則匹配,符合安全策略規則定義的流量,實施策略中定義相關的動作(如阻止,允許,告警等)。從空間位置的維度,有域間安全策略,域內安全策略以及接口包過濾策略。從技術實現維度,安全策略又有ACL策略,黑白名單策略,強密碼認證策略,二次認證策略,硬件特征碼檢測策略等等。安全管理員通過配置各種安全策略,保護著網絡和系統安全。
然而,現有的安全策略管理中,會存在以下一些問題。
首先,網絡安全策略嵌入到網絡安全設備設備內部,各個環節中,分散分布,因為安全策略導致的流量不通,或者用戶身份認證失敗的問題時有發生,往往比較難于定位,這給網絡安全運維帶來很大困難。
其次,由于網絡安全策略眾多,網絡運維人員對于已經配置安全策略無法有更全面的了解,這給系統運維帶來了很多不便。
如何解決這類問題,是擺在網絡安全運維人員和業內網絡設備提供商面前比較緊迫的問題。
(一) 策略描述模板
針對上文中提到的網絡安全運維過程中遇到問題,本文提出一種基于可視化的安全策略管理的方法。首先,本文定義一個統一的安全策略描述模板,用于描述所有的安全策略。這個通用模板包含如下屬性字段:策略類型,策略編號,策略優先級、策略規則,策略動作,策略關聯關系等。

其中,策略規則用于描述策略匹配的具體條件。如在用戶登陸認證策略中,可以定義一條規則,匹配新設備上發起的認證請求。這樣,安全產品當檢測到當用戶使用新設備進行認證接入,就會實現規則匹配,并執行相應的策略動作。策略優先級用于定義策略執行的先后順序。高優先級策略先執行,低優先級的策略后執行。策略動作,用于指示滿足策略規則之后的所采取的動作。比如,可以是終止當前的業務流程記錄日志返回錯誤,或者是繼續下一條策略,亦或是強制忽略當前策略。
(二)安全策略鏈
如上文所述,在定義了統一的策略描述版本之后,就可以實現所有安全策略規范化描述,而如何進行策略的控制,則需要把策略按照優先級高低鏈接起來,形成策略鏈。
通常情況下,根據業務流程可以將安全策略分成認證策略和訪問策略兩大類。認證相關策略包括,首登改密,強密碼策略,密碼超期策略,管理員白名單策略,登錄并發數限制策略,長時間未登錄策略,防暴力破解策略等。訪問策略包括,入向報文過濾策略,應用訪問策略,出向報文過濾策略。兩大類策略中的每一個子策略,需要根據策略模板的要求,設定相應的屬性,包括安全策略類型(認證或是訪問),策略的全局編號,策略優先級、策略匹配規則,策略動作。
網絡安全運維人員定義一個認證相關策略,設定策略的優先級,編排策略執行先后順序;高優先級的策略優先執行,低優先級策略后執行。如圖2所示,是認證相關的安全策略鏈的定義以及不同的運行狀態。將認證策略鏈關聯到用戶或者用戶組,即可實現針對不同用戶或者用戶組的安全策略鏈控制。

同樣的方法,網絡安全運維人員可以定義一條訪問策略鏈:設定一個應用訪問流程中需要執行安全策略的點,本文將其定義為策略鏈執行錨點。在應用訪問過程中的錨點,包括入向策略執行錨點,出向策略執行錨點,應用訪問控制策略執行錨點。在每個錨點處,可以添加各類安全策略,比如黑白名單過濾策略,抗DDos策略,ACL過濾策略,URL過濾策略。通過設定策略的優先級實現策略在各個策略執行錨點上多個策略執行的編排。

用戶在進行一次登陸時,根據傳入登陸的會話信息(如用戶賬戶,設備信息,密碼),逐個匹配認證過程中定義的安全策略,匹配成功,則執行相應的策略動作,并根據定義轉到下一個安全策略,或是終止當前的認證流程。
用戶在觸發一次訪問時,在定義的訪問策略執行錨點處,傳入用戶信息以及訪問流量信息(如五元組信息,URL信息),進行訪問安全策略規則匹配,匹配成功,則執行安全策略相應的策略動作:終止當前的流量訪問或是越過當前策略,自動進行下一個安全策略匹配。
安全運維人員可以選擇一個用戶和用戶組,可視化展示該用戶或者用戶組的策略執行過程。通過色彩差異方式,區分策略執行通過或者策略執行失??;也可以選擇訪問類型策略鏈,通過設定IP地址,端口,URL等信息,定義運維人員感興趣的業務訪問流量,啟動業務流量安全策略執行可視化跟蹤。
通過引入策略鏈,可以讓安全運維人員,更好地查看安全策略配置以及安全策略的執行情況。為更好地實現安全策略鏈的設計,本文設計了一個可視化的安全策略編排器,統一將網絡安全產品所包含的全部安全策略按照認證策略和訪問策略兩大類,以圖形化方式,歸納到編排器中。如圖3所示。
安全策略可視化編排器中預置認證策略鏈和訪問策略鏈兩個業務流程。根據所表達的策略內容,通過圖形化圖標,在策略編排器中進行可視化描述。
選擇一條認證業務流程,首先將流程關聯到用戶或用戶組;通過鼠標拖拽方式,將認證相關的安全策略關聯到該用戶或用戶組對應的認證流程中。通過鼠標移動操作,調整策略鏈中策略執行的先后順序,實現策略執行編排。
安全運維人員也可以在一條授權業務鏈中通過自定義的方式派生出新的流程。比如可以增加一個二次認證業務流程,并在該策略鏈中,可以鼠標操作添加策略執行以及策略執行的先后順序。再比如可以插入微信認證,手機短信認證等策略,派生出一條二次認證的策略鏈。
同樣的,可以在安全策略編排器中,選擇一條訪問的策略鏈,將該業務鏈關聯到用戶或者用戶組;鼠標拖拽訪問相關的安全策略,調整安全策略的順序,可視化編排策略鏈的執行。
本文描述了一種可視化的安全策略鏈編排的框架?;谠摽蚣?,定義統一的安全策略描述模板,實現安全策略鏈的可視化編排,顯著解決了傳統網絡安全產品中安全策略的管理分散,策略執行過程不可見的運維問題,極大提高安全運維的效率,對實際網絡產品的研發具有很大的指導意義。
作者單位:江蘇易安聯網絡技術有限公司