https://newera17031.activehosted.com/index.php?action=social&chash=19de10adbaa1b2ee13f77f679fa1483a.2906&nosocial=1
https://newera17031.activehosted.com/index.php?action=social&chash=19de10adbaa1b2ee13f77f679fa1483a.2906&nosocial=1

觀點

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

2012 / 08 / 22
余俊賢
用GreenSQL管理資料庫:監控、遮罩與稽核

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

 

DAM的定義為「集中分析資料安全相關的資訊,進行違反安全政策與規則的分析與報告產出」,在管理高權限用戶(privileged user)監控、資料庫威脅偵測管理與法規遵循的稽核需求上扮演重要功能。常見DAM功能如下:

·   監控資料庫內的攻擊、後門與活動(後門可能存在於stored procedurestriggers中);

·   不更動網路架構、虛擬化環境或加密佈署;

·   阻擋與預防攻擊但不影響資料庫交易(transactions)活動的完整性;

·   主動探掘發現具有風險的資料活動;

·   提升應用程式對資料庫流量的可視性;

·   延伸應用:資料外洩防止(DLP),偵測資料庫中敏感資訊的外洩活動;

·   從使用量與違規活動看資料庫權限的定期盤點功能;

·   與弱點掃描工具配合,提供企業資安威脅報告。

 

 

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

 

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

 

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

 

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

 

 

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

 

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

 

 

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

 

 

 

GreenSQL的安裝簡介

 

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

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

 

 

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

 

 

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

 

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

 

 

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

 

 

步驟7Log部分:包含 trafficIntrusionLearningSystemCachingMost Popular QueriesArchivesArchives RotationSyslog設定與Log 設定。

 

 

步驟8、預設報表:已經包含嘗試登錄失敗與來源IP、遭阻擋的應用系統、遭阻擋的用戶、遭阻擋的查詢、遭阻擋的疑似攻擊者IP等。報表要先按下產生才能瀏覽。

 

 

步驟9、遮罩:在個資與敏感資料保護上,遮罩是重要的功能之一。使用上要先設定欲遮罩的欄位,然後設定要遮罩的動作(Behavior)

 

 

註:資料來源:GreenSQL網站。

 

本文作者現為資安與系統風險管理顧問,如您對本文有任何感想,歡迎來信交流:isnews@newera.messefrankfurt.com