一種數(shù)據(jù)庫三層審計的方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)庫三層審計的方法,該方法在三層架構(gòu)中將WEB請求與數(shù)據(jù)庫訪問的請求關(guān)聯(lián)起來,通過這種關(guān)聯(lián)得到實際發(fā)起數(shù)據(jù)庫訪問請求的終端用戶,生成審計信息。通過本發(fā)明無需改變用戶的運(yùn)行環(huán)境,且無需修改用戶的業(yè)務(wù)系統(tǒng),就可以進(jìn)行精確的數(shù)據(jù)庫三層訪問審計,不會對現(xiàn)有業(yè)務(wù)系統(tǒng)造成影響。
【專利說明】一種數(shù)據(jù)庫三層審計的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)庫審計【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)庫三層審計的方法。
【背景技術(shù)】
[0002] 在現(xiàn)有的數(shù)據(jù)庫審計系統(tǒng)中,通常都是用戶終端直接發(fā)出SQL請求到數(shù)據(jù)庫服務(wù) 器,系統(tǒng)通過用戶請求的數(shù)據(jù)包里面的信息,對SQL語句進(jìn)行分析,可以將訪問數(shù)據(jù)庫的請 求與實際用戶直接關(guān)聯(lián)起來,從而生成審計信息。
[0003] 但是在有些應(yīng)用環(huán)境中,用戶是通過瀏覽器向WEB服務(wù)器發(fā)出請求,然后由WEB服 務(wù)器再向數(shù)據(jù)庫發(fā)出訪問請求,在這種情況下,用戶的請求里面通常都沒有攜帶SQL信息, 原有的通過用戶請求數(shù)據(jù)包里面的信息直接進(jìn)行審計的方法就失效了,必須要將用戶請求 與數(shù)據(jù)庫訪問請求關(guān)聯(lián)起來,才能準(zhǔn)確的審計出實際的數(shù)據(jù)庫訪問用戶。
[0004] 目前通過將訪問WEB服務(wù)器時間與訪問數(shù)據(jù)庫時間進(jìn)行關(guān)聯(lián)的方法,發(fā)現(xiàn)實際訪 問數(shù)據(jù)庫的用戶。這種方法只適用于用戶訪問量不大的情景,當(dāng)用戶訪問量很大的時候,這 種方法誤差較大。
[0005] 此外,WEB服務(wù)器提供專門的審計接口,將用戶訪問與數(shù)據(jù)庫訪問關(guān)聯(lián)關(guān)系提供給 審計系統(tǒng)。這種方法實施難度大,會影響現(xiàn)有WEB服務(wù)器的業(yè)務(wù),難以維護(hù)升級。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明為了解決現(xiàn)有技術(shù)中數(shù)據(jù)庫三層審計用戶請求和數(shù)據(jù)庫訪問關(guān)聯(lián)準(zhǔn)確性 不夠的缺點(diǎn)或不足,提出了一種數(shù)據(jù)庫三層審計的方法,采用了通過返回值進(jìn)行關(guān)聯(lián),從而 實現(xiàn)了準(zhǔn)確關(guān)聯(lián)實際操作用戶的目的。
[0007] -種數(shù)據(jù)庫三層審計的方法,該方法在三層架構(gòu)中將WEB請求與數(shù)據(jù)庫訪問的請 求關(guān)聯(lián)起來,通過這種關(guān)聯(lián)得到實際發(fā)起數(shù)據(jù)庫訪問請求的終端用戶,生成審計信息,具體 流程如下:
[0008] 1)在WEB服務(wù)器兩端同時進(jìn)行抓包并緩存相關(guān)的鏈路信息;
[0009] 2)將用戶WEB請求的返回內(nèi)容與數(shù)據(jù)庫請求緩存中的SQL請求的返回內(nèi)容逐一進(jìn) 行模糊匹配,如果匹配成功,則將WEB訪問緩存中的對應(yīng)項與數(shù)據(jù)庫訪問請求緩存中的對 應(yīng)項關(guān)聯(lián)起來;
[0010] 3)對返回內(nèi)容匹配成功的SQL語句進(jìn)行分析,將SQL分析結(jié)果與相應(yīng)的WEB請求 用戶進(jìn)行關(guān)聯(lián),生成審計信息;
[0011] 4)如果匹配成功,則在生成審計信息后,將關(guān)聯(lián)的項從對應(yīng)的緩存中刪除;如果 匹配不成功,則只刪除WEB請求信息緩存中的對應(yīng)項。
[0012] 優(yōu)選地,本發(fā)明將用戶對WEB服務(wù)器的訪問進(jìn)行旁路抓包,并將如下信息進(jìn)行緩 存:源IP地址、源端口號、目的IP地址,目的端口號、源MAC地址、請求發(fā)起時間、返回內(nèi)容。
[0013] 優(yōu)選地,本發(fā)明將WEB服務(wù)器對數(shù)據(jù)庫服務(wù)器的訪問進(jìn)行旁路抓包,并將如下信 息進(jìn)行緩存:源IP地址、源端口號、目的IP地址,目的端口號、SQL語句、請求發(fā)起時間、返 回內(nèi)容。
[0014] 優(yōu)選地,本發(fā)明步驟4)中系統(tǒng)定期對緩存里面的信息進(jìn)行掃描,將請求發(fā)起時間 與當(dāng)前時間進(jìn)行對比,如果時長超過指定閾值,則從緩存中清除該信息項。
[0015] 本發(fā)明技術(shù)方案帶來的有益效果:
[0016] 通過本發(fā)明無需改變用戶的運(yùn)行環(huán)境,且無需修改用戶的業(yè)務(wù)系統(tǒng),就能夠進(jìn)行 精確的數(shù)據(jù)庫三層訪問審計,不會對現(xiàn)有業(yè)務(wù)系統(tǒng)造成影響。
【專利附圖】
【附圖說明】
[0017] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其它的附圖。
[0018] 圖1是本發(fā)明方法的架構(gòu)部署圖;
[0019] 圖2是本發(fā)明實施例的流程圖。
【具體實施方式】
[0020] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。
[0021] 針對現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種數(shù)據(jù)庫三層審計的方法,這種方法可以 在三層架構(gòu)中準(zhǔn)確將WEB請求與數(shù)據(jù)庫訪問的請求關(guān)聯(lián)起來,通過這種關(guān)聯(lián)得到實際發(fā)起 數(shù)據(jù)庫訪問請求的終端用戶,同時這種方法不會對現(xiàn)有業(yè)務(wù)系統(tǒng)造成影響。
[0022] 本發(fā)明的原理:
[0023] 1)如果用戶的請求需要訪問數(shù)據(jù)庫,那么數(shù)據(jù)庫的返回結(jié)果通常會返回給發(fā)起這 一請求的用戶。
[0024] 2)通過將數(shù)據(jù)庫返回給WEB服務(wù)器的內(nèi)容與WEB服務(wù)器返回給終端用戶的內(nèi)容進(jìn) 行模糊匹配,可以關(guān)聯(lián)到發(fā)起數(shù)據(jù)庫訪問的實際終端用戶。
[0025] 3)通過對WEB服務(wù)器訪問數(shù)據(jù)庫的SQL進(jìn)行審計,將審計結(jié)果對應(yīng)到關(guān)聯(lián)到的終 端用戶,可以滿足實際的安全審計需要。
[0026] 如圖1所示為本發(fā)明方法的架構(gòu)部署圖,將審計系統(tǒng)的相應(yīng)的兩個抓包口分別連 接在WEB服務(wù)器兩側(cè)(用戶側(cè)與數(shù)據(jù)庫服務(wù)器側(cè))的兩個鏡像口,運(yùn)行系統(tǒng)就可以進(jìn)行正 常審計。本發(fā)明在WEB服務(wù)器或其他應(yīng)用服務(wù)器的兩側(cè)即用戶訪問側(cè)和數(shù)據(jù)庫訪問側(cè)進(jìn)行 抓包分析。
[0027] 通過以上原理,實現(xiàn)本發(fā)明采用如下方案:
[0028] 1)在WEB服務(wù)器兩端同時進(jìn)行抓包并緩存相關(guān)的鏈路信息。
[0029] 將用戶對WEB服務(wù)器的訪問進(jìn)行旁路抓包,并將如下信息進(jìn)行緩存:源IP地址、源 端口號、目的IP地址,目的端口號、源MAC地址、請求發(fā)起時間、返回內(nèi)容。
[0030] 將WEB服務(wù)器對數(shù)據(jù)庫服務(wù)器的訪問進(jìn)行旁路抓包,并將如下信息進(jìn)行緩存:源 IP地址、源端口號、目的IP地址,目的端口號、SQL語句、請求發(fā)起時間、返回內(nèi)容。
[0031] 2)將用戶WEB請求的返回內(nèi)容與數(shù)據(jù)庫請求緩存中的SQL請求的返回內(nèi)容逐一進(jìn) 行模糊匹配,如果匹配成功,則將WEB訪問緩存中的對應(yīng)項與數(shù)據(jù)庫訪問請求緩存中的對 應(yīng)項關(guān)聯(lián)起來。
[0032] 3)對返回內(nèi)容匹配成功的SQL語句進(jìn)行分析,將SQL分析結(jié)果與相應(yīng)的WEB請求 用戶進(jìn)行關(guān)聯(lián),生成審計信息。
[0033] 4)如果匹配成功,則在生成審計信息后,將關(guān)聯(lián)的項從對應(yīng)的緩存中刪除;如果 匹配不成功,則只刪除WEB請求信息緩存中的對應(yīng)項;系統(tǒng)定期對緩存里面的信息進(jìn)行掃 描,將請求發(fā)起時間與當(dāng)前時間進(jìn)行對比,如果時長超過指定閾值,則從緩存中清除該信息 項。
[0034] 具體實施如圖2所示:
[0035] 1)用戶使用IE瀏覽器通過HTTP協(xié)議向WEB服務(wù)器發(fā)送信息查詢請求;
[0036] 2) WEB服務(wù)器收到請求,審計系統(tǒng)將該請求信息放入緩存cachel ;
[0037] 3) WEB服務(wù)器根據(jù)HTTP請求內(nèi)容向數(shù)據(jù)庫服務(wù)器通過TDS協(xié)議發(fā)送SQL查詢命 令,審計系統(tǒng)將該請求信息放入緩存cache2 ;
[0038] 4)數(shù)據(jù)庫服務(wù)器通過TDS協(xié)議返回查詢結(jié)果,審計系統(tǒng)將該結(jié)果內(nèi)容添加進(jìn)緩存 cache2中的對應(yīng)的項中;
[0039] 5) WEB服務(wù)器將相應(yīng)的處理信息通過HTTP返回給對應(yīng)的用戶,審計系統(tǒng)將該返回 信息內(nèi)容添加進(jìn)緩存cachel中的對應(yīng)的項中;
[0040] 6)審計系統(tǒng)將緩存cachel中的返回內(nèi)容與緩存cache2中的緩存內(nèi)容逐項進(jìn)行模 糊匹配,如果匹配成功,則將緩存cachel中的相應(yīng)項與緩存cache2中的相應(yīng)項進(jìn)行關(guān)聯(lián);
[0041] 7)審計系統(tǒng)將成功關(guān)聯(lián)的項中的SQL語句進(jìn)行分析,結(jié)合緩存項中的其他信息生 成相應(yīng)的審計信息;
[0042] 8)審計系統(tǒng)刪除當(dāng)前緩存cachel中的對應(yīng)項,如果匹配成功也同時刪除緩存 cache2中的對應(yīng)項;
[0043] 9)審計系統(tǒng)定期掃描緩存中的項,將緩存時間超過閾值的項刪除。
[0044] 此外,本發(fā)明中緩存超時閥值可以根據(jù)系統(tǒng)的硬件條件以及實際的運(yùn)行環(huán)境靈活 配置。還可以對于系統(tǒng)吞吐量大且審計實時性要求較高的應(yīng)用環(huán)境,將關(guān)聯(lián)分析模塊獨(dú)立 在一個單獨(dú)的機(jī)器或者多機(jī)上運(yùn)行。
[0045] 以上對本發(fā)明實施例所提供的一種數(shù)據(jù)庫三層審計的方法進(jìn)行了詳細(xì)介紹,本文 中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫 助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思 想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對 本發(fā)明的限制。
【權(quán)利要求】
1. 一種數(shù)據(jù)庫三層審計的方法,其特征在于,該方法在三層架構(gòu)中將WEB請求與數(shù)據(jù) 庫訪問的請求關(guān)聯(lián)起來,通過這種關(guān)聯(lián)得到實際發(fā)起數(shù)據(jù)庫訪問請求的終端用戶,生成審 計信息,具體流程如下: 1) 在WEB服務(wù)器兩端同時進(jìn)行抓包并緩存相關(guān)的鏈路信息; 2) 將用戶WEB請求的返回內(nèi)容與數(shù)據(jù)庫請求緩存中的SQL請求的返回內(nèi)容逐一進(jìn)行模 糊匹配,如果匹配成功,則將WEB訪問緩存中的對應(yīng)項與數(shù)據(jù)庫訪問請求緩存中的對應(yīng)項 關(guān)聯(lián)起來; 3) 對返回內(nèi)容匹配成功的SQL語句進(jìn)行分析,將SQL分析結(jié)果與相應(yīng)的WEB請求用戶 進(jìn)行關(guān)聯(lián),生成審計信息; 4) 如果匹配成功,則在生成審計信息后,將關(guān)聯(lián)的項從對應(yīng)的緩存中刪除;如果匹配 不成功,則只刪除WEB請求信息緩存中的對應(yīng)項。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,將用戶對WEB服務(wù)器的訪問進(jìn)行旁路抓 包,并將如下信息進(jìn)行緩存:源IP地址、源端口號、目的IP地址,目的端口號、源MAC地址、 請求發(fā)起時間、返回內(nèi)容。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,將WEB服務(wù)器對數(shù)據(jù)庫服務(wù)器的訪問進(jìn) 行旁路抓包,并將如下信息進(jìn)行緩存:源IP地址、源端口號、目的IP地址,目的端口號、SQL 語句、請求發(fā)起時間、返回內(nèi)容。
4. 根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,步驟4)中系統(tǒng)定期對緩存里面的 信息進(jìn)行掃描,將請求發(fā)起時間與當(dāng)前時間進(jìn)行對比,如果時長超過指定閾值,則從緩存中 清除該信息項。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,本發(fā)明在WEB服務(wù)器或其他應(yīng)用服務(wù)器的 兩側(cè)即用戶訪問側(cè)和數(shù)據(jù)庫訪問側(cè)進(jìn)行抓包分析。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,緩存超時閥值還能夠根據(jù)系統(tǒng)的硬件條 件以及實際的運(yùn)行環(huán)境靈活配置。
7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,對于系統(tǒng)吞吐量大且審計實時性要求較 高的應(yīng)用環(huán)境,將關(guān)聯(lián)分析模塊獨(dú)立在一個單獨(dú)的機(jī)器或者多機(jī)上運(yùn)行。
【文檔編號】H04L29/08GK104113598SQ201410347465
【公開日】2014年10月22日 申請日期:2014年7月21日 優(yōu)先權(quán)日:2014年7月21日
【發(fā)明者】柯宗貴, 楊育斌, 周炎華 申請人:藍(lán)盾信息安全技術(shù)有限公司