目录
2.例如: 针对Oracle数据库监视所有登录不成功的用户。
数据多了,查询结果会非常的不好看。分别执行下面3条语句再次查询。
一、查看是否开启审计
show parameter audit;
对于参数audit_sys_operations
设置为true那么sys用户的操作也会被审计,但此值默认为false,此参数控制以sysdba和sysoper权限登陆的用户以及sys用户本身的登陆,审计记录一定会写在操作系统文件中(无论AUDIT_TRAIL参数如何设置)。
对于参数audit_trail
none
-
-
不开启
os
-
-
启用数据库审计,并将数据库审计记录定向到操作系统文件,存储目录为AUDIT_FILE_DEST
db
-
-
开启审计功能 启用数据库审计,并将数据库所有审计记录定向到数据库的SYS.AUD$表
db,extended
-
-
extened之前的空格必须有,启用数据库审计,并将数据库所有审计记录定向到数据库的SYS.AUD$表,另外填充SYS.AUD$表的SQLBIND列和SQLTEXT列
二、开启审计
1.用sysdba登录
2.修改第一步的参数值
SQL> alter system set audit_sys_operations=TRUE scope=spfile;
系统已更改。
audit_trail默认为DB,不做修改
3.重启数据库,即可看见更改
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database open;
二、关闭审计
alter system set audit_trail=none;
三、审计策略
1.例如:我现在要监视用户 ' wjy ' 所有行为。
这个命令将监视用户‘wjy’的所有行为,并记录到审计日志中。
其中,ALL表示监视所有操作,BY wjy表示监视用户‘wjy’的操作,BY ACCESS表示监视所有访问操作(包括SELECT、INSERT、UPDATE、DELETE等)。
你可以使用以下命令查看审计结果:
select username 用户,action_name 行为,timestamp 时间
from dba_audit_trail
where username='WJY';
2.例如: 针对Oracle数据库监视所有登录不成功的用户。
AUDIT FAILED LOGIN;
这个命令将监视所有登录不成功的用户,并将审计跟踪结果存储在数据库中的SYS.AUD$表中。
你可以使用以下命令查看审计结果:
SELECT * FROM dba_audit_trail WHERE action_name = 'LOGON' AND returncode != 0;
这将显示所有登录不成功的用户的审计结果。
3.小tips
-
数据多了,查询结果会非常的不好看。分别执行下面3条语句再次查询。
set linesize 1000;
set pagesize 50;
set tab off;
四、其他审计选项
- by access 每一个被审计的操作都会生成一条audit trail。
- by session 一个会话里面同类型的操作只会生成一条audit trail,默认为by session。
- whenever successful 操作成功(dba_audit_trail中returncode字段为0) 才审计,
- whenever not successful 反之。省略该子句的话,不管操作成功与否都会审计。
五、视图(表)
1. SYS.AUD$
审计功能的底层视图,如果需要对数据进行删除,只需要对aud$视图进行删除既可,其他视图里的数据都是由aud$所得.
2. DBA_AUDIT_EXISTS
列出audit not exists和audit exists产生的审计跟踪,我们默认的都是audit exists.
3. DBA_AUDIT_TRAIL
可以在里面查处所有审计所跟踪的信息.
4. DBA_AUDIT_OBJECT
可以查询所有对象跟踪信息.(例如,对grant,revoke等不记录),信息完全包含于dba_audit_trail
5. DBA_AUDIT_SESSION
所得到的数据都是有关logon或者logoff的信息.
6. DBA_AUDIT_STATEMENT
列出grant,revoke,audit,noaudit,alter system语句的审计跟踪信息.
7. DBA_PRIV_AUDIT_OPTS
通过系统和由用户审计的当前系统特权
8. DBA_OBJ_AUDIT_OPTS
可以查询到所有用户所有对象的设计选项
9. ALL_DEF_AUDIT_OPTS
10. AUDIT_ACTIONS
可以查询出在aud$等视图中actions列的含义
11. SYSTEM_PRIVILEGE_MAP
可以查询出aud$等视图中priv$used列的含义(注意前面加'-')
六、撤销、清空
noaudit all on t_test; 撤销审计
truncate table aud$; 清空审计表内容
原文地址:https://blog.csdn.net/HQC66666/article/details/134474731
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。