zoukankan      html  css  js  c++  java
  • Oracle审计

    1.什么是审计

    审计是用来监控和记录用户的数据库操作

    2.未开启审计

    即使未开启审计,Oracle数据库也会将以下三种操作记录在OS的$ORACLE_BASE/admin/$ORACLE_SID/adump/

    • 以sysdba或者sysoper等管理员用户连接数据库实例(不管实例是否打开)
    • 关闭数据库操作
    • 打开数据库操作

    3.标准审计

    3.1.数据库参数

    • audit_file_dest

      OS中审计信息存放位置

    • audit_sys_operations

      默认值为FALSE,即不审计,修改后需要重启数据库

      审计sys(或者以sysdba,sysoper身份登录)用户的所有操作(查询表,更新表等等)

      审计信息放在OS中

    • audit_trail

      none:关闭标准审计,11G之前的默认值

      db:将审计信息记录在数据库中(sys.aud$),只包含连接信息(LOGON,LOGOFF),但不包含以sysdba或者sysoper连接的信息(记录在OS中)

      db,extended:将审计信息记录在数据库中,同时包含执行的SQL以及绑定变量

      os:将审计信息记录在OS中

      xml:以XML的形式将审计信息记录在OS中

      xml,extended:以XML的形式将审计信息记录在OS中,同时记录执行的SQL以及绑定变量

    3.2.审计级别

    3.1节中,audit_trail为db,extended或者xml,extended时,可以记录额外的SQL信息,前提是开启了语句,权限或者对象审计

    1. 语句级别

      对某种类型的SQL语句进行审计但并不包含具体的对象

    2. 权限级别

      任何使用了这个权限的都会被审计

    3. 对象级别

      对数据库对象进行审计

    3.3.审计用SQL

    /*语句级别*/
    -- 审计所有对表的操作,例如修改,创建,删除表
    audit table;
    -- 取消审计
    noaudit table;
    
    /*权限级别*/
    -- 审计所有使用此权限的操作
    audit select any table;
    -- 取消审计
    noaudit select any table;
    
    /*对象级别*/
    -- 审计某个表增删改查的操作
    aduit select,update,insert,delete on monkey.test;
    -- 取消审计
    noaudit select,update,insert,delete on monkey.test;
    
    /*通用部分*/
    by access  --每一个被审计的操作都会生成一条audit trail
    by session --一个会话里面同类型的操作只会生成一条audit trail,默认为by session
    whenever successful --操作成功才审计
    whenever not successful --操作失败才审计
    

    3.4.标准审计相关视图

    • DBA_OBJ_AUDIT_OPTS

      对象级别标准审计的策略

    • DBA_STMT_AUDIT_OPTS

      语句级别标准审计的策略

    • DBA_PRIV_AUDIT_OPTS

      权限级别标准审计策略

    • DBA_AUDIT_OBJECT

      对象级别标准审计记录

    • DBA_AUDIT_STATEMENT

      语句级别标准审计记录

    • DBA_AUDIT_SESSION

      登录登出标准审计记录(普通用户,以SYSDBA或者SYSOPER的用户不记录)

    • DBA_AUDIT_TRAIL

      所有的标准审计记录

    4.精细审计

    FGA(fine grained auditing),可以指定更加精细的审计策略

    参考:FGA审计

  • 相关阅读:
    mongo 查询某个字段的值不为空列表!
    pdftohtml的使用
    Activiti数据库表结构(表详细版)
    ElasticSearch在linux上安装部署
    构建Spring Web应用程序—关于spring中的validate注解后台校验的解析
    构建Spring Web应用程序—SpringMVC详解
    高级装配—运行时注入
    高级装配—bean的作用域
    高级装配—条件化的Bean
    高级装配—配置profile bean
  • 原文地址:https://www.cnblogs.com/monkey6/p/15740272.html
Copyright © 2011-2022 走看看