文章目录
![射箭](https://i-blog.csdnimg.cn/blog_migrate/8c872e3f7465c204120a74fa906a8946.gif)
Auditing审计
目标:
- List item概述审计类别
- List item为一个实例启用审计
- List item概述审计选项
- List item获取审计信息
一、基础知识
1、审计介绍
在Oracle数据库中,审计是一种安全机制,它可以跟踪数据库的操作和事件,包括用户登录、数据库对象的创建和删除、数据修改、系统权限的授予和撤销等等。审计记录可以用于追踪数据库的使用情况和检测安全漏洞,以确保数据库的安全性和合规性。Oracle提供了多种审计功能,包括标准审计、细粒度审计、数据库审计跟踪等等。管理员可以针对不同的需求选择不同的审计功能,以满足数据库安全和合规性的要求。
2、Auditing Types 审计类型
-
标准审计。对SQL语句、特权、架构、对象以及网络和多层活动使用标准审计。标准的审计记录写在下列地点之一:
- SYS.AUD$ system table系统表。您可以通过查询DBA _AUDIT_TRAIL数据字典视图或DBA _COMMON_AUDIT_RAIL视图来查看该表的内容,该视图结合了标准的和细粒度的审计日志记录。
- 操作系统文件。除了用操作系统文件格式编写审计跟踪之外,还可以用XML格式编写审计跟踪。
- 要控制如何编写标准审计跟踪记录,可以设置AUDIT TRAIL初始化参数
-
细粒度审计。使用细粒度审计来监视特定的活动,例如对数据库表的操作或活动发生的时间。细粒度审计记录被写入到sys .FGA _LOG$system表中。若要查看此表的内容,请查询DBA_FGA _AUDIT_TRAIL数据字典视图或DBA_AUDIT_AUDIT_TRAIL视图。
- 要控制细粒度审计跟踪记录的写入方式,请在DBMS_FGA.ADD_POLICY过程中设置audit_trail参数。audit_trail参数将记录写入FGA _LOG$system表或XML操作系统文件。
-
管理员审计。在UNIX系统上,您可以使用syslog审计跟踪监视系统管理员 (用户SYSDBA或SYSOPER权限连接的用户) 的活动。syslog是另一个目标审计跟踪,类似于操作系统文件、XML格式文件和数据库表。在Windows上,这些活动与其他类型的活动一起记录在Windows事件日志中。
- 对于UNIX和Windows,要控制管理员审计文件的写入方式,可以设置以下初始化参数:
- 审计 SYS OPERATION参数启用或禁用管理员审核。将其设置为TRUE将在包含审计跟踪的操作系统文件中记录系统管理员的活动。
- 审计_SYSLOGLEVEL参数当AUDIT_TRAIL参数设置为os时,使用syslog实用工具将sys和标准操作系统审计记录写入系统审计日志。
- 对于UNIX和Windows,要控制管理员审计文件的写入方式,可以设置以下初始化参数:
3、Auditing Guidelines 审计准则
- 定义要审计的内容:
- 用户、语句或对象
- 执行声明
- 成功的语句执行,不成功的语句执行,或两者兼有
- 管理您的审计跟踪
- 监测审计线索的增长情
- 保护审计线索不受未经授权的访问(没有授权的用户不能查看审计)
4、Auditing Categories 审核类别
- 默认情况下审计:
- 实例启动和实例关闭
- 管理员权限
- 数据库审计:
- 由DBA启用
- 无法记录列值
- 基于价值或应用程序的审计:
- 通过代码实现
- 可以记录列值
- 用于跟踪表的更改
5、Database Auditing 数据库审计
6、Auditing User SYS 审计sys用户
- 审计用户sys:
- 需要额外的安全级别
- 设置AUDIT_SYS_OPERATIONS为True
- 不审计用户sys:
- 设置AUDIT_SYS_OPERATIONS为False
- 这个是默认的值(在默认情况下设置是不审计用户sys)
7、Getting Auditing Informatio 获取审计信息
- 可以通过查询以下视图来获取有关审计的信息:
8、获取审计记录通知
- 通过查询以下视图可以获得审计记录的信息:
二、基础操作
1、审计文件位置
以下是我的审计文件位置所在,我的数据库名称是orcl
在这里我们能够查看到我们的审计文件
2、使用sql查询审计表以及删除表中数据的方法
select * from aud$;
删除审计表中的数据
truncate table aud$;
3、Auditing Options 审计选项
审计选项就是选择对什么什么进行审计,也就是对什么什么开始监测的意思
表审计
AUDIT TABLE; # 这句话的意思是对表进行审计,监测表的操作
权限审计
AUDIT create any trigger; # 对权限进行审计的格式是:AUDIT 权限;
对象审计
AUDIT SELECT ON emi.orders; # 样例的意思是当查询emi用户下的orders表时进行审计 # 对对象进行审计的格式是:AUDIT 操作 ON 对象;
完结散花