1.未公开的Oracle数据库秘密笔记——参数说明——AUDIT_SYSLOG_LEVEL

欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50366032

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$。

 

 

 

 

 

        

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


你可能感兴趣的:(未公开的Oracle秘密)