唐樹鶯
(湖南省煙草專賣局(公司) 信息中心,湖南 長沙 410004)
習近平總書記提出,沒有網絡安全就沒有國家安全。《中華人民共和國網絡安全法》的正式施行,標志著網絡空間不再是法外之地[1]。網絡基礎設施的運營者未盡到對所管理信息資源的保護義務而造成網絡安全事故,將承擔相應的法律責任[2]。互聯網運行系統是政企事業單位對外進行信息交互的窗口,被列為關鍵信息基礎設施,也更容易受到網絡攻擊。大數據等新興技術為網絡安全工作提供了更多可能,在此背景下將大數據技術應用于互聯網運行系統的安全保護,是一個有益的探索課題。
在對互聯網運行系統建設單獨的安全監控系統前,某單位對互聯網運行系統的監控主要依賴于堡壘機運維審計、數據庫審計系統和SOC安全管理平臺。這三類監控平臺主要基于流量及安全事件進行監控,監控功能相對單一,且根據業務需求定制開發的難度較大。同時,傳統的基于關系型數據庫存儲的安全監控系統無法有效進行數據整合分析,只能對平臺自身內部預計定義的數據進行存儲,無法保存原始的數據記錄,因此在數據完整性層面上存在不足。
機器數據在大數據領域具有增長最快、內容最多、最具有價值的特點,但用戶直接面對的機器數據繁雜、專業性強、可讀性差。本文研究互聯網運行系統的安全監控系統,采用能針對機器數據進行分析的Splunk作為安全監控信息處理的數據平臺,具有數據采集范圍廣、方式靈活、功能強大等特點。
Splunk 是一個時間序列數據索引器。底層基于搜索引擎技術實現,可原樣保存數據,不丟棄數據的任何部分。Splunk采用SPL搜索語言,具備強大的數據搜索、分析、過濾、操作和處理能力,并具有查詢、告警、統計、分析等核心功能,提供REST API、SDK、Web Framework等多個開發應用接口。
Splunk能索引任何機器數據,包括Windows和Linux/Unix操作系統數據、虛擬化數據、信息系統應用數據、數據庫數據及網絡數據等[3]。該平臺具有靈活多樣的數據采集方式,能實時從日志文件獲取事件、通過連接到API和數據庫的運行腳本獲取系統參數,監聽syslog獲取Windows事件等,并采用通用方式索引任何內容格式的數據,不需要連接器預先處理。
Splunk大數據平臺廣泛的數據來源和靈活的數據采集方式,使其具備豐富的應用場景,能用于基礎架構和運維的管理、應用程序管理、安全領域和監控告警等。
根據某單位的業務現狀,研究的安全監控系統主要監控外網網站、一站式服務、移動應用和統一訂單4個互聯網運行系統。基于業務訪問流程,該監控系統的監控目標包括網絡設備、安全設備、服務器操作系統、各類中間件以及數據庫等。通過采集監控目標的數據信息進行集中存儲和統一規范化處理,并通過綜合分析確保業務系統管理人員更全面、宏觀地了解各業務系統存在的隱患,從而快速定位并處理問題。
基于互聯網運行系統的特點和對安全監控的各項需求,本文設計的安全監控系統除了能進行數據采集、原始數據存儲、處理、搜索分析、告警及展現外,還必須具備身份驗證、權限管理等企業級功能。為應對企業處理海量數據的困境,該系統在架構層面應滿足分布式存儲、分布式搜索、集群、并行計算等當前主流大數據處理平臺具備的各項特點,實現如下安全監控和分析功能。
2.4.1 用戶訪問行為審計
基于5W1H分析法,從人員(Who)、時間(When)、地點(Where)、原因(Why)、對象(What)、方法(How)6方面對用戶訪問全過程進行審計分析。
2.4.2 數據庫操作和服務器訪問審計
對各個層面的所有數據庫活動進行實時監控,如來自數據庫客戶端工作的操作請求、應用系統發起的數據庫操作請求等。可根據登陸用戶、IP、數據庫對象及執行結果等,定義對數據訪問的重要事件與風險事件。實時監控訪問業務系統服務器的所有活動,如登錄/退出服務器、執行命令操作等。
2.4.3 安全事件分析告警
實時分析防火墻、入侵防御系統、Web防火墻和VPN系統所記錄的各種安全事件,并提供可視化展示。可對嚴重事件自定義告警,便于運維人員查詢相關IP或用戶的訪問記錄。
2.4.4 運行狀態及業務指標監控
實時監控Web服務器和中間件的啟停狀態、告警和錯誤事件等[4],實時分析采集業務系統數據中包含的各類業務指標,并以圖形化方式展示。
該系統采用分布式架構,數據在多臺服務器上存儲,并支持搜索能力的分布式架構,可橫向擴展搜索服務器,確保系統面對日益增長的海量數據信息仍具有高效的搜索能力。
安全監控系統在業務系統的服務器上安裝輕量級Splunk通用轉發器來采集基于文件的日志數據,能實時監控文件的內容變化,并將更新內容實時轉發到該系統的日志服務器[5]。對網絡和網絡安全設備則采用syslog方式外發日志,通過syslog-ng接收并存儲syslog發送的日志,再使用Splunk通用轉發器監控并轉發日志數據到日志服務器。
該系統的邏輯架構分為數據導入層、數據分析層、數據訪問層和用戶層,如圖1所示。

圖1 安全監控系統邏輯架構
2.6.1 數據導入層
數據導入層實現數據的收集和導入處理,能收集操作系統訪問日志、Web服務器/應用服務器日志和業務系統日志,支持單個日志的全量或增量收集及多個日志文件的批量收集,并對日志數據進行導入前預處理[6],支持半結構化日志和不同時間格式的日志信息的識別處理。
2.6.2 數據分析層
數據分析層是該平臺的核心功能模塊,包括數據存儲、數據檢索和數據分析3大功能。數據儲存能壓縮導入日志,提高檢索的性能,同時保護導入日志信息的完整性和不被篡改,即無法通過系統以外的途徑獲取和查看導入的日志內容。數據檢索采用自動識別和用戶自設兩種方式定義日志內容,實現自動匹配提取和圖表化展現檢索結果。數據分析提供OLAP和數據挖掘的分析模型,并能基于提取的關鍵字KV進行多維度分析、統計、邏輯判斷和運算。
2.6.3 數據訪問層
數據訪問層提供了兩種不同的訪問接口來分析結果數據:一種是內部標準訪問接口,用于訪問平臺自身提供的報表、儀表盤和數據檢索功能;另一種是自定義訪問接口,支持自定義格式導出向外部提供的數據。
2.6.4 用戶層
用戶層將平臺分析結果數據以報表和儀表盤的形式提供給用戶進行分析,可根據用戶分析需求進行自定義的查詢和多維度分析。
本文研究的安全監控系統上線以來,監控效果顯著,每日能收集5 GB以上的日志數據,從系統層、網絡層、服務器層和業務層4個層面對外部網站、一站式服務、訂單系統、移動應用等互聯網運行系統的網絡安全威脅情報進行統一報告、統一分析、統一展示,提高了某單位整體網絡安全防御水平。
該安全監控系統能對各互聯網運行系統的訪客訪問痕跡進行聚合分析,并關聯各類日志,進而判斷是否有真正的攻擊行為。各互聯網運行系統的監控指標項,如表1所示。
以訂單系統為例,監控頁面如圖2所示。業務日志中記錄了用戶從登錄、下單到支付的完整流程,系統運維人員可從業務日志中獲取用戶的IP來源、對應的用戶編號、下單記錄、支付記錄等信息,針對可疑IP,在網絡和安全設備日志中進行搜索,發現該IP更多的訪問痕跡,從而做出判斷并采取相關安全措施,實現以IP為線索的5W1H訪問審計。

表1 各互聯網運行系統監控指標項

圖2 訂單系統安全監控頁面
該安全監控系統從SSH日志、歷史命令日志和審計日志3方面保護操作系統安全。采集SSH實現的所有登錄和注銷行為數據、所有用戶執行的歷史命令和用戶的訪問行為日志,實時上傳至該系統的日志服務器,供分析監控使用。
VPN是跨互聯網訪問企業內網的重要手段。該安全監控系統具備VPN的監控審計功能,提供VPN用戶訪問分析日報,包含一天內不同時段的登錄失敗用戶數、登錄失敗用戶列表、登錄成功用戶數、用戶訪問時間線、登錄失敗的用戶的地理位置等信息,同時能針對某個VPN用戶進行深度查詢審計,獲取用戶完整的訪問記錄。
該系統能獲取IPS、防火墻、路由器、Web服務器/應用服務器等設備的日志信息進行綜合分析,及時發現企業當前遭遇的網絡安全攻擊和管理員賬號異常登錄等問題,并對設備的報錯和故障進行管理。
某單位的各個互聯網運行系統由不同的運維人員負責維護。為加強安全管理,該系統設置數據安全管理策略,提供基于角色/用戶的權限管理機制,可在索引、知識對象、應用、報表、儀表板等層次控制用戶的訪問權限,確保具有合適權限的人員才可以查看對應的視圖和數據。為滿足運維管理工作中的告警需求,該系統提供短信、郵件、腳本和RSS等告警方式,并允許用戶靈活定義各類告警的閾值。
本文以某單位互聯網運行系統的安全監控加固過程為例,利用Splunk大數據分析平臺,搭建了一套針對互聯網運行系統的大數據安全監控系統,涵蓋安全數據處理的采集、存儲、搜索、分析、展現和告警的整個流程,有效解決了傳統安全監控系統功能單一、聯動性差、展示效果不佳等問題,保障了各互聯網業務系統的安全穩定運行,具有一定的參考借鑒意義。