基于日志分析和防火墻安全矩陣的網站安全監控報警系統的制作方法
【專利摘要】為了及時發現和阻止針對網站的各類安全攻擊,本發明以網站的安全管理員在實際安全運維中最依賴的兩項工作為基礎,發明了基于日志分析和防火墻安全矩陣的網站安全監控報警系統。其中日志監控的創新是通過對Apache/Tomcat/IIS的訪問/錯誤日志及其他環境日志進行關鍵字/正則表達式過濾來自動發現已知和未知攻擊,同時通過網站業務代碼中的日志定制及時發現黑客攻擊在早期引起的業務處理錯誤。另一創新是通過定義防火墻安全矩陣,然后采用直接或間接的網絡連通性檢測技術來驗證矩陣的有效性,一旦發現安全矩陣被破壞則觸發報警。該系統提供給管理員簡單而有效的定制方式,可持續地增強對任何攻擊或可疑行為的偵測能力。
【專利說明】基于日志分析和防火墻安全矩陣的網站安全監控報警系統
【技術領域】
[0001] 本發明的【技術領域】是信息安全領域的網站安全防護和監控報警系統。
【背景技術】
[0002] 隨著互聯網應用的高速發展,各種Web網站以幾何級數的速度高速增長,但層出 不窮的黑客攻擊對Web網站的可用性和安全性造成了巨大的威脅。目前主流的安全防護包 括多種類的系統:入侵檢測系統,Web應用防火墻,遠程安全掃描等。但上述幾類安全產品 尚不足以保證網站的安全,原因如下:
[0003] >入侵檢測系統:依賴的機制是對網絡報文的檢查,因其不了解用戶網站應用的 業務邏輯,只能對已知的典型的漏洞利用方式、攻擊特征進行匹配式的檢查,而不能檢測新 類型的或是對特定目標的攻擊,實際有效率就很低。有一些廠商會研發啟發式規則,但限于 在網絡層來觀察流量/報文,一來對正常業務性能影響較大,二來未知的正常/非正常訪問 方式非常之多,從而導致誤判率太高。
[0004] > Web應用防火墻(WAF):主要針對0WASP組織發布的十大Web典型攻擊方式來進 行http報文解析和檢查,發現并阻止攻擊。WAF有其特定價值,但它的機制也是基于對已知 的攻擊方式進行匹配,因此很難對不斷涌現的新漏洞/新攻擊方式作有效的發現。
[0005] >遠程安全掃描:由于掃描的檢測基礎是只能檢查遠程訪問/調用返回的結果,與 已知結果作匹配,因此有很大的局限性,主要用于發現網站組件的安全漏洞,并不能及時地 發現攻擊和可疑行為。
[0006] 對于網站安全來說,最重要的是及時發現并阻止攻擊和可疑行為,而上述幾種防 護系統因為缺乏對客戶業務系統的了解,也未提供足夠強大的對未知和特定攻擊的檢測方 法,因此尚不能達到理想的安全效果。
[0007] 本發明以網站的安全管理員在實際安全運維中最依賴的兩項工作為基礎,發明了 基于日志監控和防火墻安全矩陣監控的一套監控報警系統。該系統提供給管理員簡單而有 效的定制方式,可持續地增強對任何攻擊或可疑行為的偵測能力,通過在實際運維工作中 的有效性驗證,效果顯著,能彌補現有的其他網站安全防護系統的不足。
[0008] 本發明基礎之一的日志監控,是很多安全管理員已經使用的一種監控手段,把各 種日志文件存檔到一起,分類、按關鍵字作檢查,發現可疑的問題就報警。但是管理員一般 將日志監控用于系統/服務的可用性監控,而不是安全監控,而不用于安全監控,就沒有積 累黑客攻擊的日志特征。即使有對訪問日志作安全監控,主要都是防DD0S和防流量攻擊, 而從未有針對網站內容的異常訪問的檢測,比如漏洞利用的訪問,SQL注入等。也正因為沒 有把日志監控作為一種安全防護的解決方案,也就從沒有人提出過對網站應用的日志進行 定制化要求,比如J2EE后臺任何異常都要寫日志,對請求參數作特殊字符過濾并記錄可疑 事件,對用戶的未授權訪問錯誤必須記日志等。有了這種網站業務代碼中的日志定制,再與 全面的日志監控和其他子系統共同構成一個解決方案,就是本發明的首要創新點。
[0009] 本發明基礎之二的防火墻安全矩陣監控,是此前從未有人提出的概念。作為網站 安全防護的基礎,最基本的防火墻只要配置全面,就能把除SQL注入、跨站攻擊等Web端口 (80/443端口)攻擊之外的其他安全威脅都擋在外面。而大多數被攻陷的網站,都是黑客獲 得外層的主機/服務器權限后,遠程登陸/自動下載來實施進一步的內容篡改和破壞,這一 過程就必然會破壞原先系統定義的安全矩陣。本發明首創的第二個子系統就是采用直接或 間接的網絡連通性檢測技術,來驗證某些IP區域及端口范圍彼此之間的連通性要求,如果 在安全矩陣中是要求阻斷的,一旦發現其變成連通狀態,就說明某個點已被黑客攻破。
【發明內容】
[0010] 本發明建立了一套基于日志分析和防火墻安全矩陣的Web網站安全監控報警系 統,它包括兩個子系統:基于日志分析的安全監控子系統和防火墻安全矩陣監控子系統。
[0011] 基于日志分析的安全監控子系統是對網站所有相關環境的日志監控,它應包括但 不限于對以下幾方面的日志進行監控:
[0012] > Apache/Tomcat/IIS的訪問日志/錯誤日志/安全日志:通過訪問日志,可發現 請求地址和參數中包含已知攻擊的嘗試,比如GET/config. php ? relative_script_path =http://xxxxxxx,或是 SQL 注入的嘗試:/print. php ? what = article&id =,;通過錯誤 日志,同樣可發現對一些不存在的文件/目錄的可疑訪問,比如client denied by server configuration, File does not exist, Invalid URI in request 等;通過安全日志監控, 比如Apache的mod_security記錄的可疑問題,還可進行定制的二次過濾以發現確定的攻 擊行為。通過對所有已知的Web攻擊所對應的日志中的錯誤信息作分析積累,即可構造一 系列由關鍵字/正則表達式組成的檢測規則,基于這個規則集即可對各類攻擊進行實時的 監控和偵測。
[0013] >網站應用日志中的錯誤/可疑事件:通常對網站的攻擊或滲透會起始于對某 些URL和參數的組合進行滲透性的訪問嘗試,因此在初期都會導致后臺的業務邏輯發生錯 誤。這里是本發明的一個創新點,系統將指導用戶在網站的業務邏輯代碼中針對以下三類 錯誤打印出對應的日志:1)任何非正常使用情況下的錯誤處理,都需要打印日志以包括出 錯的原因,導致的請求/參數,類/方法/代碼行等,比如J2EE的代碼就需要對非預期的 Exception都打印日志。這里的非正常使用并不包括普通用戶可能的非法輸入,或是其客戶 端環境原因導致的出錯。2)對所有http請求作參數過濾,包含不應出現的特殊字符的要記 日志,包含不在合法參數值集合中的請求要記日志,比如某個參數是傳入手機號作查詢,則 不應出現任何字符。3)對某個用戶ID/Session訪問了他無權訪問的某個后臺接口 /Action 時要記日志,以發現某個用戶試圖尋找系統漏洞的可疑行為。除了給出指導外,系統還可以 對用戶上傳的代碼作靜態掃描,以給出明確的需要添加安全審計日志的代碼位置。當上述 步驟完成并部署到生產環境之后,本發明系統將提供給管理員一個對安全日志進行配置的 管理界面,可通過關鍵字/正則表達式對系統要監控的事件進行定義,并采用多種策略進 行事件的關聯和報警條件定制,比如對指定時間段內某個客戶端IP的可疑事件作加權累 計,達到閥值后啟動短信/郵件/Web等多種方式報警。
[0014] >安全設備報警日志:如果該網站已經部署了例如防火墻/入侵檢測/Web應用防 火墻等設備,則可以通過配置將它們的安全日志或SNMP消息收集到本系統的日志收集服 務器上,同樣地進行日志監控。這樣一方面方便了管理員集中管理日志監控,同時還可以配 置分析引擎對前述日志中發現的可疑事件與此處安全設備的報警進行關聯,增加報警的準 確率。
[0015] >防火墻安全矩陣監控的日志:后面會闡述安全矩陣的監控機制,其產生的日志 也會被實時收集并監控,在發現某個節點或訪問不符合安全矩陣時報警。
[0016] >網站所有主機的登錄/用戶操作日志/系統實時狀態日志:本發明系統將包括 Linux和Windows系統上的Agent代理程序,通過監控上述日志(Linux上可通過修改用戶 登錄腳本和安全審計配置,Windows上調用安全審計服務)及時發現入侵行為。比如管理 員賬號在夜間的登錄,系統對外的流量異常增長等。
[0017] >非網站合法進程發起的數據庫連接日志:此類監控可發現前端或后端管理的任 何主機上的非法數據庫訪問。
[0018] 上述日志監控系統在部署上是由遍布網站各個服務器節點的監控客戶端代理和 一個中心管理節點組成的。中心管理節點包括了監控與報警服務,日志分析引擎,日志收集 服務和管理控制臺四個組件。而物理上該管理節點可以是一臺或多臺部署本發明系統的主 機/服務器集群,管理節點既可以在本地也可以在遠程。上述四個組件及監控代理的功能 簡述如下:
[0019] 監控代理:接受并執行來自中心管理節點的檢查命令,按關鍵字/正則表達式作 過濾并返回監控到的事件給管理節點。同時當管理節點確定某個訪問/連接為非法時,監 控代理根據要求在本地采取阻斷訪問和保護措施。
[0020] 日志收集服務:接受監控代理和系統外節點如安全設備上傳的經過首次過濾的日 志關鍵內容,并分類存檔和做關聯合并。
[0021] 日志分析引擎:按管理員配置的規則進行二次過濾和分析,產生報警事件送給監 控與報警服務。
[0022] 監控與報警服務:可擴展的監控系統主框架,可靈活地加載各種監控命令,提供短 信/郵件/Web等多樣化報警功能,并按配置發送阻斷/防護命令給監控代理采取保護措 施。
[0023] 管理控制臺:提供管理界面,定義或調整可疑事件的關鍵字/正則表達式,配置事 件的關聯規則/策略,設置報警條件和保護命令,察看報警的日志內容及相關信息等。
[0024] 本發明的第二個子系統是防火墻安全矩陣監控子系統。首先管理員需要定義一個 如附圖3的安全矩陣,就是將所有區域的IP地址范圍按不同的安全屬性分成若干的命名區 域,然后如附圖4所示定義這些區域兩兩之間的安全策略,簡單的策略就是哪些端口可訪 問而哪些不可,高級的可以是網絡報文的類型,內容的關鍵元素等。例如一個三層架構的網 站,最外層的Apache服務器所在網段,只允許訪問外網的NTP和SMTP服務,外網只允許訪 問它的80/443端口;中間業務層的Tomcat所在網段,只有Apache主機能訪問它的8009端 口,它也只能訪問第三層的數據庫的指定端口,其他所有訪問都是非法的。
[0025] 有了上面這個防火墻安全矩陣,或者說訪問控制列表,本發明系統就可以直接/ 間接地執行監控任務來驗證這個矩陣的有效性,一旦發現不符合的就說明某個節點已被攻 破,觸發報警。直接監控指的是通過部署在各節點的監控代理,定時發起訪問的嘗試(比如 telnet)來檢查連通性的要求;間接監控則是由監控代理在節點上抓取網絡報文(或加載 內核模塊/驅動模塊來接受系統返回的網絡報文信息)與允許的訪問列表進行對比檢查。 該子系統的部署只需在第一個子系統的監控代理上增加上述安全矩陣監控的功能,將可疑 事件發送到中心管理節點,即可沿用前面闡述的監控報警流程及時地通知到管理員。
[0026] 綜上所述,本發明將兩個子系統結合,一方面防火墻安全矩陣監控保證了網絡層 沒有違反安全策略的非法訪問,另一方面結合網站業務代碼改造的日志監控系統能檢查出 造成網站某個邏輯異常/出錯的任何訪問,從而確保黑客攻擊能在早期階段被有效地發現 和阻止。
【專利附圖】
【附圖說明】
[0027] 圖1 :該系統的結構示意圖
[0028] 圖2 :日志監控子系統的工作流程圖
[0029] 圖3 :防火墻安全矩陣示例圖,以一個虛擬的互聯網金融網站"投資網"來示例
[0030] 圖4 :安全矩陣中各個安全區域彼此間的安全策略示例圖
【具體實施方式】
[0031] 本系統的【具體實施方式】如下:
[0032] 1、在網站的所有相關主機節點上部署監控代理,同時在本地內網或遠程部署管理 中心服務器。
[0033] 2、網站安全管理員按照本系統的指導,設計整個網站的防火墻安全矩陣,并在網 站相關環境的防火墻設備和主機上按矩陣要求進行配置。
[0034] 3、管理員在本系統的管理節點上配置安全矩陣的監控參數,管理節點將監控要求 下發給各監控代理。監控代理則采取直接和間接兩種方式執行監控任務來驗證這個矩陣的 有效性,一旦發現不符合的就向管理節點報警。直接監控方式將定時發起訪問的嘗試(比 如telnet)來檢查連通性的要求,間接監控方式則是抓取網絡報文(或加載內核模塊/驅 動模塊來接受系統返回的網絡報文信息)與允許的訪問列表進行對比檢查。
[0035] 4、管理員按照本系統的指導,設計確定要監控的日志類型。對于網站應用日志中 的錯誤/可疑事件,系統將指導用戶在網站的業務邏輯代碼中針對以下三類錯誤打印出對 應的日志:1)任何非正常使用情況下的錯誤處理,都需要打印日志。2)對所有http請求作 參數過濾,包含不應出現的特殊字符的要記日志,包含不在合法參數值集合中的請求要記 日志。3)對某個用戶ID/Session試圖訪問他無權訪問的某個后臺接口 /Action時要記日 志。除了給出指導外,系統還可以對用戶上傳的代碼作靜態掃描,明確給出需要添加安全審 計日志的代碼位置。
[0036] 5、當上述步驟完成并將日志增強的代碼部署到生產環境之后,本系統將提供給管 理員一個對安全日志進行配置的管理界面,可通過關鍵字/正則表達式對系統要監控的事 件進行定義,并采用多種策略進行事件的關聯和報警條件定制,比如對指定時間段內某個 客戶端IP的可疑事件作加權累計,達到閥值后啟動短信/郵件/Web等多種方式報警。
[0037] 6、所有監控配置被下發到各個監控代理。監控代理將持續運行對其關注的日志進 行實時監控,一旦發現匹配某個報警事件定義則通知管理節點,同時將相關的日志片斷發 送給管理節點。
[0038] 7、管理節點會再根據全局策略與其他方面的報警事件相關聯,確定此事件的嚴重 程度,并在觸發報警條件時通過短信/郵件/Web等多種方式報警,同時按預先配置規則發 送保護措施如阻斷連接命令給監控代理。
[0039] 8、監控代理執行保護命令并阻斷連接。
[0040] 9、各種類型的日志還可以統一收集到管理節點的日志收集服務組件,通過分類關 聯分析作二次過濾,以提供給管理員更高級的日志分析和展示功能。
【權利要求】
1. 一種基于日志分析和防火墻安全矩陣的Web網站安全監控報警系統包含: 基于日志分析的安全監控子系統:基于對網站相關環境的所有日志的監控與關聯分 析,來及時發現對網站的網絡攻擊和可疑的非法訪問行為,并采取報警和防護措施; 防火墻安全矩陣監控子系統:通過對防火墻安全矩陣的監控來發現在網絡層違反安全 策略的非法訪問,并采取報警和防護措施。
2. 權利要求1中,對日志文件的監控方法指的是持續地,實時地或定時地對文件新增 的內容進行檢查,如果與預先配置的一個由若干個關鍵字或正則表達式或加權計算公式組 成的表達式集合中的某一項或多項匹配,則認為檢測到一個可疑事件。
3. 權利要求1中,對日志文件的監控和關聯分析指的是在監控子系統發現可疑事件 后,按照預先配置的策略和規則將該可疑事件與其他日志監控報告的可疑事件進行關聯和 基于加權表達式的計算,如果結果超過策略或規則中定義的閥值則判定為一次攻擊事件或 非法訪問行為。
4. 權利要求1中,基于對網站相關環境的所有日志的監控包含但不限于對以下方面內 容的監控: Apache/Tomcat/IIS的訪問日志/錯誤日志/安全日志; 網站應用日志中的錯誤/可疑事件; 安全設備報警日志; 防火墻安全矩陣監控日志; 網站所有主機的登錄/用戶操作日志/系統實時狀態日志; 非網站合法進程發起的數據庫連接日志。
5. 權利要求4中,對Apache/Tomcat/IIS的訪問日志/錯誤日志/安全日志的監控方 法指的是通過對所有已知的Web攻擊所對應的日志中的錯誤信息作分析積累,進而構造一 系列由關鍵字/正則表達式組成的檢測規則,基于這個規則集即可對各類攻擊進行實時的 監控和偵測。
6. 權利要求4中,對網站應用日志中的錯誤/可疑事件的監控方法指的是指導用戶在 網站的業務邏輯代碼中針對以下三類錯誤打印出對應的日志:1)任何非正常使用情況下 的錯誤處理;2)對所有http請求作參數過濾,包含不應出現的特殊字符或包含不在合法參 數值集合中的請求要記日志;3)對某個用戶ID/Session試圖訪問它無權訪問的某個后臺 接口或Action時要記日志。網站應用日志的格式除了給出指導外,系統可以對用戶上傳的 代碼作靜態掃描,以給出明確的需要添加安全審計日志的代碼位置。然后通過關鍵字/正 則表達式對要監控的網站應用日志中的事件進行定義并啟動監控。
7. 權利要求1中,防火墻安全矩陣指的是將所有區域的IP地址范圍按不同的安全屬性 分成若干的命名區域,然后定義這些區域兩兩之間的安全策略,包括簡單策略就是哪些端 口可訪問而哪些不可,以及高級策略如允許網絡報文的類型,內容的關鍵元素等。
8. 權利要求1中,對防火墻安全矩陣的監控指的是采取直接和間接兩種方式執行監控 任務來驗證這個矩陣的有效性,一旦發現不符合的就報警;直接方式監控指定時發起訪問 的嘗試來檢查連通性的要求,間接方式監控則是抓取網絡報文,或加載內核模塊/驅動模 塊來接受系統返回的網絡報文信息,來與允許的訪問列表進行對比檢查。
9. 權利要求1中,基于日志分析的安全監控子系統包含 監控客戶端代理:部署在網站各個服務器節點上,接受并執行來自中心管理節點的檢 查命令,按關鍵字/正則表達式作過濾并返回監控到的事件給管理節點,同時當管理節點 確定某個訪問/連接為非法時,監控代理根據要求在本地采取阻斷訪問和保護措施; 中心管理節點:既可以部署在本地也可以部署在遠程,可以是單臺服務器或虛擬機, 也可以是多臺服務器或虛擬機組成的集群,與監控客戶端代理進行通信收集日志和發布命 令、進行日志分析、觸發報警機制。
10.權利要求9中,中心管理節點包含 日志收集服務組件:接受監控代理和系統外節點如安全設備上傳的經過首次過濾的日 志關鍵內容,并分類存檔和做關聯合并; 日志分析引擎組件:按管理員配置的規則進行二次過濾和分析,產生報警事件送給監 控與報警服務; 監控與報警服務組件:可擴展的監控系統主框架,可靈活地加載各種監控命令,提供短 信/郵件/Web等多樣化報警功能,并按配置發送阻斷/防護命令給監控代理采取保護措 施; 管理控制臺組件:提供管理界面,定義或調整可疑事件的關鍵字/正則表達式,配置事 件的關聯規則/策略,設置報警條件和保護命令,察看報警的日志內容及相關信息等。
【文檔編號】H04L29/06GK104144063SQ201310165880
【公開日】2014年11月12日 申請日期:2013年5月8日 優先權日:2013年5月8日
【發明者】朱燁, 袁曉東 申請人:朱燁, 袁曉東