資料庫稽核軟體
產品比較
◎ 玄力Chalet ADS 3.0
◎ 庫柏DBAegis
◎ Fortinet FortiDB
◎ IBM Guardium 7
◎ Imperva SecureSphere 7.5
◎ Sentrigo Hedgehog 3.5.2
全部功能都齊備的產品,倒未必是最佳選擇,最簡單的原因是,功能齊備且資料庫與作業系統支援度最廣的產品,價格也最昂貴。資料庫安全稽核算是比較高階的應用,所以除了Sentrigo和Fortinet,其他的售價均在百萬以上。
◎ 玄力Chalet ADS 3.0
◎ 庫柏DBAegis
◎ Fortinet FortiDB
◎ IBM Guardium 7
◎ Imperva SecureSphere 7.5
◎ Sentrigo Hedgehog 3.5.2
本土的庫柏資訊與玄力科技有一個優勢,是正體中文的介面比較友善。而法規遵循的部分,針對主要的例如個資法、PCI、HIPAA及沙賓等,廠商均有提供報表模組,主要差異在模組多寡及設定簡易度。不過,每家企業的應用架構與需求不盡相同,應視情況評估最適合的產品。
代理程式必須考量效能影響程度
綜觀6家廠商的作法,我們可以簡單將產品的設計架構區分為兩類。一種是在資料庫本機安裝代理程式(Agent)觀察資料庫的異動,然後將搜集到的資訊透過網路傳送到後端的管理中心,這類產品如Fortinet FortiDB、IBM Guardium和Sentrigo Hedgehog。另一種類型是在網路透過Switch的Mirror功能側錄封包,或者直接串接在網路上以橋接(Bridge)方式,過濾網路封包,相關產品包括玄力Chalet ADS、庫柏DBAegis及Imperva SecureSphere。
這兩種方式各有優缺點。網路監控的方式,雖然不會影響DB效能,但難免發生漏失封包的情況,而代理程式以軟體型式安裝於資料庫本機,可以確保監測到完整的存取行為。其次針對直接在主機端或以加密方式連線登入資料庫的狀況,網路無法監控。
不過,代理程式也不是沒有缺點,因為它安裝在主機,多少會占用系統資源,各家影響的情況不同,目前看來大約的比重在5%~10%之間。企業若希望降低伺服器負擔,一般的建議是單純化政策設定,或者以群組功能縮減判斷的條件。
若從資訊安全的角度思考,具主機存取權限的系統管理者,有可能關掉代理程式,那麼後續的行為便無從查證。雖然產品的設計上,能夠做到一旦管理中心偵測不到代理程式,便發布警訊通知負責人,不過確實可能存在空窗期。 因此更重要的是,企業在責任歸屬上必須做到分權,若是開發者兼DBA,甚至連同系統管理與資安控管也是同一人負責,便形成球員兼裁判的情況。
共用資料庫帳號的情況,目前有特殊解法
還有一個考量點,企業以共用帳號存取資料庫的情況普遍,而代理程式在資料庫端搜集使用者資訊,只能取得使用者登入資料庫的帳號,無法掌握登入應用程式的真實身分。
這方面有一些廠商已找到解法,例如IBM Guardium及Sentrigo,他們在網站應用伺服器安裝程式,在使用者登入系統時擷取到身分相關的資料,以SQL的註解一併傳送給後端代理程式。
不過限制在於,廠商的方案通常只支援市面上主流的網站應用伺服器。而主從架構或集中式應用架構,更是只能忍痛改程式了。
網路封包解析的方式,不影響資料庫但可能掉封包
而網路分析式的產品,例如Imperva、玄力科技Chalet ADS、庫柏資訊DBAegis。
這類產品最大的優點,就是它不會影響資料庫,不過,無可避免的問題就是──可能掉封包。Fortinet臺灣區技術顧問劉乙分析:「發生有大幅度攻擊時,掉封包的機率就值得懷疑了。」
Sinffing掉封包的情況,劉乙建議企業購買Mirror能力強的交換器,可減少掉封包的情況。
不過,Mirror的方式無法阻斷(Block)資料存取,可能採取的方式是做Reset,不過這段時間的封包就會漏失,而且時效性沒有那麼好。
網路無法抓到使用者直接存取資料庫本機,或者以加密方式連線資料庫的狀況。針對這個防禦缺口,Imperva及庫柏資訊也推出安裝於資料庫的代理程式,監控本機存取行為。因為網路端已搜集到使用者資訊,所以不用擔心共用帳號的問題,不過關於代理程式的考量,又與前一類產品相同,效能影響及管理權限的切割,是不可不慎的問題。
政策有內建清單可參考,自動學習機制當心誤判的可能
除了架構上的不同,這類產品的功能大致雷同。黑/白名單的建置是企業省不掉前置作業,許多網路出身的資安專家乍聽「黑/白名單」,直覺認為是IP的阻擋或放行,事實上,在資料庫稽核領域,是指存取行為的政策(Policy)定義,一般而言,產品會內建基本的政策供企業參考,再加上有些產品提供自動學習機制,所以設定上不會太困難。
自動學習的基本原理,是在導入的初期,以1~2周的時間,記錄使用者的操作行為,進而分析不同使用者的慣用模式,例如存取哪些資料庫、資料表時間及頻率等。再以此為基準制定成政策,未來若發生違反此模式的行為便視為異常,發布警訊告知管理者。
這樣的好處是減少管理者的負擔,畢竟單單憑藉人的分析,設定每個人存取不同資料庫的權限,實在有困難,況且可避免人為介入可能的弊端。不過,機器多少有誤判的狀況,所以在導入的初期,可能有許多虛驚的警示出現。再者,很多產業於月初、月底、年初、年終存取資料庫的頻率不同,還有淡、旺季的區別,更增加誤判的機率,所以Fortinet與Sentrigo傾向制定明確的政策,以便定義異常行為。
資料保存機制是保存舉證記錄的重要防線
至於記錄下來的內容,資料的保存也有資訊安全上的考量。多數產品的管理伺服器採用專屬的硬體設備,不允許企業自行配置,也不能以Telnet等外部連線方式存取資料;內部的資料均已壓縮且加密,歷史資料雖然可以備份至外部,但仍需透過產品的管理工具才能解讀,以避免有心人士刪改資料。
為了加強防禦,伺服器通常不提供編修資料的權限,而且在伺服器上執行的任何動作都會留下記錄,唯一可能的風險是需提防具最高管理權限的使用者。這方面我們看到IBM Guardium的設計很周延,Guardium的管理伺服器開機即進入管理介面,完全無法從作業系統層刪改檔案,管理介面也不提供任何刪改資料的功能,所以記錄的不可否認性相當足夠。
留言
張貼留言