當前位置:首頁 » 數據倉庫 » oracle資料庫審計策略
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle資料庫審計策略

發布時間: 2022-07-06 14:45:49

❶ 如何修改oracle 審計策略為os級別

首先,我沒有明白樓主所說的OS級別是什麼級別,
oracle審計級別可以分為:
語句審計、許可權審計、模式對象審計、(細粒度的審計)
三個重要參數:audit_file_dest、audit_sys_operations、audit_trail
audit_trail:
None:是默認值,不做審計;
DB:將audit trail 記錄在資料庫的審計相關表中,如aud$,審計的結果只有連接信息;
DB_EXTENDED:這樣審計結果裡面除了連接信息還包含了當時執行的具體語句;
OS:將audit trail 記錄在操作系統文件中,文件名由audit_file_dest參數指定;
XML:10g里新增的。
audit_sys_operations:
對應Audit_trail=OS,默認為false,當設置為true時,所有sys用戶(包括以sysdba,sysoper身份登錄的用戶)的操作都會被記錄,audit trail不會寫在aud$表中,這個很好理解,如果資料庫還未啟動aud$不可用,那麼像conn /as sysdba這樣的連接信息,只能記錄在其它地方。比如文件。
audit_file_dest:Audit_trail=OS時 文件位置。
例如:
alter system set audit_trail=DB_EXTENDED scope=spfile;設置為DB_EXTENDED 。
如果您說的OS級別是指audit_trail=OS的話,記得設置另外兩個參數。

❷ 怎麼查看windows下的oracle是否開啟審計功能

查看aud$表(或者dba_audit_trial視圖)中是否有數據,如果有數據說明審計功能開啟的
select * from aud$;
select * from dba_audit_trial;
查看系統開啟了那些審計功能
select * from dba_priv_audit_opts;系統許可權審計
select * from dba_obj_audit_opts; 對象許可權審計

❸ 怎樣用程序實現oracle資料庫審計

1 、如何啟用審計?
修改資料庫的初始化參數audit_trail ,從none 修改為你需要的值。
它的可選項有很多,如下所示:
AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }
我們選擇db 值作為該參數值。使得審計功能處於打開狀態,將審計記錄保存在資料庫sys.aud$表中。
修改初始化參數文件spfile 中的此參數配置值
ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE sid='*';
注意,這個參數需要資料庫實例重啟之後才能生效。

2 、審計有哪些功能
可以審計資料庫對象的DML 和DDL 操作,以及查詢、執行和一些系統事件如登錄和退出。
如下所示:
DDL (CREATE, ALTER & DROP of objects)
DML (INSERT UPDATE, DELETE)
SELECT
EXECUTE
SYSTEM EVENTS (LOGON, LOGOFF etc)

每個功能還有選項,如在每個會話還是每個訪問中審計,是成功或不成功時審計。
完整的audit 的語法如下:
AUDIT
{ sql_statement_clause | schema_object_clause | NETWORK }
[ BY { SESSION | ACCESS } ]
[ WHENEVER [ NOT ] SUCCESSFUL ] ;

3 、如何審計某表的數據插入操作
現在的問題是找出什麼應用向表插入了記錄。在應用程序的邏輯上,這個表的數據只會更新,不會插入。
因此,在審計功能打開後,使用這個下列命令審計某表的插入操作。
audit insert on table_name by access;
執行成功後,此表上每一次插入操作都會被記錄在sys.aud$ 表中。

4 、如何查看審計結果
可以查詢dba_audit_trail 系統視圖,該視圖顯示就是sys.aud$ 表保存的審計結果。這個表的存儲空間是system ,如果你需要大量長期審計某些操作,請注意維護這張表。
一般維護方法有兩個,定期執行truncate 操作和將表的存儲表空間移植到一個新建的獨立表空間上。

5 、如何取消審計
使用noaudit 代替audit 命令符就可, 如noaudit insert on table_name by access;

❹ oracle 審計包括哪幾種,都是什麼

1、什麼是審計

審計(Audit)用於監視用戶所執行的資料庫操作,並且Oracle會將審計跟蹤結果存放到OS文件(默認位置為$ ORACLE_BASE/admin/$ORACLE_SID/amp/)或資料庫(存儲在system表空間中的SYS.AUD$表中,可通過視圖 dba_audit_trail查看)中。默認情況下審計是沒有開啟的。

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

2、和審計相關的兩個主要參數

Audit_sys_operations:

默認為false,當設置為true時,所有sys用戶(包括以sysdba,sysoper身份登錄的用戶)的操作都會被記錄,audit trail不會寫在aud$表中,這個很好理解,如果資料庫還未啟動aud$不可用,那麼像conn /as sysdba這樣的連接信息,只能記錄在其它地方。如果是windows平台,audti trail會記錄在windows的事件管理中,如果是linux/unix平台則會記錄在audit_file_dest參數指定的文件中。

Audit_trail:

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

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

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

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

XML:10g里新增的。

註:這兩個參數是static參數,需要重新啟動資料庫才能生效。

3、審計級別

當開啟審計功能後,可在三個級別對資料庫進行審計: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關鍵字指定對象的相關操作,如ait 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進行「審計」,這個功能稍顯不足。

❺ oracle資料庫的審計功能

二、審計可以分為3類。
或者說,可以從3種角度去啟用審計。
1、語句審計(Statement Auditing)。
對預先指定的某些SQL語句進行審計。這里從SQL語句的角度出發,進行指定。審計只關心執行的語句。
例如,audit CREATE TABLE;命令,就表明對"create table"語句的執行進行記錄。 不管這語句是否是針對某個對象的操作
2、許可權審計(Privilege Auditing)
對涉及某些許可權的操作進行審計。這里強調「涉及許可權」
例如,audit CREATE TABLE;命令,又可以表明對涉及「CREATE TABLE」許可權的操作進行審計。
所以說,在這種命令的情況下,既產生一個語句審計,又產生了一個許可權審計。
有時候「語句審計」和「許可權審計」的相互重復的。這一點可以後面證明。
3、對象審計(Object Auditing)。 記錄作用在指定對象上的操作。

❻ oracle資料庫開了DB_EXTENDED級別審計,也設置了審計規則,為什麼查看不到審計記錄

索引存放在dba_indexes(user_indexes)實例中所有的索引dba_indexes用戶自己的索引user_indexes

❼ oracle資料庫審計什麼時候進行

給你兩個地址去看看,估計對你會有幫助的!http://hi..com/songdeyouxiang/blog/item/631641dacb915c6ed1164e37.html
http://www.itpub.net/thread-447205-1-1.html

❽ 如何開啟和關閉oracle資料庫中的審計功能

在oracle11g中,資料庫的審計功能是默認開啟的(這和oracle10g的不一樣,10g默認是關閉的),
oracle11gr2的官方文檔上寫的是錯的,當上說default是none,而且是審計到db級別的,這樣就會
往aud$表裡記錄統計信息。
1.如果審計不是必須的,可以關掉審計功能;
sql>
show
parameter
audit_trail;
name
type
value
------------------------------------
-----------
------------------------------
audit_trail
string
db
sql>
alter
system
set
audit_trail=none
scope=spfile;
sql>
shut
immediate;
sql>startup
2.刪除已有的審計信息
可以直接truncate表aud$,
truncate
table
sys.aud$;
3.或者將aud$表移到另外一個表空間下,以減少system表空間的壓力和被撐爆的風險。
附:11g中有關audit_trail參數的設置說明:
audit_trail
property
description
parameter
type
string
syntax
audit_trail
=
{
none
|
os
|
db
[,
extended]
|
xml
[,
extended]
}
default
value
none
modifiable
no
basic
no
audit_trail
enables
or
disables
database
auditing.
values:
none
disables
standard
auditing.
this
value
is
the
default
if
the
audit_trail
parameter
was
not
set
in
the
initialization
parameter
file
or
if
you
created
the
database
using
a
method
other
than
database
configuration
assistant.
if
you
created
the
database
using
database
configuration
assistant,
then
the
default
is
db.
os
directs
all
audit
records
to
an
operating
system
file.
oracle
recommends
that
you
use
the
os
setting,
particularly
if
you
are
using
an
ultra-secure
database
configuration.
db
directs
audit
records
to
the
database
audit
trail
(the
sys.aud$
table),
except
for
records
that
are
always
written
to
the
operating
system
audit
trail.
use
this
setting
for
a
general
database
for
manageability.
if
the
database
was
started
in
read-only
mode
with
audit_trail
set
to
db,
then
oracle
database
internally
sets
audit_trail
to
os.
check
the
alert
log
for
details.
db,
extended
performs
all
actions
of
audit_trail=db,
and
also
populates
the
sql
bind
and
sql
text
clob-type
columns
of
the
sys.aud$
table,
when
available.
these
two
columns
are
populated
only
when
this
parameter
is
specified.
if
the
database
was
started
in
read-only
mode
with
audit_trail
set
to
db,
extended,
then
oracle
database
internally
sets
audit_trail
to
os.
check
the
alert
log
for
details.
xml
writes
to
the
operating
system
audit
record
file
in
xml
format.
records
all
elements
of
the
auditrecord
node
except
sql_text
and
sql_bind
to
the
operating
system
xml
audit
file.
xml,
extended
performs
all
actions
of
audit_trail=xml,
and
populates
the
sql
bind
and
sql
text
clob-type
columns
of
the
sys.aud$
table,
wherever
possible.
these
columns
are
populated
only
when
this
parameter
is
specified.
you
can
use
the
sql
audit
statement
to
set
auditing
options
regardless
of
the
setting
of
this
parameter.