• Oracle:审计


    Oracle提供了审计工具,用于跟踪、记录、统计数据库活动的方方面面!——sqlserver似乎还没有该功能!

    Oracle的审计功能三大类

    1. 利用初始化参数控制的:数据库内置审计
    2. 利用dbms_fga提供的:表、视图的精细审计
    3. 利用触发器实现的:强大、复杂、灵活的 应用审计

    下面介绍数据库内置审计功能

      默认情况下:oracle不启用数据库审计功能。Oracle只记录数据库的基本活动,可以通过windows的事件查看器查看审计记录聊——这时候所提供的信息是一般的windows服务所必须提供的信息。没有oracle的主动审计工作在里面。(这时候的oracle把基本活动记录在想关的日志中:错误、跟踪、后台、用户等)

    • audit_sys_operations={false(默认:不启用特权用户的审计)|true}
    • audit_trail={none(默认:不启用普通用户的审计)|os|db|db_extended|xml|xml_extended}

    设置审计audit:需要audit system、audit any权限。

    • audit {all | sqlstatment....} [by {all users | user....| proxy....}]   [by {session | access}]   [whenever { all | successful | not successful}]
    • audit {all privileges | role.... | system_privileges....}  [by {all users | user....| proxy....}]   [by {session | access}]   [whenever { all | successful | not successful}]
    • audit {all | object_options....} on { default | directory directory_name | [schema.] object}   [by {session | access}]   [whenever { all | successful | not successful}]
    • audit network   [by {session | access}]   [whenever { all | successful | not successful}]
    • 注意:只有对象审计是立即生效的,其他的审计只对将来的会话生效!

    停止审计noaudit:权限需求同audit ,定义形式相同——除了没有 [by {session | access}] 子定义

    注意:noaudit必须和也只能取消之前定义完全相同的audit语句,并不会取消所有或指定的类,其他的audit会继续进行

    审计推荐

    • by access 可以审计每一次执行,对于dml来说:by session 对同一会话内相同的dml语句只记录一次审计记录是不合适的!
    • by user 可以只审计某个、某些用户的,比较实用

    查询审计信息:dba_audit_trail字典表。审计纪律记录在sys.aud$fixed表里,可以通过查询dba_audit_trail数据字典表获取信息

    • dba_audit_xxx:审核的记录细节信息
    • dba_stmt_audit_opts:语句审核设置
    • dba_priv_audit_opts:权限审核设置
    • dba_obj_audit_opts:对象审核设置
  • 相关阅读:
    php远程图片抓取存放到本地路径并生成缩略图
    Linux下cron的使用
    centos6.3编译安装Apache2.4.3+PHP5.4.8+Mysql5.5.8
    CentOS 6.3 安装以及配置Apache php mysql
    用avalon和jquery做基础网页导航
    javascrip基本概念(三)
    grunt学习笔记(一)
    前端项目目录管理-部署结构
    javascript基本概念(二)
    avalon学习笔记ui篇-如何将avalon默认的amd模型禁止,以及用require重写。
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1525325.html
Copyright © 2020-2023  润新知