DM7审计中的语句顺序审计是什么?
审计机制是DM数据库管理系统安全管理的重要组成部分之一。 DM数据库除了提供数据安全保护措施外,还提供日常事件的事后审计监督。 DM 具有灵活的审核子系统,通过该子系统可以记录系统级事件、个人用户行为以及对数据库对象的访问。通过检查和跟踪审计信息,数据库审计人员可以查看用户访问的形式以及他们试图对系统执行的操作,从而采取主动有效的对策。
审核开关
DM系统中专门设置了一个用于审核的开关。要使用审核功能,您必须先打开审核开关。审计开关由DM的INI参数ENABLE_AUDIT控制,有三个值:
0:关闭审计
1:开启正常审计
2:开启普通审计和实时审计
普通版本中ENABLE_AUDIT默认值为0;在安全版本中,ENABLE_AUDIT的默认值为2。
审计开关必须由具有DBA权限的管理员设置。
系统管理员可以通过查询V$PARAMETER动态视图来查询ENABLE_AUDIT的当前值。
SQL> select * from v$parameter where name='ENABLE_AUDIT';
LINEID ID ID NAME TYPE VALUE SYS_VALUE FILE_VALUE 描述
----- - ---- ----------- ------------ ---- ----- --------- ---- - ------------------------------------------------- -----------------------------------------------------
1 385ENABLE_AUDIT SYS 0 0 0 0 允许审计标志,0:不审计 1:正常审计 2:正常审计和实时审计
使用时间:8.170(ms)。执行id为24948。
SQL> sp_set_para_value(1,'ENABLE_AUDIT',2);
DMSQL执行成功
使用时间:80.901(ms)。执行 ID 为 24968。
SQL> select * from v$parameter where name='ENABLE_AUDIT';
LINEID ID ID NAME TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION
---------- - ---------- ------------ ---- ----- -------- - ---------- ------------------------------------------ ----------- ------------------------------------------------ p>
1 385 ENABLE_AUDIT SYS 2 2 2 允许审计标志,0:不审计 1:正常审计 2:正常审计和实时审计
使用时间:6.829(ms)。执行 ID 为 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------ ---------- --------- --------- ---------- --------- - ------------------------------------------------- --- ---------------------------------------- -- ----- --
1 ENABLE_AUDIT 2 0 2 N N 2 2 2 允许审计标志,0:不审计 1:正常审计 2:正常审计和实时审计 SYS 使用时间:7.090 (多发性硬化症)。执行id为24970。
SQL>
您还可以通过客户端工具Console或调用系统过程SP_SET_PARA_VALUE来重置ENABLE_AUDIT的值。 ENABLE_AUDIT 是一个动态 INI 参数。
审计设置和取消
数据库审计员指定审计对象的活动称为审计设置。只有具有审核数据库权限的审核员才能执行审核设置。 DM提供了审核设置系统流程来实现此设置。审计的对象可以是某类操作,也可以是数据库中某些用户的全部行踪。氧DM系统可以自动审核预设的操作和用户。
DM 允许三个级别的审核设置
系统级别:系统启动和关闭。这一级别的审核不能也不需要由用户设置,只要审核开关打开即可。会自动生成相应的审计记录
语句级别:导致对影响特定类型数据库对象的特殊SQL或语句组进行审计。例如,AUDIT TABLE将审计CREATE TABLE、ALTER TABLE和DROP TABLE等语句
对象级别:作用于特殊对象的审计语句。例如,测试表上的INSERT语句
审计设置存储在DM字典表SYSAUDIT中。一旦执行审计设置,就会在SYSAUDIT中添加相应的记录。如果审计被取消,SYSAUDIT中相应的记录将被删除。
语句顺序审计
DM还提供语句顺序ce审计功能作为语句级审计和对象级审计的补充。语句顺序审计需要审计人员提前建立一条审计规则,包括N条SQL语句(SQL1、SQL2...)。如果会话按顺序执行这些SQL语句,就会触发审计。
建立语句顺序审计规则的过程包括以下三个系统流程。
无效
SP_AUDIT_SQLSEQ_START(
NAME VARCHAR (128)
)
无效
< p>SP_AUDIT_SQLSEQ_ADD(NAME VARCHAR (128),
SQL VARCHAR (8188)
)
VOID
< p>SP_AUDIT_SQLSEQ_END(NAME VARCHAR (128)
)
参数说明:
NAME语句序列审核规则名称
SQL语句序列中需要审计的SQL语句
使用说明:
建立语句序列审计规则,需要先调用SP_AUDIT_SQLSEQ_START,然后调用几次SP_AUDIT_SQLSEQ_ADD,每次添加一条SQL语句中,根据SQL语句添加的顺序确定审计规则中SQL语句的顺序,最后调用SP_AUDIT_SQLSEQ_END完成规则的建立。
例如,创建一条语句顺序审计规则audit_sql1。
SQL> sp_audit_sqlseq_start('audit_sql1');
DMSQL 执行成功
使用时间:0.901(ms)。执行id为25115。
SQL> sp_audit_sqlseq_add('audit_sql1','select c2 from t1;');
DMSQL执行成功
使用时间:0.698 (多发性硬化症)。执行id为25117。
SQL> sp_audit_sqlseq_add('audit_sql1','select c1 from t2;');
DMSQL执行成功
使用时间:0.709 (多发性硬化症)。执行id为25118。
SQL> sp_audit_sqlseq_add('audit_sql1','select * from t3;');
DMSQL执行成功
使用时间:0.814 (多发性硬化症)。执行ID为25119。
SQL> sp_audit_sqlseq_end('audit_sql1');
DMSQL执行成功
使用时间:32.279(ms)。执行id是25120。
在另一个会话中执行该语句
SQL> select * from t1;
DMSQL执行成功
使用时间:0.814(ms)。执行id为5119。
SQL> select * from t2;
DMSQL执行成功
使用时间:0.814(ms)。执行id为5120。
SQL> select * from t3;
DMSQL执行成功
使用时间:0.814(ms)。执行id为5121。
查询审计记录
SQL> select * from v$auditrecords;
LINEID USERID USERNAME ROLEID ROLENAME IP SCHID SCHNAME OBJID OBJNAME OPERATION SUCC_FLAG SQL_TEXT
---------- ----------- -------- --------- ---- ------ ---------------- ---------- ------- ------ ----- ------- ------------ --------- ----------------- ----- -------------------------------------------------------- ----- -------------------------------------- ------------------ --- ---------------------------------- -------------------------- --- --
1 50331649 SYSDBA 67108864 DBA ::ffff:127.0.0.1 -1 -1 &nBSP;掉落表 Y 掉落表 CS 清除; 2023-05-27 19:28:06.000000 00:00:00:00:00
2 50331649 SYSDBA 67108864 DBA::127.0.0.1 -1 -1 创建表Y 创建表CS(ID Int, name varchar(20)); 50331649 SYSDBA 67108864 DBA ::ffff:127.0.0.1 -1 -1 CREATE USER Y 创建由 ****** 标识的用户 cs2; 0000 00:00:00:00:00:00
4 50331750 JY 67108864 DBA ::ffff:127.0.0.1 150995951 JY 1454 T1 UPDATE Y 更新 t1 set c2='WY' 其中 c1=2; UPDATE Y 更新 t1 设置 c2='WY' 其中 c1=2; 2023- 05-27 19:36:39.000000 00:00:00:00:00:00
5 50331750 JY 67108864 DBA ::ffff:127.0.0.1 150995951 JY 1454T1 从 t1 中删除; 2023-05-27 19:37:08.000000 00:00:00:00:00:00
6 .. ::ffff:127.0.0.1 150995945 人员 1254 地址 将 Y 插入set into person.address values('常德市武陵区武陵大道938号',null,'德武岭区','415700',10);2023-05-27 19:58:29.000000 00:00:00 : 00: 00
7 50331649 Sysdba -1 :: FFFF: 127.0.0.1 -1 SQL 从 t1 选择名称;从t2中选择id;从t3中选择*; 00:00:00:00
获得 7 行
使用时间:1.013(毫秒)。执行id为25133。
您可以使用以下系统过程删除指定的语句序列审核规则。
VOID
SP_AUDIT_SQLSEQ_DEL(
NAME VARCHAR (128)
)
参数说明:
>NAME语句序列审计规则名称
例如删除语句序列审计规则AUDIT_SQL1。
SQL> sp_audit_sqlseq_del('audit_sql1');
DMSQL 执行成功
使用时间:26.854(ms)。执行id是25137。
阅读以上内容对您有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注电子行业信息频道。感谢您的支持。
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > DM7审计中的语句顺序审计是什么?