數據庫是所有信息系統的核心,數據庫的安全通常是指其中所存數據的安全,是網絡安全、信息安全的重要組成部分。目前有很多相關性產品,如數據庫加密、數據庫防火墻、數據庫脫敏、數據庫審計等。
一、數據庫防火墻
數據庫防火墻系統:一種基于網絡和數據庫協議分析與控制技術的數據庫安全防護系統,基于主動防御機制,實現對數據庫的訪問行為權限控制、惡意及危險操作阻斷、可疑行為審計。通過對SQL協議分析,根據預定義的黑、白名單策略決定讓合法的SQL操作通過執行,讓可疑的非法違規操作禁止,從而形成一個數據庫的外圍防御圈,對SQL危險操作的主動預防和實時審計。
其部署方式分為串聯部署與并聯部署。
1. 串聯部署
串聯部署在應用系統與數據庫之間是數據庫防火墻發揮最大作用的常見部署方式。所有SQL語句必須經過數據庫防火墻的審核后才能到達數據庫,可實現對外部人員的攻擊和防止內部人員的違規誤操作,但這樣就在應用系統與數據庫之間增加了一個“結點”,且改變了原有的網絡結構。
2. 旁路部署
數據庫防火墻的另一種部署方式為旁路接入,雖然此種部署方式看似通過旁路部署,沒有在應用鏈路上增加新的設備結點,但在實際應用中,面對連續、高可用環境,旁路分析勢必出現延遲,當數據庫防火墻檢測到風險操作時,數據庫的操作早已執行完成,而此時被阻斷的很可能是其他不該被阻斷的正常操作。
因此,要想真正發揮其防護效果,數據庫防火墻必須串聯在數據庫的前端。但這樣就出現了潛在的風險發生。
點評:
1. 串聯部署是數據庫防火墻發揮防護作用的必要前提,但這樣就在應用系統與數據庫之間增加了一個“結點”,如果把數據庫看作整個IT架構中的“心臟”,那么我們往往會更擔心的是這個“結點”會不會出現故障,如果一旦出現血液流通不暢,突發阻塞,那么會影響整個系統循環。
2. 由于數據庫在企業中承載著關鍵核心業務,其重要性不言而喻,企業會采用大量的技術來保證數據庫的高可用性、連續性,典型的有RAC、F5負載均衡、高可用網絡等;當在這樣的一個環境中串聯一個新的節點時,對該節點的可靠性、穩定性及性能要求甚至比數據庫本身的要求還要高。
3. 連續性、高可用的環境下,實施防護墻串聯部署,勢必是在為風險挖坑,面臨的挑戰不小。數據庫防火墻現階段技術還不成熟,復雜的環境下更應該慎重選用,串聯部署的劣勢,一旦出現故障,整個業務系統隨之癱瘓,正常業務被阻斷,數據面臨丟失、損壞等風險,對數據庫產生巨大的影響,往往很多廠商卻避而不談,不愿提及,但內行人一想便知。
二、數據庫加密
數據庫加密系統(又稱安全存儲網關):指將存儲于數據庫中的數據,尤其是敏感數據,以加密的方式進行存儲。是一款基于透明加密技術的數據庫防泄漏系統,能夠實現對數據庫中的敏感數據加密存儲、訪問控制增強、應用訪問安全、安全審計等功能。
常見部署方式為直接串聯在數據庫服務器系統網絡結構中,通過基礎核心部件,完成數據加解密、權限校驗、密鑰管理和安全策略存儲。還需要通過代理,即在數據庫服務器中安裝插件,以實現對DBMS中加密數據的透明展現和高性能訪問,從而實現對敏感字段加密、密文索引、增強訪問控制、審計等認證。
點評:
數據庫加密系統應該以保護數據安全為基礎,盡可能的提高工作效率,在工作效率和安全可行性之間取得一個衡量標準。所以數據庫加密系統應該考慮如下問題:
1. 部署方式
數據庫加密系統采用串聯方式連接在數據庫服務器系統中,在原有網絡結構中增加了一個新的“節點”,一旦這個“節點”出現問題,會導致正常訪問數據庫的業務中斷,特別是在高速網絡下數據遷移和容災的過程中,如果出現業務中斷,會對數據庫產生不可預估的風險;除此之外,還需要在數據庫服務器中安裝插件的方式來形成代理,以實現對數據的加解密存儲等過程。第三方插件不但影響數據庫的性能,還會產生一定的風險,一旦出現問題,也會對數據庫產生不可估量的影響。
2. 數據庫性能
數據庫加密系統在實現對數據的加密、解密過程中都要犧牲一部分數據庫性能,本地數據庫對象加密對數據庫性能的影響可達15%~20%,取得數據安全的背后卻是以犧牲數據庫性能為代價的。所以,用戶在選擇采用該產品前,應該結合自身環境狀況和對性能的要求做好權衡。
3. 復雜程度
加密系統都很復雜,必須考慮加密引擎在哪,它如何加密數據以及加密哪些數據,哪些數據不需要加密,怎樣提供密鑰等。對數據庫管理員來說,都是一種技術上的考驗,需要認識到這種復雜程度并保證自己完全理解加密系統如何工作,特別是在要證實加密能夠正確地滿足合規要求時,這尤為重要。
4. 密鑰管理
數據庫客體之間隱含著復雜的邏輯關系,一個邏輯結構可能對應著多個數據庫物理客體,所以數據庫加密不僅密鑰量大,而且組織和存儲工作比較復雜。這就需要一個密鑰管理系統來保護密鑰,管理員不能將密鑰存儲到數據庫中,也不能將密鑰存放到磁盤上。因此,對于密匙的管理也是一個值得思考的難題。
除此之外,還需要考慮數據庫加密技術是否成熟,以及加密是否能代替訪問控制,和數據庫中動態加密和靜態加密的區分等等諸多因素的限制問題。
三、數據庫脫敏
數據庫脫敏:指對數據庫中的敏感數據進行在線屏蔽、變形、字符替換、隨機替換等處理方式,達到對用戶訪問敏感數據真實內容的權限控制,對于存儲在數據庫中的敏感數據,通過脫敏方式,不同權限的用戶將會看到不同的展現結果,從而實現對敏感隱私數據的保護。
其采用的部署方式有旁路部署、串聯部署、以及直接以插件的形式安裝在數據庫服務器系統當中。
點評:
數據庫脫敏又稱數據漂白或數據變形,其關鍵點為:敏感數據、脫敏規則、應用場景。
而根據應用場景,又將數據脫敏分為靜態脫敏和動態脫敏,其主要區別在于是否在使用敏感數據時實時進行脫敏。
數據庫脫敏系統在實際應用環境當中應當考慮其存在的一些問題,否則將給生產環境及數據庫帶來嚴重的影響。其主要表現在一下幾個方面:
1. 從部署方式來看,串聯接入到數據庫服務器的前端和以插件的方式安裝于數據庫服務器當中,是數據庫脫敏系統發揮自身作用的最大前提。串聯接入方式和以插件的方式安裝在服務器系統當中,都改變了數據庫服務器所處的網絡環境,參與了數據交互的過程,一旦串聯“節點”或者插件出現故障,都會對數據庫產生未知的影響,輕者業務中斷,重者數據丟失、損壞。其問題嚴重性顯而易見,這是內行人都明白的問題。
2. 從脫敏規則來看,數據脫敏分為:可恢復和不可恢復兩類。可恢復類,指脫敏后的數據可以通過一定的方式,可以恢復成原來的敏感數據,此類脫敏規則主要指各類加解密算法規則;不可恢復類,指脫敏后的數據被脫敏的部分使用任何方式都不能恢復出。
這就與數據庫加密方式有相似之處,其數據的脫敏也很復雜,這就需要據庫管理員很熟練的掌握脫敏規則,哪些數據通過脫敏規則后可恢復,哪些數據脫敏后不可恢復,這都是十分重要的過程,數據一旦通過脫敏變形后,再還原,其技術難度還是很考驗人的。特別是在大型數據生產環境當中更需要注意脫敏規則,一旦忽視后果可想而知。
3. 從性能方面來看,數據庫脫敏系統與數據庫加密系統類似,從數據脫敏到數據的恢復,都是以犧牲系統性能為代價的。一旦脫敏規則制定不好,系統性能會受到很大影響,系統性能降低,那么整個數據庫業務系統也會隨之受到影響,在數據連續性、高可用的環境下,可能會導致數據的丟失或者業務中斷,影響整個生產過程。
相信大家對數據庫防火墻、數據庫加密、數據庫脫敏已經有了一定了解,也有了自己的判斷。最后補充一下:數據庫防火墻、數據庫加密、數據庫脫敏這些產品的解決方案大多尚在試驗階段,技術上還不成熟,在要求業務連續、高可用環境中需慎重選擇。