DM8在开启审计的情况下可以对数据库的日常事件和操作进行安全审计。
目录
1.数据库审计级别
2.数据库审计状态
3.打开审计功能
4.查看审计视图
5.设置语句级审计
6.设置对象级审计
7.设置语句序列审计
8.审计分析工具
1.数据库审计级别
系统级:系统的启动与关闭。只要审计开关打开系统级审计就打开了。
语句级:导致影响特定类型数据库对象的特殊 SQL 或语句组的审计,需要单独配置。
对象级:审计作用在特殊对象上的语句,需要单独配置。
2.数据库审计状态
0:关闭审计
1:打开普通审计
2:打开普通审计和实时审计
查看审计状态:
3.打开审计功能
打开审计功能必须使用SYSAUDITOR用户执行。
开启审计后,数据库会在数据库实例目录下生成一个审计日志文件。
4.查看审计视图
查看审计配置的视图
查看审计日志的视图
5.设置语句级审计
SP_AUDIT_STMT(TYPE, USERNAME,WHENEVER)
TYPE 语句级审计选项。
USERNAME 需要审计的用户名,NULL 表示不限制。
WHENEVER 审计时机,ALL,SUCCESSFUL,FAIL。
例
设置TEST用户对表进行操作时,成功后开始审计:
设置AUD_TEST用户删除表数据时开始审计:
设置SYSDBA创建用户的时候开始审计:
用SYSDBA用户新建一个用户后,可以在审计日志表中查到对应的记录:
用AUD_TEST用户插入表数据,查看审计日志发现没有你触发审计。
用AUD_TEST用户删除表数据,查看审计日志:
用TEST用户创建用户失败:
发现没有记录审计日志。
用TEST 用户创建用户成功时:
发现记录了审计日志
取消语句级审计:
SP_NOAUDIT_STMT(TYPE,USERNAME,WHENEVER)
用法与设置语句级审计相同。
6.设置对象级审计
是对数据对象的操作做审计。
SP_AUDIT_OBJECT (TYPE,USERNAME,SCHNAME,TVNAME,COLNAME,WHENEVER)
TYPE 对象级审计选项;
USERNAME 用户名 ;
SCHNAME 模式名;
TVNAME 表、视图、存储过程名;
COLNAME 列名
WHENEVER 审计时机,ALL,SUCCESSFUL,FAIL。
例
设置AUD_TEST用户对表AUD_TEST.TABLE_1进行插入操作成功时进行审计。
设置AUD_TEST用户对表AUD_TEST.TABLE_1进行备份操作成功时进行审计
设置AUD_TEST用户对表AUD_TEST.TABLE_1的COLUMN_2字段进行更改成功时进行审计。
在使用AUD_TEST用户对表AUD_TEST.TABLE_1进行插入操作成功后可以看到操作已经被记入审计日志中了。
当使用AUD_TEST用户对表AUD_TEST.TABLE_1进行备份操作成功时
查看审计发现操作记录已经记入审计日志表
当使用AUD_TEST用户对表AUD_TEST.TABLE_1的COLUMN_2字段进行更改成功时
查看审计发现操作记录已经记入审计日志表
取消对象级审计:
SP_NOAUDIT_OBJECT (TYPE,USERNAME,SCHNAME,TVNAME,COLNAME,WHENEVER)
用法与设置对象级审计相同。
语句序列审计
预先建立一个审计规则,包含多条SQL语句,如果某个会话依次执行了这些 SQL 语句,就会触发审计。
7.设置语句序列审计
删除语句序列审计
8.审计分析工具
审计分析工具在数据库目录的tool下面的analyzer。
可以在审计分析工具中设置审计规则:
也可以指定审计日志直接查看审计记录: