開啟數據庫審計(db,extended級別或os級別),并將審計文件存放到/home/oracle/audit下

文章目錄

    • 開啟數據庫審計(db,extended級別或os級別),并將審計文件存放到/home/oracle/audit下
      • 一. 簡介
      • 二. 配置
        • 2.1. 審計是否安裝
        • 2.2. 審計表空間遷移
        • 2.3. 審計參數
        • 2.4. 審計級別
        • 2.5. 其他審計選項
        • 2.6. 審計相關視圖
      • 三. 使用
        • 3.1. 開啟/關閉審計
        • 3.2. 表操作審計
      • 四.更改審計文件目錄
        • 4.1.查看審計文件的配置路徑
        • 4.2.更改配置路徑
        • 4.3.重啟數據庫后查看路徑已變成/home/oracle/audit

開啟數據庫審計(db,extended級別或os級別),并將審計文件存放到/home/oracle/audit下

一. 簡介

審計(Audit)用于監視用戶所執行的數據庫操作,審計記錄可存在數據字典表(稱為審計記錄:存儲在system表空間中的 SYS.AUD 表中,可通過視圖 d b a a u d i t t r a i l 查看 ) 或操作系統審計記錄中 ( 默認位置為 表中,可通過視圖dba_audit_trail查看)或操作系統審計記錄中(默認位置為 表中,可通過視圖dbaa?uditt?rail查看)或操作系統審計記錄中(默認位置為ORACLE_BASE/admin/$ORACLE_SID/adump/).。默認情況下審計是沒有開啟的。

審計記錄包含有審計的操作、用戶執行的操作、操作的日期和時間等信息。

不管你是否打開數據庫的審計功能,以下這些操作系統會強制記錄:用管理員權限連接Instance;啟動數據庫;關閉數據庫。

二. 配置

2.1. 審計是否安裝
SQL> connect / AS SYSDBASQL> select * from sys.aud$; --沒有記錄返回SQL> select * from dba_audit_trail; - 沒有記錄返回

如果做上述查詢的時候發現表不存在,說明審計相關的表還沒有安裝,需要安裝, 安裝后要重啟數據庫

SQL> connect / as sysdbaSQL> @$ORACLE_HOME/rdbms/admin/cataudit.sql
2.2. 審計表空間遷移

審計表默認安裝在SYSTEM表空間。可以將相關表遷移到其他表空間

SQL>connect / as sysdba;SQL> alter table aud$ move tablespace new_tablespace;SQL> alter index I_aud1 rebuild online tablespace new_tablespace;SQL> alter table audit$ move tablespace new_tablespace;SQL> alter index i_audit rebuild online tablespace new_tablespace;SQL> alter table audit_actions move tablespace new_tablespace;SQL> alter index i_audit_actions rebuild online tablespace new_tablespace;
2.3. 審計參數
  • Audit_sys_operations:是否對sysdba用戶做審計 ,關于sysdba用戶審計的結果,linux存放在audit_file_dest參數指定位置的aud文件中,windows存放在事件查看器的系統日志中

  • Audit_trail:None:是默認值,不做審計;

  • DB:將audit trail 記錄在數據庫的審計相關表中,如aud$,審計的結果只有連接信息;

  • DB,Extended:這樣審計結果里面除了連接信息還包含了當時執行的具體語句;

  • OS:將audit trail 記錄在操作系統文件中,文件名由audit_file_dest參數指定;

  • XML:10g里新增的。

  • 注:這兩個參數是static參數,需要重新啟動數據庫才能生效。

2.4. 審計級別

當開啟審計功能后,可在三個級別對數據庫進行審計:Statement(語句)、Privilege(權限)、object(對象)。

  • Statement:

    按語句來審計,比如audit table 會審計數據庫中所有的create table,drop table,truncate
    table語句,alter session by cmy會審計cmy用戶所有的數據庫連接。

  • Privilege:

    按權限來審計,當用戶使用了該權限則被審計,如執行grant select any table to a,當執行了audit select
    any table語句后,當用戶a 訪問了用戶b的表時(如select * from b.t)會用到select any
    table權限,故會被審計。注意用戶是自己表的所有者,所以用戶訪問自己的表不會被審計。

  • Object:

    按對象審計,只審計on關鍵字指定對象的相關操作,如aduit alter,delete,drop,insert on cmy.t by
    scott; 這里會對cmy用戶的t表進行審計,但同時使用了by子句,所以只會對scott用戶發起的操作進行審計。

注意Oracle沒有提供對schema中所有對象的審計功能,只能一個一個對象審計,對于后面創建的對象,Oracle則提供on default子句來實現自動審計,比如執行audit drop on default by access;后, 對于隨后創建的對象的drop操作都會審計。但這個default會對之后創建的所有數據庫對象有效,似乎沒辦法指定只對某個用戶創建的對象有效,想比trigger可以對schema的DDL進行“審計”,這個功能稍顯不足。

2.5. 其他審計選項

by access 每一個被審計的操作都會生成一條audit trail。

by session 一個會話里面同類型的操作只會生成一條audit trail,默認為by session。

whenever successful 操作成功(dba_audit_trail中returncode字段為0) 才審計,

whenever not successful 反之。省略該子句的話,不管操作成功與否都會審計。

2.6. 審計相關視圖

dba_audit_trail:保存所有的audit trail,實際上它只是一個基于aud$的視圖。其它的視圖dba_audit_session,dba_audit_object, dba_audit_statement都只是dba_audit_trail的一個子集。

dba_stmt_audit_opts:可以用來查看statement審計級別的audit options,即數據庫設置過哪些statement級別的審計。dba_obj_audit_opts,dba_priv_audit_opts視圖功能與之類似

all_def_audit_opts:用來查看數據庫用on default子句設置了哪些默認對象審計。

三. 使用

3.1. 開啟/關閉審計

開啟審計

alter system set audit_sys_operations=TRUE scope=spfile;
alter system set audit_trail=db,extended scope=spfile;

關閉審計

alter system set audit_trail=none;
3.2. 表操作審計

設置審計內容

audit all by lyj by access;audit select table, update table, insert table, delete table by lyj by access;audit execute procedure by lyj by access;AUDIT DELETE ANY TABLE; --審計刪除表的操作AUDIT DELETE ANY TABLE WHENEVER NOT SUCCESSFUL; --只審計刪除失敗的情況AUDIT DELETE ANY TABLE WHENEVER SUCCESSFUL; --只審計刪除成功的情況AUDIT DELETE,UPDATE,INSERT ON user.table by SYSTEM; --審計SYSTEM用戶對表user.table的delete,update,insert操作//如果在命令后面添加by user則只對user的操作進行審計,如果省去by用戶,則對系統中所有的用戶進行審計(不包含sys用戶).noaudit all on t_test; 撤銷審計truncate table aud$; 清空審計表內容

四.更改審計文件目錄

4.1.查看審計文件的配置路徑

在這里插入圖片描述

4.2.更改配置路徑
SQL> alter system set audit_file_dest='home/oracle/audit' scope=spfile;

在這里插入圖片描述
修改完查看文件還是之前的路徑,需要先重啟數據庫
在這里插入圖片描述

4.3.重啟數據庫后查看路徑已變成/home/oracle/audit

mn

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165669.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165669.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165669.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

成為獨立開發者有多難

首先自我介紹:我是一名前端開發工程師,7年的前端開發經驗。CSDN 九段刀客_js,vue,ReactNative-CSDN博客,80多萬的訪問量,1萬多的粉絲。 相信80%的程序員的終極夢想都是成為一名獨立開發者,不用找工作有自己的產品可以有睡后收入。…

深度學習模型訓練計算量的估算

深度學習模型訓練計算量的估算 方法1:基于網絡架構和批處理數量計算算術運算次數前向傳遞計算和常見層的參數數量全連接層(Fully connected layer)參數浮點數計算量 CNN參數浮點數計算量 轉置CNN參數浮點數計算量 RNN參數浮點數計算量 GRU參數…

刷題學習記錄(含2023ISCTFweb題的部分知識點)

[SWPUCTF 2021 新生賽]sql 進入環境 查看源碼,發現是get傳參且參數為wllm fuzz測試,發現空格,,and被過濾了 同樣的也可以用python腳本進行fuzz測試 import requests fuzz{length ,,handler,like,select,sleep,database,delete,h…

java學習part09類的構造器

1. 2.默認構造器 如果沒有顯式定義任何構造器,系統會默認加一個默認構造器。 如果定義了,則不會有默認構造器。 默認構造器的權限和類的權限一樣,類是public構造器就是public,類是缺省默認構造器就是缺省 反編譯之后添加的構造…

解決DaemonSet沒法調度到master節點的問題

最近在kubernetes部署一個springcloud微服務項目,到了最后一步部署邊緣路由:使用nginx-ingress和traefik都可以,必須使用DaemonSet部署,但是發現三個節點,卻總共只有兩個pod。 換句話說, DaemonSet沒法調度…

UML建模圖文詳解教程05——包圖

版權聲明 本文原創作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl本文參考資料:《UML面向對象分析、建模與設計(第2版)》呂云翔,趙天宇 著 包圖概述 包圖(package diagram)是用來描述模型中的…

一個最簡單的工業通訊數據分析例子

1.背景 對工業設備的通訊協議進行分析可以幫助我們更好地理解其工作原理和相關技術,并且有助于以下幾個方面: 1. 優化工業設備的通訊效率:了解通訊協議的細節可以幫助我們找到通訊效率低下的原因并進行優化,提高設備的通訊效率和…

Axioss筆記

一、Get請求 // 請求頭攜帶參數,案例:?uid1001 axios.get(http://localhost:8080/user/api/v1/user/query, {params: {uid: 1001}}).then(res > {console.log(res.data) }).catch(err > {console.log("請求錯誤" err) }).finally(() …

MySQL 8 配置文件詳解與最佳實踐

MySQL 8 是一款強大的關系型數據庫管理系統,通過適當的配置文件設置,可以充分發揮其性能潛力。在這篇博客中,我們將深入探究 MySQL 8 常用的配置文件,并提供一些建議,幫助您優化數據庫性能。 配置文件概覽 在 MySQL …

【華為OD題庫-030】阿里巴巴找黃金寶箱(V)-java

題目 一貧如洗的樵夫阿里巴巴在去砍柴的路上&#xff0c;無意中發現了強盜集團的藏寶地&#xff0c;藏寶地有編號從0-N的箱子&#xff0c;每個箱子上面貼有一個數字.阿里巴巴念出一個咒語數字k(k<N),找出連續k個寶箱數字和的最大值&#xff0c;并輸出該最大值。 輸入描述 第…

攔截器的使用

攔截器&#xff08;Interceptor&#xff09;是一種在應用程序中用于干預、修改或攔截請求和響應的組件&#xff0c;是AOP 編程的一種實踐&#xff0c;和過濾器一樣都是一種具體的AOP實現。它可以在請求被發送到目標處理程序之前或之后&#xff0c;對請求進行預處理或對響應進行…

【數據結構】二叉樹概念 | 滿二叉樹 | 完全二叉樹

二叉樹的概念 二叉樹在實踐中用的很多。 一棵二叉樹是結點的一個有限集合&#xff0c;該集合&#xff1a; 或者為空&#xff1b;由一個根結點加上兩棵別稱為左子樹和右子樹的二叉樹組成。二叉樹最多兩個孩子。 這里注意&#xff1a;二叉樹并不是度為2的樹。 二叉樹的度最大值是…

Go lumberjack 日志輪換和管理

在開發應用程序時&#xff0c;記錄日志是一項關鍵的任務&#xff0c;以便在應用程序運行時追蹤問題、監視性能和保留審計記錄。Go 語言提供了靈活且強大的日志記錄功能&#xff0c;可以通過多種方式配置和使用。其中一個常用的日志記錄庫是 github.com/natefinch/lumberjack&am…

python selenium 模擬瀏覽器自動操作搶購腳本

每逢秒殺&#xff0c;都在遺憾網速和手速慢沒能搶購到商品吧。 手寫一個腳本&#xff0c;讓程序幫你搶&#xff0c;搶到的概率會大大提升。 廢話不多說&#xff0c;直接上代碼。 本實例以華為官網搶購手機為例 """ 模擬瀏覽器操作華為官網(1) 【只需要安裝一…

【JAVA】我們該如何規避代碼中可能出現的錯誤?(二)

個人主頁&#xff1a;【&#x1f60a;個人主頁】 系列專欄&#xff1a;【??初識JAVA】 文章目錄 前言異常方法&#xff08;Throwable類&#xff09;Throwable類的方法 捕獲異常多重捕獲塊 前言 異常是程序中的一些錯誤&#xff0c;但并不是所有的錯誤都是異常&#xff0c;并…

git-3

1.如何讓工作區的文件恢復為和暫存區一樣&#xff1f; 工作區所作的變更還不及暫存區的變更好&#xff0c;想從暫存區拷貝到工作區&#xff0c;變更工作區(恢復成和暫存區一樣的狀態)&#xff0c;想到用git checkout -- 文件名 2.怎樣取消暫存區部分文件的更改&#xff1f; 如…

無損壓縮技巧:減小PDF文件尺寸的有效方法

我們在制作pdf文檔的時候&#xff0c;會加入許多內容&#xff0c;文字、圖片等等&#xff0c;素材添加的過多之后就會導致pdf文檔特別大&#xff0c;在上傳或者儲存時&#xff0c;就會特別不方便&#xff0c;所以今天就告訴大家一個pdf壓縮的方法&#xff0c;使用pdf在線壓縮工…

4-Docker命令之docker info

后續為大家逐個講解一下docker常用命令及其相關用法。docker常用命令查看如下: [root@centos79 ~]# docker --helpUsage: docker [OPTIONS] COMMANDA self-sufficient runtime for containersCommon Commands:run Create and run a new container from an imageexec…

洛谷 P1883 函數

P1883 函數 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) Error Curves - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) 這兩題是一模一樣的&#xff0c;過一題水兩題。 分析 主要難點在于證明F(x)是一個單峰函數可以被三分&#xff0c;但是我隨便畫了幾個f(x)之后發現好像…

MySQL的Redo Log跟Binlog

文章目錄 概要Redo Log日志Redo Log的作用Redo Log的寫入機制 Binlog日志Binlog的作用Binlog寫入機制 兩段提交 概要 Redo Log和Binlog是MySQL日志系統中非常重要的兩種機制&#xff0c;也有很多相似之處&#xff0c;本文主要介紹兩者細節和區別。 Redo Log日志 Redo Log的作…