• 数据库级别的审计


    审计: 跟踪数据库中的可以操作

    超级用户的审计

    超级用户有三种操作一定会被审计:

    • 超级用户的连接
    • 数据库的启动
    • 数据库的停止

    打开超级用户的额外审计:

    alter system set audit_sys_operation=true scope=spfile;

    超级用户审计的跟踪文件记录在哪里?

    1. show parameter audit_file_dest
    2. SQL> show parameter audit_file_dest
    3. NAME TYPE VALUE
    4. ------------------------------------ ----------- ------------------------------
    5. audit_file_dest string /u01/app/oracle/admin/cdb1/adu
    6. mp
    7. SQL>

    普通用户的审计:

    普通用户审计的线索记录在哪里?

    audit_trail=DB --> 使用数据字典aud$记录审计的线索

    audit_trail=OS --> 使用audit_file_dest指向的目录保存审计文件

    打开语句审计:

    • audit delete table; -->会话级成功,失败都审计
    • audit delete table whenever sucessful; --> 会话级成功
    • audit delete table whenever not sucessful; --> 会话级失败
    • audit delete table by access; --> 访问级成功、失败都审计
    • audit delete table by access whenever successful; --> 访问级成功
    • audit delete table by access whenever not successful;--> 访问级失败
    1. audit delete table by scott;
    2. audit delete table by scott whenever successful;
    3. audit delete table by scott whenever not successful;
    4. audit delete table by scott by access;
    5. audit delete table by scott by access whenever successful;
    6. audit delete table by scott by access whenever not sucessful;

    查看哪些语句已经被打开了审计:

    1. SQL>
    2. SQL> select audit_option,success,failure from dba_stmt_audit_opts where user_name='SCOTT';
    3. no rows selected
    4. SQL>

    查看审计线索

    1. SQL> delete aud$;
    2. 1 row deleted.
    3. SQL> commit;
    4. Commit complete.
    5. SQL> select * from aud$;
    6. no rows selected

    查看操作代码对应的操作名称:

    select name from audit_actions where action=1;

    关闭语句审计:

    noaudit delete table by scott;
    exec print_table('select * from aud$ where userid="SCOTT"');
    

    特权审计: 刚刚打开的审计对已持续的连接无效!!

    audit create any table by scott;

    查看特权审计:

    select PRIVILEGE,SUCCESS,FAILURE from dba_priv_audit_opts where user_name='SCOTT';

    对象审计:在具体某一个对象上面打开的审计选项

    1. audit delete on scott.emp;
    2. audit insert on scott.emp by access whenever not successful;
    1. SQL>
    2. SQL> select audit_option,success,failure from dba_stmt_audit_opts;
    3. no rows selected
    4. SQL>

  • 相关阅读:
    计算机操作系统-第十一天
    CTFHub | 布尔盲注
    我的十年编程路 2022年篇
    ubuntu 22.04 jammy 手动安装 python 3.6
    微服务-sentinel详解
    C++ --- Day04 继承
    Ajax跨域问题
    linux日志审计常用命令
    GBase 8s定制安装
    动手学习深度学习 01:前言
  • 原文地址:https://blog.csdn.net/u011868279/article/details/128193827