【AUDIT】實現將SYS使用者的操作資訊記錄到作業系統日誌中
本文以Linux作業系統為例。實現將SYS使用者的動作記錄到作業系統系統日誌中,對應的作業系統日誌檔案是“/var/log/messages”。
1.調整資料庫引數
實現這個功能最關鍵的引數便是“audit_syslog_level”和“audit_sys_operations”。
即便audit_trail引數值為“NONE”功能也是能實現的。
1)調整系統引數
sys@ora10g> alter system set audit_syslog_level='USER.NOTICE' scope=spfile;
System altered.
sys@ora10g> alter system set audit_sys_operations=TRUE scope=spfile;
System altered.
sys@ora10g> alter system set audit_trail=none scope=spfile;
System altered.
2)重啟資料庫使調整後的引數生效
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ora10g> startup;
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 71304908 bytes
Database Buffers 188743680 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
3)驗證引數調整結果
sys@ora10g> show parameter audit
NAME TYPE VALUE
---------------------- -------------------- ----------------
audit_file_dest string /home/oracle
audit_sys_operations boolean TRUE
audit_syslog_level string USER
audit_trail string NONE
注意此時audit_trail引數值是“NONE”。
2.驗證審計效果
1)使用root使用者實時監控作業系統日誌
[root@secdb ~]# tail -100f /var/log/messages
2)在SYS使用者下提交SQL語句
sys@ora10g> select 'secooler' secooler from dual;
SECOOLER
--------
secooler
3)系統日誌中記錄瞭如下審計資訊
Apr 27 22:30:23 secdb Oracle Audit[7761]: ACTION : 'select 'secooler' secooler from dual' DATABASE USER: '/' PRIVILEGE : SYSDBA CLIENT USER: oracle CLIENT TERMINAL: pts/3 STATUS: 0
Apr 27 22:30:23 secdb Oracle Audit[7761]: ACTION : 'BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END;' DATABASE USER: '/' PRIVILEGE : SYSDBA CLIENT USER: oracle CLIENT TERMINAL: pts/3 STATUS: 0
可見,在SYS使用者下執行的SQL語句已經完整的寫入到了作業系統日誌中。
其中“[7761]”表示作業系統程式程式ID。
[root@secdb ~]# ps -ef | grep 7761 | grep -v grep
oracle 7761 7761 0 22:39 ? 00:00:00 oracleora10g (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
3.10g官方文件中引數描述
AUDIT_SYS_OPERATIONS描述連結:
AUDIT_SYSLOG_LEVEL描述連結:
4.小結
這種將SYS使用者下的操作寫入到作業系統日誌的行為需要重點監控,防止出現無人看管的增長檔案。針對自己的實際需求選擇使用。
Good luck.
secooler
11.04.27
-- The End --
1.調整資料庫引數
實現這個功能最關鍵的引數便是“audit_syslog_level”和“audit_sys_operations”。
即便audit_trail引數值為“NONE”功能也是能實現的。
1)調整系統引數
sys@ora10g> alter system set audit_syslog_level='USER.NOTICE' scope=spfile;
System altered.
sys@ora10g> alter system set audit_sys_operations=TRUE scope=spfile;
System altered.
sys@ora10g> alter system set audit_trail=none scope=spfile;
System altered.
2)重啟資料庫使調整後的引數生效
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@ora10g> startup;
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 71304908 bytes
Database Buffers 188743680 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
3)驗證引數調整結果
sys@ora10g> show parameter audit
NAME TYPE VALUE
---------------------- -------------------- ----------------
audit_file_dest string /home/oracle
audit_sys_operations boolean TRUE
audit_syslog_level string USER
audit_trail string NONE
注意此時audit_trail引數值是“NONE”。
2.驗證審計效果
1)使用root使用者實時監控作業系統日誌
[root@secdb ~]# tail -100f /var/log/messages
2)在SYS使用者下提交SQL語句
sys@ora10g> select 'secooler' secooler from dual;
SECOOLER
--------
secooler
3)系統日誌中記錄瞭如下審計資訊
Apr 27 22:30:23 secdb Oracle Audit[7761]: ACTION : 'select 'secooler' secooler from dual' DATABASE USER: '/' PRIVILEGE : SYSDBA CLIENT USER: oracle CLIENT TERMINAL: pts/3 STATUS: 0
Apr 27 22:30:23 secdb Oracle Audit[7761]: ACTION : 'BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END;' DATABASE USER: '/' PRIVILEGE : SYSDBA CLIENT USER: oracle CLIENT TERMINAL: pts/3 STATUS: 0
可見,在SYS使用者下執行的SQL語句已經完整的寫入到了作業系統日誌中。
其中“[7761]”表示作業系統程式程式ID。
[root@secdb ~]# ps -ef | grep 7761 | grep -v grep
oracle 7761 7761 0 22:39 ? 00:00:00 oracleora10g (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
3.10g官方文件中引數描述
AUDIT_SYS_OPERATIONS描述連結:
AUDIT_SYSLOG_LEVEL描述連結:
4.小結
這種將SYS使用者下的操作寫入到作業系統日誌的行為需要重點監控,防止出現無人看管的增長檔案。針對自己的實際需求選擇使用。
Good luck.
secooler
11.04.27
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-694036/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何記錄使用者作業系統時,產生的日誌? 用什麼好實現?作業系統
- 欄位修改記錄操作日誌的實現
- 各個作業系統的 作業系統日誌作業系統
- Swoft AOP 記錄使用者操作日誌
- OS作業系統日誌作業系統
- Spring Boot利用AOP獲取使用者操作實現日誌記錄Spring Boot
- thinkphp 利用中介軟體 實現日誌操作記錄PHP
- 用Log4Net來記錄系統的日誌資訊
- struts 中怎樣將系統日誌與使用者日誌分離
- 實現後臺管理系統的操作日誌功能
- secureCRT記錄操作日誌Securecrt
- oracle日誌操作記錄Oracle
- mysql audit-訪問日誌記錄應用MySql
- 一次AIX 作業系統ASM新增磁碟的操作日誌AI作業系統ASM
- 使用Redis記錄系統日誌Redis
- 如何在專案中記錄日誌資訊?
- 微服務體系操作日誌如何記錄?微服務
- 部署Zipkin分散式效能追蹤日誌系統的操作記錄分散式
- Rust 實現日誌記錄功能Rust
- 日誌資訊記錄表|全方位認識 mysql 系統庫MySql
- hp-unix作業系統 日誌作業系統
- Appfuse:記錄操作日誌APP
- Linux作業系統的日誌說明Linux作業系統
- 如何優雅的記錄操作日誌?
- Linux作業系統常用log日誌Linux作業系統
- AIX作業系統怎麼檢視檔案的操作記錄AI作業系統
- 【alert】使用SYS.DBMS_SYSTEM.KSDWRT向Oracle實現向警告日誌中寫入資訊Oracle
- Spring AOP 實現業務日誌記錄Spring
- 如何記錄可讀性的操作日誌?
- 作業系統--怎麼實現中斷作業系統
- 有關作業系統使用者口令的操作:作業系統
- 如何優雅地記錄操作日誌?
- 如何優雅地記錄操作日誌
- 填報表怎麼跟蹤使用者操作,記錄日誌?
- 在日誌中記錄Java異常資訊的正確姿勢Java
- 日誌模組(一標頭檔案就實現了日誌記錄)
- 記錄 | 實習日誌 9
- oracle實驗記錄 (audit)Oracle