首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 審計實戰:監控 SYSDBA 角色用戶登入情況

     編輯:Oracle 資料庫基礎

背景演進

Oracle 8i 前使用 INTERNAL 用戶;8i 引入 SYSDBA/SYSOPER 角色;9i 移除 INTERNAL 與 SVRMGRL。SYSDBA 擁有最高特權 (啟動/關閉、建立資料庫等),必須實施嚴格登入審計。

Unix/Linux 強制審計機制

無需啟用 AUDIT_TRAIL,每次 SYSDBA 連線即自動在 $ORACLE_HOME/rdbms/audit 產生 ora_.aud,記錄完整上下文:

  • 實例名稱、伺服器主機名、OS 版本
  • Oracle/Unix 進程 ID
  • 登入時間戳
  • 動作類型 (CONNECT INTERNAL 等)
  • 客戶端 OS 用戶與終端名稱

實戰日誌範例

nbtax1> cat ora_589980.aud
Audit file /ora1/oracle/app/product/8.1.6/rdbms/audit/ora_589980.aud
Oracle8i Enterprise Edition Release 8.1.6.3.0 - Production
...
Instance name: nbgs1
Unix process pid: 589980, image: oracle@nbtax1 (TNS V1-V3)
Fri Sep 21 10:26:57 2001
ACTION : 'CONNECT INTERNAL'
OSPRIV : DBA
CLIENT USER: Administrator
CLIENT TERMINAL: XIAOFEISHI

註:中文註解為筆者補充,系統原始輸出為英文。

管理與自動化建議

  1. 定期收集:用 Shell/Python 腳本每日彙總 *.aud 至中央資料表或 SIEM。
  2. 關鍵欄位解析:重點提取 CLIENT USER、CLIENT TERMINAL、ACTION、時間戳。
  3. 異常偵測:非工作時段、非授權主機、非預期帳號登入即觸發告警。
  4. 保留策略:配合法規要求保留 1-7 年,壓縮歸檔至異地儲存。
  5. 11g+ 增強:啟用 AUDIT_SYS_OPERATIONS=TRUE、AUDIT_TRAIL=XML,EXTENDED,審計寫入 XML 並含 SQL 文本與繫結變數,查詢效能大幅提升。

Windows 平台替代方案

Windows 將特權審計寫入事件檢視器 (來源 Oracle.),可用 wevtutil qe Application /q:"*[System[Provider[@Name='Oracle.ORCL']]]" /f:text 匯出分析。

結語

作業系統層面的強制審計檔是監控 SYSDBA 活動最可靠、不可繞過的資料來源。請將其納入資安合規體系,建立自動化收集、分析、告警閉環。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved