簡單了解數(shù)據(jù)庫防火墻的應(yīng)用(四)

防火墻

1.數(shù)據(jù)庫防火墻是SQL注入防御的終極解決方案

數(shù)據(jù)庫防火墻和Web防火墻部署位置的不同,決定了兩種不同產(chǎn)品對于SQL注入攻擊的防御策略和效果會大不相同。

  • 部署位置:Web防火墻作用在瀏覽器和應(yīng)用程序之間,數(shù)據(jù)庫防火墻作用在應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器之間。
  • 作用協(xié)議:Web防火墻作用在Http協(xié)議上,數(shù)據(jù)庫防火墻一般作用在數(shù)據(jù)庫協(xié)議上,比如Oracle SQL*Net,MSSQL TDS等。

Web防火墻作用在瀏覽器和應(yīng)用程序之間,使他只能夠看得見用戶提交的相關(guān)信息,而用戶提交信息往往只是數(shù)據(jù)庫SQL語句的一個碎片,缺乏對于數(shù)據(jù)庫SQL的全局認知,更加不用說SQL語句的上下文關(guān)系了。Web防火墻只能做一些基于常規(guī)異常特征以及出現(xiàn)過的特征進行識別和過濾,使Web防火墻的SQL注入攻擊防御效果依賴于攻擊者的水平和創(chuàng)意,只要攻擊者具有一定的創(chuàng)意,Web防火墻很難防御SQL注入攻擊。

數(shù)據(jù)庫防火墻作用在應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器之間,看到的是經(jīng)過了復雜的業(yè)務(wù)邏輯處理之后最后生成的完整SQL語句,也就是說是攻擊者的最終表現(xiàn)形態(tài),已經(jīng)撕去了大量的偽裝。由于看到的是缺乏變化的最終形態(tài),使數(shù)據(jù)庫防火墻可以比較Web防火墻采用更加積極的防御策略,比如守白知黑策略進行異常SQL行為檢測,100%防御SQL注入攻擊。即使簡單采用和Web防火墻類似的黑名單策略,由于看到的信息使完整的最終信息,使其防御難度比較Web防火墻大幅度下降,防御效果自然會更好。

2. 更多的訪問通道

通過http服務(wù)應(yīng)用訪問數(shù)據(jù)庫只是數(shù)據(jù)庫訪問中的一種通道和業(yè)務(wù),還有大量的業(yè)務(wù)訪問和http無關(guān),這些http無關(guān)的業(yè)務(wù)自然就無法部署web防火墻,只能依賴于數(shù)據(jù)庫防火墻來完成。

3.總結(jié)

1. 數(shù)據(jù)庫防火墻主要用來防御外部入侵風險,需要和內(nèi)部安全管控適當分開。

2. 數(shù)據(jù)庫防火墻主要聚焦點是通過修復應(yīng)用程序業(yè)務(wù)邏輯漏洞和缺陷來降低或者消除數(shù)據(jù)(庫)安全風險。SQL注入攻擊是其核心防御風險,而數(shù)據(jù)庫漏洞攻擊檢測和防御則并不是必須的。

3. 由于SQL注入攻擊和數(shù)據(jù)庫漏洞攻擊的伴生性,數(shù)據(jù)庫防火墻往往具備數(shù)據(jù)庫漏洞檢測和防御功能。

4. Web防火墻不能替代數(shù)據(jù)庫防火墻,Web防火墻是SQL注入攻擊的第一道防線,數(shù)據(jù)庫防火墻則是SQL注入攻擊的終極解決方案。