您好,登錄后才能下訂單哦!
DM7審計(jì)中的語句序列審計(jì)是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
審計(jì)機(jī)制是DM數(shù)據(jù)庫管理系統(tǒng)安全管理的重要組成部分之一。DM數(shù)據(jù)庫除了提供數(shù)據(jù)安全保護(hù)措施外,還提供對日常事件的事后審計(jì)監(jiān)督。DM具有一個(gè)靈活的審計(jì)子系統(tǒng),可以通過它來記錄系統(tǒng)級事件、個(gè)別用戶的行為以及對數(shù)據(jù)庫對象的訪問。通過考察、跟蹤審計(jì)信息,數(shù)據(jù)庫審計(jì)員可以查看用戶訪問的形式以及曾試圖對該系統(tǒng)進(jìn)行的操作,從而采取積極、有效的應(yīng)對措施。
審計(jì)開關(guān)
在DM系統(tǒng)中,專門為審計(jì)設(shè)置了開關(guān),要使用審計(jì)功能首先要打開審計(jì)開關(guān)。審計(jì)開關(guān)由DM的INI參數(shù)ENABLE_AUDIT控制,有三種取值:
0:關(guān)閉審計(jì)
1:打開普通審計(jì)
2:打開普通審計(jì)和實(shí)時(shí)審計(jì)
在普通版本中,ENABLE_AUDIT的缺省值為0;在安全版本中,ENABLE_AUDIT的缺省值為2。
審計(jì)開關(guān)必須由具有DBA權(quán)限的管理員進(jìn)行設(shè)置。
系統(tǒng)管理員可通過查詢V$PARAMETER動(dòng)態(tài)視圖查詢ENABLE_AUDIT的當(dāng)前值。
SQL> select * from v$parameter where name='ENABLE_AUDIT';
LINEID ID NAME TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION
---------- ----------- ------------ ---- ----- --------- ---------- ---------------------------------------------------------------------------------------
1 385 ENABLE_AUDIT SYS 0 0 0 Flag For Allowing Audit, 0: no audit 1: normal audit 2:normal audit and realtime audit
used time: 8.170(ms). Execute id is 24948.
SQL> sp_set_para_value(1,'ENABLE_AUDIT',2);
DMSQL executed successfully
used time: 80.901(ms). Execute id is 24968.
SQL> select * from v$parameter where name='ENABLE_AUDIT';
LINEID ID NAME TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION
---------- ----------- ------------ ---- ----- --------- ---------- ---------------------------------------------------------------------------------------
1 385 ENABLE_AUDIT SYS 2 2 2 Flag For Allowing Audit, 0: no audit 1: normal audit 2:normal audit and realtime audit
used time: 6.829(ms). Execute id is 24969.
SQL> select * from v$dm_ini where para_name='ENABLE_AUDIT';
LINEID PARA_NAME PARA_VALUE MIN_VALUE MAX_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION PARA_TYPE
---------- ------------ ---------- --------- --------- ------- ---------- ---------- --------------------------------------------------------------------------------------- ---------
1 ENABLE_AUDIT 2 0 2 N 2 2 Flag For Allowing Audit, 0: no audit 1: normal audit 2:normal audit and realtime audit SYS
used time: 7.090(ms). Execute id is 24970.
SQL>
也可以通過使用客戶端工具Console或調(diào)用系統(tǒng)過程SP_SET_PARA_VALUE重新設(shè)置ENABLE_AUDIT的值,ENABLE_AUDIT為動(dòng)態(tài)INI參數(shù)。
審計(jì)的設(shè)置與取消
數(shù)據(jù)庫審計(jì)員指定被審計(jì)對象的活動(dòng)稱為審計(jì)設(shè)置,只有具有AUDIT DATABASE權(quán)限的審計(jì)員才能進(jìn)行審計(jì)設(shè)置。DM提供審計(jì)設(shè)置系統(tǒng)過程來實(shí)現(xiàn)這種設(shè)置,被審計(jì)的對象可以是某類操作,也可以是某些用戶在數(shù)據(jù)庫中的全部行蹤。只有預(yù)先設(shè)置的操作和用戶才能被DM系統(tǒng)自動(dòng)進(jìn)行審計(jì)。
DM允許在三個(gè)級別上進(jìn)行審計(jì)設(shè)置
系統(tǒng)級:系統(tǒng)的啟動(dòng)與關(guān)閉,此級別的審計(jì)無法也無需由用戶進(jìn)行設(shè)置,只要審計(jì)開關(guān)打開就會(huì)自動(dòng)生成對應(yīng)審計(jì)記錄
語句級:導(dǎo)致影響特定類型數(shù)據(jù)庫對象的特殊SQL或語句組的審計(jì)。如AUDIT TABLE 將審計(jì)CREATE TABLE、ALTER TABLE和DROP TABLE等語句
對象級:審計(jì)作用在特殊對象上的語句。如test表上的INSERT語句
審計(jì)設(shè)置存放于DM字典表SYSAUDIT中,進(jìn)行一次審計(jì)設(shè)置就在SYSAUDIT中增加一條對應(yīng)的記錄,取消審計(jì)則刪除SYSAUDIT中相應(yīng)的記錄。
語句序列審計(jì)
DM還提供了語句序列審計(jì)功能,作為語句級審計(jì)和對象級審計(jì)的補(bǔ)充。語句序列審計(jì)需要審計(jì)員預(yù)先建立一個(gè)審計(jì)規(guī)則,包含N條SQL語句(SQL1,SQL2……),如果某個(gè)會(huì)話依次執(zhí)行了這些SQL語句,就會(huì)觸發(fā)審計(jì)。
建立語句序列審計(jì)規(guī)則的過程包括下面三個(gè)系統(tǒng)過程。
VOID
SP_AUDIT_SQLSEQ_START(
NAME VARCHAR (128)
)
VOID
SP_AUDIT_SQLSEQ_ADD(
NAME VARCHAR (128),
SQL VARCHAR (8188)
)
VOID
SP_AUDIT_SQLSEQ_END(
NAME VARCHAR (128)
)
參數(shù)說明:
NAME 語句序列審計(jì)規(guī)則名
SQL 需要審計(jì)的語句序列中的SQL語句
使用說明:
建立語句序列審計(jì)規(guī)則需要先調(diào)用SP_AUDIT_SQLSEQ_START,之后調(diào)用若干次SP_AUDIT_SQLSEQ_ADD,每次加入一條SQL語句,審計(jì)規(guī)則中的SQL語句順序根據(jù)加入SQL語句的順序確定,最后調(diào)用SP_AUDIT_SQLSEQ_END完成規(guī)則的建立。
例如,建立一個(gè)語句序列審計(jì)規(guī)則audit_sql1。
SQL> sp_audit_sqlseq_start('audit_sql1');
DMSQL executed successfully
used time: 0.901(ms). Execute id is 25115.
SQL> sp_audit_sqlseq_add('audit_sql1','select c2 from t1;');
DMSQL executed successfully
used time: 0.698(ms). Execute id is 25117.
SQL> sp_audit_sqlseq_add('audit_sql1','select c1 from t2;');
DMSQL executed successfully
used time: 0.709(ms). Execute id is 25118.
SQL> sp_audit_sqlseq_add('audit_sql1','select * from t3;');
DMSQL executed successfully
used time: 0.814(ms). Execute id is 25119.
SQL> sp_audit_sqlseq_end('audit_sql1');
DMSQL executed successfully
used time: 32.279(ms). Execute id is 25120.
在別一個(gè)會(huì)話執(zhí)行語句
SQL> select * from t1;
DMSQL executed successfully
used time: 0.814(ms). Execute id is 5119.
SQL> select * from t2;
DMSQL executed successfully
used time: 0.814(ms). Execute id is 5120.
SQL> select * from t3;
DMSQL executed successfully
used time: 0.814(ms). Execute id is 5121.
查詢審計(jì)記錄
SQL> select * from v$auditrecords;
LINEID USERID USERNAME ROLEID ROLENAME IP SCHID SCHNAME OBJID OBJNAME OPERATION SUCC_FLAG SQL_TEXT DESCRIBTION OPTIME MAC
---------- ----------- -------- ----------- -------- ---------------- ----------- ------- ----------- ------- ------------ --------- ---------------------------------------------------------------------------------------------------- --------------------------- -------------------------- -------------------
1 50331649 SYSDBA 67108864 DBA ::ffff:127.0.0.1 -1 -1 DROP TABLE Y drop table cs purge; 2020-05-27 19:28:06.000000 00:00:00:00:00:00
2 50331649 SYSDBA 67108864 DBA ::ffff:127.0.0.1 -1 -1 CREATE TABLE Y create table cs(id int,name varchar(20)); 2020-05-27 19:28:19.000000 00:00:00:00:00:00
3 50331649 SYSDBA 67108864 DBA ::ffff:127.0.0.1 -1 -1 CREATE USER Y create user cs2 identified by ******; 2020-05-27 19:32:18.000000 00:00:00:00:00:00
4 50331750 JY 67108864 DBA ::ffff:127.0.0.1 150995951 JY 1454 T1 UPDATE Y update t1 set c2='WY' where c1=2; 2020-05-27 19:36:39.000000 00:00:00:00:00:00
5 50331750 JY 67108864 DBA ::ffff:127.0.0.1 150995951 JY 1454 T1 DELETE Y delete from t1; 2020-05-27 19:37:08.000000 00:00:00:00:00:00
6 50331649 SYSDBA 67108864 DBA ::ffff:127.0.0.1 150995945 PERSON 1254 ADDRESS INSERT Y insert into person.address values('常德武陵區(qū)武陵大道938號(hào)',null,'德武陵區(qū)','415700',10); 2020-05-27 19:58:29.000000 00:00:00:00:00:00
7 50331649 SYSDBA -1 ::ffff:127.0.0.1 -1 -1 SQL SEQ Y select name from t1; select id from t2; select * from t3; audit_sql1 2020-05-27 20:14:44.000000 00:00:00:00:00:00
7 rows got
used time: 1.013(ms). Execute id is 25133.
可使用下面的系統(tǒng)過程刪除指定的語句序列審計(jì)規(guī)則。
VOID
SP_AUDIT_SQLSEQ_DEL(
NAME VARCHAR (128)
)
參數(shù)說明:
NAME 語句序列審計(jì)規(guī)則名
例如,刪除語句序列審計(jì)規(guī)則AUDIT_SQL1。
SQL> sp_audit_sqlseq_del('audit_sql1');
DMSQL executed successfully
used time: 26.854(ms). Execute id is 25137.
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。