1. 程式人生 > >1.未公開的Oracle資料庫祕密筆記——引數說明——AUDIT_SYSLOG_LEVEL

1.未公開的Oracle資料庫祕密筆記——引數說明——AUDIT_SYSLOG_LEVEL

1未公開的Oracle資料庫祕密筆記——引數說明——AUDIT_SYSLOG_LEVEL

Oracle資料庫管理系統有無數可以轉向的旋鈕和開合的開關。應該沒有一個DBA能夠記全的,就算核心開發人員,應該也是難以做到的吧?

         每個版本的引數可以參看:Reference.pdf檔案

         AUDIT_SYSLOG_LEVEL與資料庫安全相關。

設定語法如下:

AUDIT_SYSLOG_LEVEL = 'facility_clause.priority_clause'

facility_clause::=
{USER | LOCAL[0 | 1 | 2 | 3 | 4 | 5 | 6 | 7] | SYSLOG |
DAEMON | KERN | MAIL | AUTH | LPR | NEWS | UUCP | CRON }
priority_clause::=


{NOTICE | INFO | DEBUG | WARNING | ERR | CRIT | ALERT |
EMERG }

可以設定成:

AUDIT_SYSLOG_LEVEL ='KERN.EMERG';
AUDIT_SYSLOG_LEVEL = 'LOCAL1.WARNING';

         預設是不進行設定的。

(12C中設定已經不再有作用了,遷移到統一審計)

         該引數允許SYS和標準OS審計寫到系統審計日誌中的記錄。

         如果使用該引數,最好在syslog.conf中指定一個對應的檔案。

         通常會指定到串列埠,這樣不會太麻煩;如果設定最好設定syslog訊息的最大長度。

         如果AUDIT_SYSLOG_LEVEL被設定,AUDIT_SYS_OPERATIONS=TRUE,那麼SYS會審計寫到系統審計日誌的記錄。

         如果AUDIT_SYSLOG_LEVEL被設定,AUDIT_TRAIL=OS,那麼標準審計記錄會被寫到系統審計日誌。

         在CDB中,這個引數只在CDB範圍有效。在PDB中不能進行設定。

1.  Syslog裝置

Oracle可以使用syslog裝置寫入審計跟蹤。包括一個名為syslogd的守護程序,接受來自使用syslog C語言庫函式的應用程式的日誌資訊。

日誌資訊一般位於/var/log中。

2.  審計

使用SYSDBA後者SYSOPER特權對ORACLE例項進行CONNECT,STARTUP操作時候,都將會被無條件地審計,記錄到$ORACLE_HOME/rdbms/audit以.aud作為副檔名的檔案或者明確指定引數AUDIT_FILE_DEST目錄中。

         (9i 版本開始設定AUDIT_SYS_OPERATIONS來審計除了使用SYSDBA或者SYSOPER特權的一些操作,預設為TRUE)

         當AUDIT_SYSLOG_LEVEL和AUDIT_SYS_OPERATIONS結合時,執行任務的SQL和PL/SQL都將會使用syslog裝置對其進行審計。

         檢視/var/log/message檔案,例如:#tail –f/var/log/message

         然後連線資料 #sqlplus/ as sysdba

         可以發現在作業系統中會有AUDIT記錄。

Dec 19 17:39:23 OEL journal: OracleAudit[7588]: LENGTH : '159' ACTION :[7] 'CONNECT' DATABASE USER:[1] '/'PRIVILEGE :[6] 'SYSDBA' CLIENT USER:[6] 'oracle' CLIENT TERMINAL:[5] 'pts/1'STATUS:[1] '0' DBID:[10] '1419140026'

Dec 19 17:39:23 OEL journal: OracleAudit[7588]: LENGTH : '158' ACTION :[6] 'COMMIT' DATABASE USER:[1] '/'PRIVILEGE :[6] 'SYSDBA' CLIENT USER:[6] 'oracle' CLIENT TERMINAL:[5] 'pts/1'STATUS:[1] '0' DBID:[10] '1419140026'

Dec 19 17:39:23 OEL journal: OracleAudit[7588]: LENGTH : '158' ACTION :[6] 'COMMIT' DATABASE USER:[1] '/'PRIVILEGE :[6] 'SYSDBA' CLIENT USER:[6] 'oracle' CLIENT TERMINAL:[5] 'pts/1'STATUS:[1] '0' DBID:[10] '1419140026'

Dec 19 17:39:23 OEL journal: OracleAudit[7588]: LENGTH : '192' ACTION :[39] 'BEGIN DBMS_OUTPUT.ENABLE(1000000);END;' DATABASE USER:[1] '/' PRIVILEGE :[6] 'SYSDBA' CLIENT USER:[6] 'oracle'CLIENT TERMINAL:[5] 'pts/1' STATUS:[1] '0' DBID:[10] '1419140026'

3.  審計非特權使用者

可以設定AUDIT_TRAIL=OS來審計有關非特權使用者的記錄到系統日誌中去。

AUDIT_TRAIL=DB(預設)在資料庫中保留非特權使用者的審計跟蹤。審計跟蹤會寫入資料表SYS.AUD$。