日期:2018-07-11 點擊: 關(guān)鍵詞:數(shù)據(jù)庫防火墻,數(shù)據(jù)防御
通常來講,數(shù)據(jù)庫防火墻可以通過兩種方式實現(xiàn)威脅防御:中斷會話和語句攔截。
1.中斷會話
直接切斷應用與數(shù)據(jù)庫的會話連接,這種方式粗暴簡單,也最易實現(xiàn)。這種防護方式也是很多不成熟的數(shù)據(jù)庫防火墻產(chǎn)品所提供的解決方案。我們知道數(shù)據(jù)庫的訪問行為,來自DBA等運維人員及應用系統(tǒng)的訪問調(diào)用,這其中應用系統(tǒng)的訪問更為頻繁。對于業(yè)務連續(xù)性的要求也最高,中斷會話等于業(yè)務癱瘓,顯然不可取。
數(shù)據(jù)庫防火墻,數(shù)據(jù)防御
2.語句攔截
攔截語句的方式是指在保持原有會話暢通的基礎(chǔ)上,精準攔截威脅語句。既不破壞業(yè)務連續(xù)性,又能將風險語句過濾下來。這考驗數(shù)據(jù)庫防火墻對SQL語句的精準解析、風險策略的靈活和適用性,也是實現(xiàn)數(shù)據(jù)庫應用關(guān)聯(lián)防護的基礎(chǔ)所在。
應用關(guān)聯(lián)審計——準確定位應用訪問信息
接觸過數(shù)據(jù)庫審計產(chǎn)品的朋友應該知道,“三層關(guān)聯(lián)審計”功能在不少數(shù)據(jù)庫審計產(chǎn)品中已經(jīng)實現(xiàn),即通過“時間戳”等方式從數(shù)據(jù)庫訪問信息中捕獲應用賬號、IP等應用關(guān)聯(lián)信息。但眾所周知,“時間戳”的方式在功能上具有極大的缺陷——關(guān)聯(lián)審計信息并不準確,即使是在旁路審計上應用,也已經(jīng)廣受詬病,更何況串接部署的數(shù)據(jù)庫防火墻。一旦解析錯誤,將造成正常語句被攔截, 嚴重影響業(yè)務運轉(zhuǎn)。
基于“應用插件”實現(xiàn)“應用關(guān)聯(lián)審計”的理念是由安華金和在國內(nèi)首先提出,目前也在行業(yè)內(nèi)得到更廣泛的應用。這種解析方式,是以一個簡易的jar包集成到應用系統(tǒng),從而完成部署,在并發(fā)達到上千級別的連接是,仍然能實現(xiàn)100%準確關(guān)聯(lián),以精確的方式捕獲到應用端相關(guān)信息。同時,這種解析能力需要具備高適用性,除了適用于Weblogic、tomcat、Websphere、Jboss等主流的應用服務器,也能支持F5等負載均衡模式下針對代理IP的關(guān)聯(lián)審計挖掘,準確定位應用訪問信息。
具備保持會話前提下的語句攔截功能,并能提供精準應用關(guān)聯(lián)能力,如此看來,實現(xiàn)數(shù)據(jù)庫的應用關(guān)聯(lián)防護已經(jīng)具備非常堅實的基礎(chǔ)。最后一步,基于多維度匹配靈活的安全策略,是實現(xiàn)應用關(guān)聯(lián)防護的最后一錘。
數(shù)據(jù)防御有效的安全策略:高細粒度的安全策略設(shè)定
精細化的安全策略需要具備高細粒度,能夠基于單條策略進行多層次設(shè)定。將應用賬號、客戶端IP、SQL語句等進行綁定,實現(xiàn)對應用用戶進行訪問行為控制。譬如,客服人員(應用賬號)只能基于指定的IP或IP端進行數(shù)據(jù)庫訪問,并且其執(zhí)行的語句僅限于指定的若干語句模板,否則視為風險訪問、違規(guī)操作,會直接被阻斷或被攔截。
數(shù)據(jù)庫防火墻可以針對指定的訪問對象進行行為控制,即針對某一數(shù)據(jù)庫的某表、某字段進行增、刪、改、查的控制。例如,壽險賬單的用戶電話號碼就是以數(shù)據(jù)庫的表字段進行存儲。那么,應用關(guān)聯(lián)防護在實現(xiàn)上,可以限制僅某些賬戶(如:業(yè)務主管)可以進行上述數(shù)據(jù)庫字段的查詢;某些賬戶(如:業(yè)務經(jīng)理)可以進行上述數(shù)據(jù)的修改。
如果防火墻的防護粒度僅限于“數(shù)據(jù)庫字段”,那么應用業(yè)務中更為深入的控制是否能滿足呢?譬如,業(yè)務經(jīng)理僅能查詢和自己有關(guān)的用戶電話號碼,即數(shù)據(jù)庫“電話號碼字段”中的部分信息。在數(shù)據(jù)庫防火墻中,組成一條規(guī)則的元素中包括“報文關(guān)鍵字”這一特性,即可以通過配置“正則表達式”匹配SQL語句中的關(guān)鍵字,如果命中即視為風險。例如:select 賬戶,電話號碼 from 業(yè)務表 where 賬戶=”張三”;防火墻可以作出如下限定:如果關(guān)聯(lián)發(fā)現(xiàn)執(zhí)行該語句的賬戶不是“張三”,那么執(zhí)行該語句時即視為風險語句進行攔截。
同理,數(shù)據(jù)庫防火墻將行為建模中捕獲到的諸多元素,通過多維度的設(shè)置、排列組合即可實現(xiàn)多樣性的防護規(guī)則,適用不同的訪問場景,這如同在數(shù)據(jù)庫前端織就了一張牢不可破的網(wǎng)。