數(shù)據(jù)庫(kù)防火墻的阻斷方式:行為阻斷或者Session阻斷?
原創(chuàng)【51CTO.com原創(chuàng)稿件】在本文中,筆者將帶大家了解下數(shù)據(jù)庫(kù)防火墻的阻斷方式,以及為什么在數(shù)據(jù)庫(kù)防火墻中不能執(zhí)行Session阻斷?
首先,我們來(lái)看看關(guān)于阻斷的簡(jiǎn)單分類和定義。有威脅入侵時(shí),阻斷危險(xiǎn)有兩種方式:行為阻斷和Session阻斷。
什么是行為阻斷?行為阻斷是數(shù)據(jù)庫(kù)防火墻的自然工作方式。當(dāng)檢測(cè)到入侵行為的時(shí)候,阻斷該行為的操作。行為阻斷依據(jù)響應(yīng)偏好的不同,可以工作在兩種不同模式之下。
◆模式一:錯(cuò)誤響應(yīng)模式
阻斷操作之后,返回預(yù)先定義的錯(cuò)誤信息,使應(yīng)用程序可以構(gòu)造合理的錯(cuò)誤響應(yīng)。錯(cuò)誤響應(yīng)模式的好處在于可以讓?xiě)?yīng)用程序檢測(cè)到入侵發(fā)生,并響應(yīng)合理的錯(cuò)誤形式給用戶和入侵者。壞處在于入侵者有可能也可以感知到有安全業(yè)務(wù)邏輯在發(fā)生作用,特別是如果應(yīng)用程序缺乏錯(cuò)誤處理有可能會(huì)直接返回錯(cuò)誤響應(yīng)給入侵者。
◆模式二:靜默響應(yīng)模式
阻斷操作之后,返回正常的零響應(yīng)信息,包括0行數(shù)據(jù),0行數(shù)據(jù)被影響或者成功操作的響應(yīng)信息。靜默響應(yīng)模式的好處在于完全正常的業(yè)務(wù)邏輯響應(yīng)使入侵者很難獲取相關(guān)信息,壞處在于應(yīng)用程序也無(wú)法感知入侵,只能依賴于安全設(shè)備的運(yùn)行。
然而,相對(duì)于行為阻斷,Session阻斷是一種很簡(jiǎn)單的操作,中斷網(wǎng)絡(luò)連接,阻止進(jìn)一步的操作。Session阻斷的好處在于技術(shù)上實(shí)現(xiàn)非常簡(jiǎn)單,壞處則會(huì)帶來(lái)眾多不可預(yù)知的影響。而且,其不可被用在數(shù)據(jù)庫(kù)防火墻中。
為什么在數(shù)據(jù)庫(kù)防火墻中不能執(zhí)行Session阻斷?
絕大部分企業(yè)級(jí)應(yīng)用建立在數(shù)據(jù)庫(kù)連接池技術(shù)之上?;緲I(yè)務(wù)路徑是:業(yè)務(wù)應(yīng)用程序發(fā)起數(shù)據(jù)庫(kù)操作請(qǐng)求,從數(shù)據(jù)庫(kù)連接池中獲得一個(gè)數(shù)據(jù)庫(kù)連接,應(yīng)用程序在這個(gè)給定的數(shù)據(jù)庫(kù)連接執(zhí)行業(yè)務(wù)操作,業(yè)務(wù)操作完成之后釋放這個(gè)數(shù)據(jù)庫(kù)連接到數(shù)據(jù)庫(kù)連接池。
下面我們來(lái)分析Session阻斷的操作和影響。一般情況下,多數(shù)Session阻斷會(huì)采用向客戶端和服務(wù)端分別發(fā)Reset包的方式來(lái)實(shí)現(xiàn)阻斷,我們這里不探究reset信號(hào)的阻斷有效性,假設(shè)其總是可以快速阻斷。在此前提下我們從兩個(gè)方面來(lái)探討可能的影響:
一是,數(shù)據(jù)庫(kù)連接池的影響。Session阻斷之后,會(huì)導(dǎo)致數(shù)據(jù)庫(kù)連接池的可用數(shù)量減少。特別是在多數(shù)情況下,數(shù)據(jù)庫(kù)連接池并不會(huì)檢測(cè)到reset信號(hào),也就是說(shuō)雖然網(wǎng)絡(luò)連接已經(jīng)被中斷,但是數(shù)據(jù)庫(kù)連接池并沒(méi)有意識(shí)到連接已經(jīng)不可用,依然會(huì)把業(yè)務(wù)分配到這個(gè)已經(jīng)中斷的數(shù)據(jù)庫(kù)連接之上,導(dǎo)致業(yè)務(wù)大規(guī)模錯(cuò)誤。
簡(jiǎn)單來(lái)看,入侵者可以通過(guò)簡(jiǎn)單的可以被數(shù)據(jù)庫(kù)防火墻識(shí)別的無(wú)效攻擊來(lái)實(shí)現(xiàn)cc攻擊,導(dǎo)致業(yè)務(wù)系統(tǒng)不可用。為了避免這種情況,需要在數(shù)據(jù)庫(kù)連接池上增加特定錯(cuò)誤檢測(cè)功能,當(dāng)檢測(cè)到特定錯(cuò)誤之后,關(guān)閉特定無(wú)效鏈接,并主動(dòng)發(fā)起重新連接以保持業(yè)務(wù)程序運(yùn)行。
二是,數(shù)據(jù)庫(kù)端的影響。在大部分情況下,數(shù)據(jù)庫(kù)并不能很好的處理reset信號(hào),而需要依賴死進(jìn)程檢測(cè)程序來(lái)處理。由于處理無(wú)法保證有效,也就是說(shuō)在相當(dāng)多的場(chǎng)景下可能會(huì)出現(xiàn)大量的僵死進(jìn)程,消耗大量數(shù)據(jù)庫(kù)會(huì)話資源,入侵者可以通過(guò)這個(gè)特征實(shí)現(xiàn)cc攻擊。特別是在實(shí)際運(yùn)行中,僵死進(jìn)程甚至存在共享的資源沒(méi)有釋放,從而導(dǎo)致數(shù)據(jù)庫(kù)業(yè)務(wù)部分掛起或者全部掛起。
總結(jié)
數(shù)據(jù)庫(kù)防火墻設(shè)備從理論上講必須采用行為阻斷模式,采用具體形式的行為阻斷都可以完成相應(yīng)目標(biāo)。Session阻斷模式會(huì)帶來(lái)眾多不可預(yù)知的影響,不應(yīng)該被數(shù)據(jù)庫(kù)防火墻所采用。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】。