2012年9月3日 星期一

用GreenSQL管理資料庫:監控、遮罩與稽核


用GreenSQL管理資料庫:監控、遮罩與稽核

在後個資法時代中,資料庫安全的議題受到高度重視,資料庫活動管理(DAM ,Database activity monitoring)與稽核便是維護其安全的解決方案之一,企業在評估跟選用此類方案時幾乎都是且戰且走,一邊試用一邊找問題、確認需求,或者是真正有問題時才發現已經採購的產品其實不夠用,這時候可以從較單純簡易的方案先做起,逐步達成預期目標。

DAM的定義為「集中分析資料安全相關的資訊,進行違反安全政策與規則的分析與報告產出」,在管理高權限用戶(privileged user)監控、資料庫威脅偵測管理與法規遵循的稽核需求上扮演重要功能。常見DAM功能如下:
·   監控資料庫內的攻擊、後門與活動(後門可能存在於stored procedures、triggers中);
·   不更動網路架構、虛擬化環境或加密佈署;
·   阻擋與預防攻擊但不影響資料庫交易(transactions)活動的完整性;
·   主動探掘發現具有風險的資料活動;
·   提升應用程式對資料庫流量的可視性;
·   延伸應用:資料外洩防止(DLP),偵測資料庫中敏感資訊的外洩活動;
·   從使用量與違規活動看資料庫權限的定期盤點功能;
·   與弱點掃描工具配合,提供企業資安威脅報告。

免費工具GreenSQL  監控資料庫活動

採用OpenSource解決方案是目前頗受企業接受的方式,提供企業先求有再求好的一條路徑,例如網站安全防火牆使用Apache mod_security、稽核檔案與資安事件管理SIEM使用OSSIM等。開放原始碼專案以往給企業的感覺是需要有專人維護、缺乏支援與版本更新等,隨著許多大型專案的成功以及功能上的完備,已經開始扭轉企業的意願傾向於願意嘗試導入。

GreenSQL,目前已經有商業化收費版本,但仍繼續提供OpenSource社群版,若要使用更進階的功能,可以考慮註冊後取得Express版本(只支援一台DB),此版本支援MySQL、PostgreSQL及Microsoft SQL Server,可在Linux(Ubuntu、CentOS、RedHat、Debian)、FreeBSD與Windows Server下運作,大致涵蓋常見的伺服器作業系統。

以下將介紹如何以GreenSQL來達成資料庫活動管理、資料遮罩與稽核,關於系統安裝設定的步驟請參考文末的安裝簡介,或從網路上參考最新的安裝與設定方式。

安裝前,先評估環境與架構的合適度

採用前,使用者應該先了解GreenSQL的架構是否適合貴公司的環境、架構,其採取Proxy代理資料庫連線的方式,架在網站伺服器與資料庫之間,中轉來自網站伺服器的資料庫查詢要求與資料庫的回應,在其中偵測、過濾或阻擋有問題的資料庫查詢,其架構如下圖1:


圖1、GreenSQL的架構。圖片來源:GreenSQL網站。

這種架構適合用在新規劃的資料庫與網站,直接加入Proxy在架構中,未來運作時就可以很輕易地加入其他的擴充網站或資料庫。如果是現有已經運作中的系統則需要做到一些變動,包含資料庫連線的更改。如果在多個網站與多種資料庫的環境下,使用Proxy方式也有可能造成效能上的瓶頸,所以建議還是在單純或新建構的環境中先試運作較為妥當。為處理這樣的狀況,還可以採取切割前後端Proxy的方式,可協助效能提升與處理多對多的代理機制對應。另外一種方案則是與資料庫安裝在相同機器上面,當然會影響到資料庫本身運作上的效能,但是對於應用程式端與網路架構上的調整則較小。


GreenSQL運作模式

GreenSQL運作模式分成學習模式(Learning mode)、防火牆模式(Database Firewall)、風險為基礎的IDS/IPS三種。
l 學習模式(Learning mode):先進行學習,把看到的與攔截到的資料庫存取行為進行分類,知道那些行為活動是正常的,以白名單的方式做記錄,在未來真正上線時,才能避免正常活動被攔阻。待白名單建立到一定程度,就可以轉為主動防禦模式。
l 防火牆模式:阻擋可疑指令特徵(Blocking Suspicious Commands) ,一般又可稱為攔截模式(Interception-based),大多DAM都是監控資料庫的通訊,而取得資料庫活動的資訊,較少使用監控資料庫記憶體方式,但若資料庫通訊做了加密設計就會遇到瓶頸,而這個模式可以真正介入資料庫的活動,攔截違反政策與規則的交易活動。就像是IPS入侵防禦系統般,以「特徵規則」或「經驗法則統計風險」進行過濾判斷,如果發現可疑的查詢指令時,會傳回空白的資料集讓應用程式可以處置而不會發生逾時或錯誤。
l 風險為基礎的IDS/IPS又可以分為以下兩種,主動防禦未知查詢(Active protection from unknown queries)、模擬(Simulation Mode)。主動防禦未知查詢是利用學習模式中所得到的白名單為基礎,Heuristics啟發式的經驗法則方式做主動防禦,當然還是有誤判的可能,端看白名單的完整度是否足夠。至於模擬一般也稱為Shadow Mode影子模式,只做監控但是不實際進行攔截或阻斷,就像是IDS一樣,而不是IPS會介入網路通訊內容。

在GreenSQL的引擎中有兩大防禦機制,一種是特徵值辨識、另一種就是啟發式的風險計算規則,其規則像是:存取敏感的資料表,如用戶、帳號與金融相關資料;用戶自訂的敏感資訊;在SQL語法中包含註解的文字,針對的就是潛在SQL Injection攻擊;使用空白的查詢(如密碼);或是在查詢中包含UNION 、or、查詢結果僅為true(or 1=1)等。

結論

從上述功能介紹可以發現,GreenSQL不只能做為資料庫安全的防火牆,還可以做到流量與效能的分析,找出應用程式與資料庫之間的瓶頸。因為有Log與Auditing的記錄搜尋,也可以協助資訊人員或稽核人員滿足在資料庫稽核方面的需要。GreenSQL同時也具備DAM常見功能:監控資料庫內的攻擊、後門與活動,阻擋與預防攻擊但不影響資料庫交易(transactions)活動的完整性、主動探掘發現具有風險的資料活動、提升應用程式對資料庫流量的可視性、偵測資料庫中敏感資訊的外洩活動、從使用量與違規活動看資料庫權限的定期盤點功能等。企業用戶可以先由簡單容易駕馭導入的方案先求有,發現真正需求或需要調整的方向時,再求更大規模或更複雜的解決方案。


GreenSQL的安裝簡介

步驟1:輸入預設密碼進入系統介面。


步驟2、要求重新設定密碼,至少八位數。



步驟3、使用express版輸入啟動序號(從註冊的E-mail郵件信箱中取得)。



步驟4、主要介面中包含綜合儀表板、政策、資料庫、告警、稽核檔案、報表、稽核、遮罩與系統設定這些主要功能。


步驟5、設定過濾與阻擋規則。


步驟6、設定告警的名稱、觸發時間間隔、警訊類型(包含:System、Learning、Traffic、Intrusion、Auditing、Masking),是否包含詳細資訊與Email。


步驟7、Log部分:包含 traffic、Intrusion、Learning、System、Caching、Most Popular Queries、Archives、Archives Rotation、Syslog設定與Log 設定。
 
 
步驟8、預設報表:已經包含嘗試登錄失敗與來源IP、遭阻擋的應用系統、遭阻擋的用戶、遭阻擋的查詢、遭阻擋的疑似攻擊者IP等。報表要先按下產生才能瀏覽。
 
 
步驟9、遮罩:在個資與敏感資料保護上,遮罩是重要的功能之一。使用上要先設定欲遮罩的欄位,然後設定要遮罩的動作(Behavior)
 
轉載自《GreenSQL網站、資安人科技網》


沒有留言:

張貼留言