一、何谓数据库审计?

数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面的跟踪记录。

二、审记记录的存储方式

分为两种:一种是存储在操作系统文件中,一种是存储在system表空间中的SYS.AUD$表中。

三、对数据库性能影响的考虑

审计必然需要占用CPU,因此,需要综合平衡审计需求与性能之间的平衡性问题,以确定出最好的审许策略。

四、审记结果中包含哪些信息

前面讲到审许结果的存储分数据库存储和文件存储两种方式。对于数据库存储的情况,SYS.AUD$表中包含以下信息:

1)·操作系统用户名

2)·数据库用户名

3)·连接会话标识

4)·终端标识

5)·被访问的schema对象名

6)·尝试的操作

7)·操作的完整代码

8)·日期和时间戳

若审计记录存储在外部操作文件中,则该文件可能包含以下信息:

1)·操作系统产生的审计记录

2)·数据库的审计记录

3)·被审计到的数据库操作

4)·超级管理员(SYS)的审计记录

其中,被写到文件中的审计记录是以编码的方式存储的,如果要理解这些编码所对应的信息,可以查询以下数据字典表:

编码信息数据字典表

-------------------------------

数据库操作代码表示尝试的操作。它的相关描述可以从数据字典表AUDIT_ACTIONS表中查询到

操作所使用的权限可以在字典表SYSTEM_PRIVILEGE_MAP中查询到对应的说明

完整的操作代码操作成功时将返回0,失败时返回相关oracle错误信息,错误信息码所对应的说明可以从oracle官方文档中获得

--------------------------------

五、缺省的审计

不论当前是否已经开启的审计功能,数据库都会把一些数据库相关的操作写入外部审计文件中(注意:不是写入SYS.AUD$表),这些被缺省审计的操作是:

1)·以超级管理员权限对数据库的连接(connectASSYSDBA或connectASSYSOPER)

2)·数据库启动

3)·数据库停止

六、对超级管理员用户的操作行为的审计

超级管理员用户指的是以ASSYSDBA或ASSYSOPER方式连接数据库的用户。初始化参数AUDIT_SYS_OPERATIONS用来指定是超级管理员的审计选项,如果将AUDIT_SYS_OPERATIONS设置为TRUE,那么所有超级管理员的操作都将被审计,而不管当前是否有开启审计功能,而且所有的审计信息都被写入外部审计文件中(注意:不是写入SYS.AUD$表)。

七、执行审计

1.设定审计记录的存放位置

初始化参数AUDIT_TRAIL指定了审计记录的存放位置,该参数有三个取值:

1)·DB审计记录存放在数据库的SYS.AUD$表中

2)·OS审计记录存放在外部的操作系统文件中

3)·NONE关闭审计(缺省值)

初始化参数AUDIT_FILE_DEST指定了当审外部审记文件目标存储路径,其缺省值是$ORACLE_HOME/rdbms/audit

2.审计选项

这个审计选项指的是执行审计的AUDIT语句的可选项。AUDIT语句的语法请参考oracle官方SQL参考。

3.以实例说明审计

a.审计某用户的会话的创建与结束

AUDITSESSIONBYscott,fey;

b.审计所有用户的会话的创建与结束

AUDITSESSION;

c.审计删除表的操作

AUDITDELETEANYTABLE;

c.审计删除表的操作(限制:只审计删除失败的情况)

AUDITDELETEANYTABLEWHENEVERNOTSUCCESSFUL;

d.审计删除表的操作(限制:只审计删除成功的情况)

AUDITDELETEANYTABLEWHENEVERSUCCESSFUL;

e.审计删除表的操作(限制:同一个会话中相同的操作语句只审计一次)

AUDITDELETEANYTABLEBYSESSION;

(注:对于这种情况,如果审计记录被设定为存储在外部文件中时,这个效果是体现不出来的,因为oracle无法判断是否已经审计过相同的操作语句。)

f.审计删除表的操作(限制:每支删除语句都审计,不论同一会话中是否有多条相同的操作语句)

AUDITDELETEANYTABLEBYACCESS;

g.审计对fey.employee表的delete操作

AUDITDELETEONfey.employee;

h.审计对fey.employee表的delete、updet、insert操作

AUDITDELETE,UPDATE,INSERTONfey.employee;

八、停止审计

停止审计使用NOAUDIT语句,该语句的语法请参考oracle官方SQL参考。下面以实例说明NOAUDIT的使用:

a.停止所有对会话的创建与结束的审计

NOAUDITSESSION;

b.停止对用户fey,scott的会话的创建与结束的审计

NOAUDITSESSIONBYfey,scott;

c.停止审计删除表的操作

NOAUDITDELETEANYTABLE;

c.停止审计删除表的操作(限制:停止审计删除失败的情况)

NOAUDITDELETEANYTABLEWHENEVERNOTSUCCESSFUL;

d.停止审计删除表的操作(限制:停止审计删除成功的情况)

NOAUDITDELETEANYTABLEWHENEVERSUCCESSFUL;

g.停止审计对fey.employee表的delete操作

NOAUDITDELETEONfey.employee;

h.停止审计对fey.employee表的delete、updet、insert操作

NOAUDITDELETE,UPDATE,INSERTONfey.employee;

九、对审计记录表SYS.AUD$的管理

当SYS.AUD$表的审计记录越来越多的时候,以至达到存储极限时,会因为审计记录无法写入而产生错误。或许我还也需要对该表的数据进行一些转储或者碎片的整理,或是删除一些我们认为不再需要的审计记录。这些都是要考虑的事情。下面给出一个对该表进行存储碎片的整理的一个方法:

a.将该表的数据selectinto到另一个表中,或利用export导出到外部文件

b.truncate这张表(要以超级管理员登录才行)

c.再将原先转储的数据再加载进来。

也许我们需要对针对SYS.AUD$表的操作进行审计,如:AUDITINSERT,UPDATE,DELETEONsys.aud$BYACCESS;

十、Fine-Grained审计

如前面所述,审计的记录中并没有含操作所作用的数据,比如说,需要审计针对一个表的select,而且需要在审计记录中包含select语句所返回的数据。这时,就需要用到Fine-Grained审计。Fine-Grained审计是基于oracle的事件,其原理是在insert,update或delete相关的事件中截取相关的数据。属于orale程序开发的范畴。具体可以参考相关oracle文檔。

十一、审计相关的数据字典视图

STMT_AUDIT_OPTION_MAP

AUDIT_ACTIONS

ALL_DEF_AUDIT_OPTS

DBA_STMT_AUDIT_OPTS

DBA_PRIV_AUDIT_OPTS

DBA_OBJ_AUDIT_OPTS

USER_OBJ_AUDIT_OPTS

DBA_AUDIT_TRAIL

USER_AUDIT_TRAIL

DBA_AUDIT_OBJECT

USER_AUDIT_OBJECT

DBA_AUDIT_SESSION

USER_AUDIT_SESSION

DBA_AUDIT_STATEMENT

USER_AUDIT_STATEMENT

DBA_AUDIT_EXISTS

DBA_AUDIT_POLICIES

DBA_FGA_AUDIT_TRAIL

各视图的详细说明可以参考oracle官方参考手册。

下面以安华金和数据库安全审计系统为例,详细介绍一下产品功能:

数据库发现与管理

基于流量识别技术,自动发现网络中所有的数据库,并提供自动添加数据库的功能,解决网络环境复杂、数据资产不清晰等问题;为重要数据库添加“关注”;对同类或同业务数据库进行分组管理;使用默认或自定义规则,快速关联数据库。

探针式数据采集

当针对复杂的虚拟化网络环境或本地数据库进行审计时,需要使用“探针”的部署方式,即产品在应用端或数据库服务器部署RMAgent组件,通过虚拟环境分配的审计管理网口进行数据传输,完成数据库流量采集。

结果集审计

DAS支持审计SQL语句的执行结果,包括执行该SQL语句的影响行数、响应时间和应答错误号。另外,用户可以在DAS中定义结果集中包含特定字段时是否打开审计、告警开关。

加密协议解析

在非安全的环境中,为了保证数据库服务的安全性,组织通常选择开启数据访问通信加密功能,然而也为审计解析带来困难,DAS的审计功能通过解析数据库通讯协议获取数据信息。

应用关联审计与监控

常规的数据库通讯协议解析只能解析到客户端一层的信息,DAS采用在应用端部署插件的方式,基于应用会话捕获“应用账户”及“应用IP”等关联审计信息,并添加到风险策略进行风险行为监控。

数据库对象统计

通过对象统计实时监测对表的操作以及访问情况,并可标记敏感表,实现对敏感表的操作统计和深度追踪,从而对敏感数据进行实时监控。

数据库行为监测

当外部系统利用数据库漏洞进行攻击时,DAS可以实时捕获到对应的SQL语句和相关会话信息并发送告警,实时监控入侵行为;当隐藏在应用软件中的后门程序启动时,DAS提供异常情况的实时告警,实时监控异常行为;DAS提供丰富的规则类型,并支持从审计的行为记录结果中一键设置规则,监控敏感表的访问权限、操作权限和影响行数,并判断NO WHERE语句风险,实时监控数据库违规行为。

数据库行为建模

DAS在解析数据库通讯协议的过程中不断学习,建立和完善SQL语句模板,并结合会话信息和应用关联信息实现数据库行为建模。

多维度关联分析

DAS提供数据库全局查询、分组查询和独立查询三种分析视角,用户可以根据业务需求进行综合分析。同时,DAS提供用户行为的统计信息环比结果,帮助用户直观获取同一数据库不同时间段及不同数据库同一时间段的SQL语句量和会话量的对比数据和变化趋势。

丰富的报表展现

“报表”功能用于表现审计日志的数据化分析结果,帮助安全管理人员更加便捷、深入的剖析数据库运行风险。

合规性报表:包括SOX、PCI、等保合规分析报表。

专项报表:提供风险、性能、客户端、失败信息等多维度的独立分析报表。

综合报表:单库或全量数据库审计信息的全量综合分析。

自定义报表:自定义符合自身业务特点的报表。

数据库性能分析

DAS实时监控数据库的SQL吞吐量和会话并发量,从而评估数据库运行状态和资源使用情况。

提供独立的“Top SQL”分析界面,帮助用户快速定位应用系统或运维操作过程中耗时最长、操作频率最高的SQL语句,协助优化业务系统,提高数据库资源使用率。

数据备份与恢复

DAS将存储空间进行合理划分,分别存储“在线语句量”和“备份语句量”。DAS支持对在线语句进行全文检索和分析,并自动压缩和存储备份语句。

系统权限控制

针对这种复杂的人员结构以及复杂的业务场景,DAS增加数据库组、用户和角色,以实现详细的管理权限划分。

对外数据传输接口

为便于第三方平台接收日志进行二次分析,DAS提供数据对外传输能力,并提供标准化接口(例如Kafka接口)。除此之外,DAS还支持抽取“系统审计日志”并传输给第三方系统监管平台,或者通过SNMP方式传递系统的CPU、内存等操作系统层信息,便于用户对审计设备的监督、管理。

多节点集群管理

DAS支持多节点部署。各审计节点通过上报、审批加入集群管理列表,通过集权管理中心登录和管理各审计节点。

开启oracle安全审计功能,关于数据库安全审计功能相关推荐

  1. hive mysql性能_Hive数据库安全审计功能

    [Hive数据库安全审计简介] Hive数据库安全审计是一款基于数据库通讯协议准确分析和SQL完全解析技术的数据库安全审计系统. 实现了对数据库操作.访问用户及外部应用用户的审计,可以用于安全合规.用 ...

  2. Oracle数据库审计功能的使用

    oracle审计功能 查看审计功能是否开启 开启审计功能: 关闭审计功能: 审计功能相关视图 审计功能的使用 数据库打开的语句审计功能 数据库打开的权限审计功能 数据库审计总体情况 数据库语句审计 数 ...

  3. 查看oracle是否开闪回,开启 oracle 的闪回功能

    查看是否开启闪回 SQL> select flashback_on from v$database; FLASHBACK_ON ------------------ NO 查看是否配置了db_r ...

  4. jsp oracle 登录页面,Oracle数据库之ORACLE+Myeclipse+jsp实现简单登录功能

    本文主要向大家介绍了Oracle数据库之ORACLE+Myeclipse+jsp实现简单登录功能,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库表的建立: c ...

  5. Druid连接池开启数据库监控功能

    web程序普遍的都会涉及到数据库的操作,为了提高系统的性能,在数据库操作上,几乎千篇一律的使用了数据库连接池技术,数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀 ...

  6. 达梦数据库审计功能开启及审计记录查看

    达梦数据库非安全版除了数据库管理员SYSDBA之外,还设有数据库审计员SYSAUDITOR,数据库审计员可以设置要审计的对象和操作.定义新的数据库审计员.查看和分析审计记录,通过设置审计,几乎可以跟踪 ...

  7. scada如何用oracle数据库,怎样设计SCADA系统数据库存储功能及其应用

    怎样设计SCADA系统数据库存储功能及其应用 2018年10月10日 10:24:05来源:力控科技作者:力控科技-产品部关键词:SCADA系统 1. 概述 SCADA体系首要用于运转设备的监督和操控 ...

  8. mssql 数据库审计账户_金融行业数据库安全审计

    数据库安全审计 行业要求: 审计内容是否至少包括:用户的添加和删除.审计功能的启动和关闭.审计策略的调整.权限变更.系统资源的异常使用.重要的系统操作(如用户登录.退出)等. 数据库开启情况: 需开启 ...

  9. mysql数据库安全审计_MySQL数据库安全日志审计工具

    说明 由于MySQL社区版没有自带的审计功能或插件,对于等级保护当中对数据库管理的要求的就存在一定的不满足情况的,抛开条条框框不说数据库的日志是值得研究的,通过收集数据库的日志到企业SOC平台便于安全 ...

最新文章

  1. Caused by: java.lang.NoClassDefFoundError: redis/clients/util/Pool
  2. python安装绘图库matplotlib_Python基础教程:Python 2D绘图库 Matplotlib 简介和安装
  3. 说不尽的蒙古人:推荐多兰的诗歌
  4. 嘉年华回顾丨Eygle带你领略数据库技术和生态的发展演进
  5. linux输入法没有候选,fcitx中文输入法没有备选框
  6. python unittest教程_Python Unittest原理及基本使用方法
  7. python中的matlibplot_python中如何用matlibplot画时间序列图?
  8. 《计算机视觉:模型、学习和推理》一3.1 伯努利分布
  9. hibernate 插入 效率_美信半导体:打开工厂边缘智能化新思路,助力工厂效率提升...
  10. Swing 设置无边框Frame
  11. hadoop学习笔记01
  12. 3U VPX 高性能视频图像处理板( 国产ARM 信号处理板 FPGA + HI3559A )
  13. Java doc或docx转pdf文件预览
  14. Android 10 SystemUI中Android.bp文件中集成第三方JAR包或者so文件的方法
  15. Web.xml 错误或异常页面配置
  16. 【技术】基于angularJS的前端自动化测试工具Protractor快速入门
  17. 用户手册应当由谁写?
  18. 代码整洁之道精华——第十四章 逐步改进
  19. ACE: Ally Complementary Experts for Solving Long-Tailed Recognition in One-Shot(2022.5.27)
  20. 中国石油大学(北京《汇编语言程序设计》网考题

热门文章

  1. 搬运工——ubuntu(1)
  2. html中input输入框如何左上角显示
  3. 高效节能细碎反击式破碎机器 烧结机机尾除尘系统 BZ25发动机燃油自动驱动装置CAD 刮渣机 LS500螺旋输送机 PE90X120颚式破碎机…工程图
  4. 安卓手机录屏高科技,为什么还有手机无法录屏,必须要知道!
  5. 查看磁盘是ssd还是hdd
  6. pbrt-v2-skin皮肤渲染模型的配置
  7. MicrosoftProject使用入门指南
  8. MIDI文件结构分析及生成方法
  9. 利用语音Modem实现电话点播和留言功能
  10. 品牌宣传软文发布,多久一次合适?