一、审计指导方针:1、最小化审计选项,降低跟踪文件个数
2、移动审计表sys.aud$到其他表空间(默认为system表空间)
3、定期删除跟踪记录
4、避免审计跟踪记录被非法用户删除(具有delete_catalog_role角色,可删除跟踪记录)
审计分类:特权用户审计
标准审计
细粒度审计
审计选择:1、whenever successful 或者whenever not successful,默认为两者
2、by session 或者 by access
3、by username
一、特权用户审计
默认情况下,数据库开启特权用户审计,审计记录存放在audit_file_dest指定的文件中
审计活动:1、作为sysdba或sysoper连接
2、数据库启动
3、数据库关闭
如果审计特权用户的其他活动,需要设置参数audit_sys_operations为true,默认为false
二、标准审计 1、语句级
2、权限级
3、对象级
审计跟踪数据:操作系统注册
数据库用户名
终端和会话标识符
执行和试图执行的操作
日期和时间戳
触发审计的SQL文本
1、设置参数audit_trail (须重启数据库)
选项:none,db,os,false,db extended,xml,xml extended,true 等同于db。默认为db
db extended和xml extended 都会填充SQLTEXT和SQLBIND列
os,xml,xml extended 审计记录存放在操作系统中,若选择其一,需要设置参数audit_file_dest,否则存放在默认位置。
2、创建试图
数据库安装后一般会自动创建,若没有,需要建立
@$ORACLE_HOME/rdbms/admin/cataudit.sql
若删除,执行catnoaud.sql。一般不用删除,如果想关闭审计,直接设置audit_trail为none或false.
3、权限
1、审计高级别操作,须具有audit system 权限
2、审计特定数据库对象上的操作,须具有audit any 或对象在自己模式中。
4、执行审计:
语句级
(1)审计语法:audit <stat>[,...][by <user> [,...]] [by {session|access}] [whenever [not] successful]
(2) 查看审计记录:dba_audit_trail
(3) 查看设置的审计选项:dba_stmt_audit_opts
(4) 禁用审计:noaudit ...
权限级
(1) 审计语法:audit <system_priv>[,...][by <user> [,...]] [by {session|access}] [whenever [not] successful]
(2)查看审计记录:dba_audit_trail
(3) 查看设置的审计选项:dba_priv_audit_opts
(4) 禁用审计:noaudit ...
对象级
(1) 审计语法:}audit <stat>[,...] on {<object>|default} [by <user> [,...]] [by {session|access}] [whenever [not] successful] /*all=insert,update,select,delete */
(2) 查看审计记录:dba_audit_trail
(3) 查看设置的审计选项:dba_obj_audit_opts
(4) 禁用审计:noaudit...
说明:高级别禁用语句将关闭所有低级别的审计
关闭所有审计:noaudit all
noaudit all privileges
noaudit all on default
5、清除审计记录:delete from sys.aud$ where 子句
或者truncate table sys.aud$
附录:运行cataudit。sql后数据库创建的对象:
stmp_audit_option_map 存放审计类型代码 如66表示insert table
audit_actions 审计跟踪活动类型代码,可从类型号得到活动类型代码
all_def_audit_opts 包含对象审计选项
dba_stmt_audit_opts 通过系统并由用户审计的当前系统审计选项
user_obj_audit_opts 一个用户所有对象的审计选项
dba_obj_audit_opts 所有用户所有对象的审计选项
user_audit_trail 与用户有关的审计条目
dba_audit_trail 与所有用户有关的审计条目
user_audit_session 系统中用户对象的审计跟踪记录
dba_audit_session 形同中所有对象的审计跟踪记录
user_audit_statement 列出用户关于grant,revoke,audit,noaudit,alter system语句的审计跟踪信息
dba_audit_statement 所有用户关于.........................................................
user_audit_object 系统中用户对象的审计跟踪记录
dba_audit_object 系统中所有对象的审计跟踪记录
dba_audit_exist 列出audit not exists 和audit exists 产生的审计跟踪
v$xml_audit_trail 11g下,显示标准的精细审计并以xml写到操作系统路径下
2、移动审计表sys.aud$到其他表空间(默认为system表空间)
3、定期删除跟踪记录
4、避免审计跟踪记录被非法用户删除(具有delete_catalog_role角色,可删除跟踪记录)
审计分类:特权用户审计
标准审计
细粒度审计
审计选择:1、whenever successful 或者whenever not successful,默认为两者
2、by session 或者 by access
3、by username
一、特权用户审计
默认情况下,数据库开启特权用户审计,审计记录存放在audit_file_dest指定的文件中
审计活动:1、作为sysdba或sysoper连接
2、数据库启动
3、数据库关闭
如果审计特权用户的其他活动,需要设置参数audit_sys_operations为true,默认为false
二、标准审计 1、语句级
2、权限级
3、对象级
审计跟踪数据:操作系统注册
数据库用户名
终端和会话标识符
执行和试图执行的操作
日期和时间戳
触发审计的SQL文本
1、设置参数audit_trail (须重启数据库)
选项:none,db,os,false,db extended,xml,xml extended,true 等同于db。默认为db
db extended和xml extended 都会填充SQLTEXT和SQLBIND列
os,xml,xml extended 审计记录存放在操作系统中,若选择其一,需要设置参数audit_file_dest,否则存放在默认位置。
2、创建试图
数据库安装后一般会自动创建,若没有,需要建立
@$ORACLE_HOME/rdbms/admin/cataudit.sql
若删除,执行catnoaud.sql。一般不用删除,如果想关闭审计,直接设置audit_trail为none或false.
3、权限
1、审计高级别操作,须具有audit system 权限
2、审计特定数据库对象上的操作,须具有audit any 或对象在自己模式中。
4、执行审计:
语句级
(1)审计语法:audit <stat>[,...][by <user> [,...]] [by {session|access}] [whenever [not] successful]
(2) 查看审计记录:dba_audit_trail
(3) 查看设置的审计选项:dba_stmt_audit_opts
(4) 禁用审计:noaudit ...
权限级
(1) 审计语法:audit <system_priv>[,...][by <user> [,...]] [by {session|access}] [whenever [not] successful]
(2)查看审计记录:dba_audit_trail
(3) 查看设置的审计选项:dba_priv_audit_opts
(4) 禁用审计:noaudit ...
对象级
(1) 审计语法:}audit <stat>[,...] on {<object>|default} [by <user> [,...]] [by {session|access}] [whenever [not] successful] /*all=insert,update,select,delete */
(2) 查看审计记录:dba_audit_trail
(3) 查看设置的审计选项:dba_obj_audit_opts
(4) 禁用审计:noaudit...
说明:高级别禁用语句将关闭所有低级别的审计
关闭所有审计:noaudit all
noaudit all privileges
noaudit all on default
5、清除审计记录:delete from sys.aud$ where 子句
或者truncate table sys.aud$
附录:运行cataudit。sql后数据库创建的对象:
stmp_audit_option_map 存放审计类型代码 如66表示insert table
audit_actions 审计跟踪活动类型代码,可从类型号得到活动类型代码
all_def_audit_opts 包含对象审计选项
dba_stmt_audit_opts 通过系统并由用户审计的当前系统审计选项
user_obj_audit_opts 一个用户所有对象的审计选项
dba_obj_audit_opts 所有用户所有对象的审计选项
user_audit_trail 与用户有关的审计条目
dba_audit_trail 与所有用户有关的审计条目
user_audit_session 系统中用户对象的审计跟踪记录
dba_audit_session 形同中所有对象的审计跟踪记录
user_audit_statement 列出用户关于grant,revoke,audit,noaudit,alter system语句的审计跟踪信息
dba_audit_statement 所有用户关于.........................................................
user_audit_object 系统中用户对象的审计跟踪记录
dba_audit_object 系统中所有对象的审计跟踪记录
dba_audit_exist 列出audit not exists 和audit exists 产生的审计跟踪
v$xml_audit_trail 11g下,显示标准的精细审计并以xml写到操作系统路径下