應(yīng)用身份識(shí)別
數(shù)據(jù)庫審計(jì)服務(wù)提供的審計(jì)功能,只能審計(jì)訪問源的IP信息,無法溯源訪問應(yīng)用的具體訪問源信息(例如:用戶名)。如果您需要在審計(jì)日志中查看具體訪問源的信息,您可以使用應(yīng)用身份識(shí)別功能。本文介紹如何使用應(yīng)用身份識(shí)別功能。
前提條件
已在服務(wù)器中安裝Agent。具體操作,請(qǐng)參見安裝Agent。
功能介紹
應(yīng)用身份識(shí)別又稱為三層關(guān)聯(lián)。通過在您的數(shù)據(jù)庫服務(wù)器或與數(shù)據(jù)庫服務(wù)器相連的服務(wù)器中安裝具備應(yīng)用身份識(shí)別功能的插件,實(shí)現(xiàn)將URL、用戶名和客戶端IP以注釋方式插入到對(duì)應(yīng)的SQL語句中,數(shù)據(jù)庫審計(jì)可以根據(jù)注釋信息對(duì)用戶信息和SQL語句進(jìn)行關(guān)聯(lián)分析。以下是使用應(yīng)用身份識(shí)別后的SQL語句示例(其中/**/中的內(nèi)容為該功能在審計(jì)到的SQL語句中插入的信息):
/*SIP:127.16.XX.XX; URL:http://127.16.XX.XX:8080/ssm-login/user/login.do; USERNANME:admin; sql:*/
select * from ssm_user where userName= 'admin' and password= 'e10adc3949ba59abbe56e057f20f****'
應(yīng)用身份識(shí)別功能根據(jù)您應(yīng)用的模式,可分為以下兩種:
名稱 | 生效原理 | 應(yīng)用場(chǎng)景 |
B/S(Browser/Server,瀏覽器/服務(wù)器模式)應(yīng)用身份識(shí)別 | 管理員添加應(yīng)用身份識(shí)別后,系統(tǒng)會(huì)自動(dòng)生成JAR包,之后下載該JAR包并安裝到應(yīng)用服務(wù)器。當(dāng)有用戶對(duì)應(yīng)用的數(shù)據(jù)庫進(jìn)行操作時(shí),系統(tǒng)會(huì)審計(jì)到用戶、訪問應(yīng)用的URL以及使用的IP。 | B/S結(jié)構(gòu)的應(yīng)用需要在審計(jì)日志中記錄數(shù)據(jù)訪問者的真實(shí)信息。 您的業(yè)務(wù)為B/S結(jié)構(gòu)時(shí),用戶通過訪問您的Web應(yīng)用,Web應(yīng)用再發(fā)起對(duì)數(shù)據(jù)庫的訪問,來完成一次數(shù)據(jù)請(qǐng)求。這種情況下,數(shù)據(jù)庫審計(jì)系統(tǒng)審計(jì)到的請(qǐng)求均為Web應(yīng)用發(fā)起的請(qǐng)求,無法溯源到真實(shí)用戶的操作記錄。用戶的非法操作也無法被審計(jì)記錄。使用應(yīng)用身份識(shí)別功能,可以在審計(jì)日志中插入用戶真實(shí)的訪問信息,便于您溯源。 |
C/S(Client/Server,客戶端/服務(wù)器模式)應(yīng)用身份識(shí)別 | 管理員通過已審計(jì)到的登錄語句SQL審計(jì)日志,配置C/S應(yīng)用用戶名提取規(guī)則,指定配置后的SQL模板來判斷用戶名是否相同。后續(xù),數(shù)據(jù)庫審計(jì)系統(tǒng)審計(jì)到相同的SQL模板,會(huì)直接關(guān)聯(lián)出用戶名并顯示在審計(jì)日志中。 | C/S結(jié)構(gòu)的應(yīng)用需要在審計(jì)日志中插入訪問者的用戶名信息。 |
B/S應(yīng)用身份識(shí)別
您需要配置B/S應(yīng)用身份識(shí)別規(guī)則,并將生成的JAR包上傳到您的應(yīng)用服務(wù)器中,才能使用B/S應(yīng)用身份識(shí)別功能。
使用限制
Web應(yīng)用必須是Java語言開發(fā)的應(yīng)用,不支持PHP或者.NET開發(fā)的應(yīng)用。
支持的數(shù)據(jù)連接源:DBCP、C3P0、Driud、Hikari、Tomcat-Jdbc-pool。
數(shù)據(jù)庫連接配置中的
driverClassName
和url
信息支持修改(您需按照說明文檔中的操作指導(dǎo)修改這兩個(gè)參數(shù))。應(yīng)用需具備web.xml文件。
支持?jǐn)?shù)據(jù)庫的類型:Oracle、MySQL、SQLServer、MariaDB、PostgreSQL、DB2、Informix。
配置步驟
- 登錄數(shù)據(jù)庫審計(jì)系統(tǒng)。具體操作,請(qǐng)參見登錄數(shù)據(jù)庫審計(jì)系統(tǒng)。
- 在左側(cè)導(dǎo)航欄,選擇 。
- 在輔助功能頁面,單擊應(yīng)用身份識(shí)別頁簽。
在B/S應(yīng)用身份識(shí)別頁簽,單擊添加。
在新增B/S應(yīng)用身份識(shí)別配置面板,完成參數(shù)配置,并單擊保存。
數(shù)據(jù)庫審計(jì)系統(tǒng)會(huì)根據(jù)您的配置匹配對(duì)應(yīng)的審計(jì)日志,并在審計(jì)日志中插入相應(yīng)的訪問源信息。
配置項(xiàng)
說明
應(yīng)用名稱
配置Web應(yīng)用的名稱。長(zhǎng)度為1~64個(gè)字符,支持中文字符、字母、數(shù)字、半角句號(hào)(.)、下劃線(_)和短劃線(-)。
中間件類型
選擇中間件類型,可選項(xiàng):Weblogic、Tomcat、Jboss。
中間件版本
選擇中間件的版本。根據(jù)您選擇的中間件類型,控制臺(tái)會(huì)顯示可選的中間件版本供您選擇。
JDK版本
選擇JDK(Java語言軟件開發(fā)工具包)版本。
數(shù)據(jù)庫類型
選擇數(shù)據(jù)庫類型,請(qǐng)根據(jù)數(shù)據(jù)庫的實(shí)際情況選擇。可選項(xiàng):
Oracle
MySQL
SQLServer
PostgreSQL
DB2
登錄URL關(guān)鍵字
用戶登錄應(yīng)用服務(wù)器的URL關(guān)鍵字。
登錄用戶關(guān)鍵字
用戶登錄應(yīng)用服務(wù)器的用戶名關(guān)鍵字。
客戶端IP提取方式
該配置項(xiàng)為非必填項(xiàng)。根據(jù)您的Web應(yīng)用類型選擇客戶端IP提取方式。可選項(xiàng):
x-forwarded-for:普通Web應(yīng)用選擇該方式。
proxy:使用多層代理的Web應(yīng)用選擇該方式。
操作完成后,數(shù)據(jù)庫審計(jì)系統(tǒng)會(huì)根據(jù)您的配置自動(dòng)生成JAR包。
單擊應(yīng)用身份識(shí)別配置操作列的下載,下載生成的JAR包。
操作完成后,應(yīng)用身份識(shí)別的JAR包會(huì)被保存在您瀏覽器的默認(rèn)下載路徑下。
單擊下載說明文檔并選擇您需要的中間件類型,參考已下載的說明文檔將應(yīng)用身份識(shí)別的JAR包安裝到您的應(yīng)用服務(wù)器中。
操作完成后,您可以在審計(jì)日志中查看用戶的詳細(xì)信息。
修改了B/S應(yīng)用身份識(shí)別配置后,您需要重新下載并將新生成的JRA包上傳到您的應(yīng)用服務(wù)器中(覆蓋原有的JAR包)。
C/S應(yīng)用身份識(shí)別
通過在審計(jì)日志頁面完成C/S應(yīng)用用戶名的配置,使用C/S應(yīng)用身份識(shí)別功能。
配置C/S應(yīng)用身份識(shí)別
- 登錄數(shù)據(jù)庫審計(jì)系統(tǒng)。具體操作,請(qǐng)參見登錄數(shù)據(jù)庫審計(jì)系統(tǒng)。
- 在左側(cè)導(dǎo)航欄,選擇 。
找到客戶端訪問數(shù)據(jù)庫時(shí)產(chǎn)生的登錄行為SQL語句的審計(jì)日志,單擊操作列的詳情。
在審計(jì)日志對(duì)話框,單擊C/S應(yīng)用用戶名提取。
在編輯C/S應(yīng)用身份識(shí)別配置對(duì)話框,選擇應(yīng)用用戶名的參數(shù)位置,并單擊確定。
C/S應(yīng)用身份配置將立即生效,并自動(dòng)添加到C/S應(yīng)用身份識(shí)別配置列表中。
查看已添加的C/S應(yīng)用身份識(shí)別配置
- 登錄數(shù)據(jù)庫審計(jì)系統(tǒng)。具體操作,請(qǐng)參見登錄數(shù)據(jù)庫審計(jì)系統(tǒng)。
- 在左側(cè)導(dǎo)航欄,選擇 。
- 在輔助功能頁面,單擊應(yīng)用身份識(shí)別頁簽。
單擊C/S應(yīng)用身份識(shí)別頁簽。
在C/S應(yīng)用身份識(shí)別頁簽下,查看已添加的C/S應(yīng)用身份識(shí)別配置。
您可以根據(jù)需要編輯或刪除C/S應(yīng)用身份識(shí)別配置。