Oracle 統一審計- Best 實踐一

Haoword_wang發表於2024-02-17

Oracle 資料庫開啟審計最 Best 實踐

一 Best實踐指南:

1.作為常規審計規則,設計審計策略以收集滿足“需求導向”的需求所需的資訊量,同時滿足關注的安全問題。例如,審計資料庫中的每個表

是不切實際的,但是需要審計包含敏感資料(如工資)的列的表。對於統一的和細粒度的審計,我們可以使用一些機制來設計審計策略,將重

點放在要審計的特定活動上。

2.定期歸檔和清除審計跟蹤資料。可以使用DBMS_AUDIT_MGMT包使用不通的方式清除審計記錄。應定期審查收集到的審計記錄,並根據

需求站點的保留策略建立收集和保留審計記錄的系統。除了DBMS_AUDIT_MGMT之外,Oracle Data Safe、Oracle Audit Vault和Database Firewall還提供了一些特性,使我們能夠管理審計跟蹤資料的歸檔和清除。


二 審計開啟指導:

2.1審計內容管理:

儘管審計的成本相對較低,但還是要儘可能地限制審計事件的數量。

這最大限度地減少了對審計報表執行的效能影響和審計跟蹤的大小,使其更容易分析和理解。

在設計審計策略時,請遵循以下指導方針:

1評估審計的需求。

在清楚地瞭解審計的需求之後,我們可以設計適當的審計策略,避免不必要的審計。例如,假設正在進行審計以調查可疑的資料庫活 動。這個資訊本身不夠具體。懷疑或注意到哪些型別的可疑資料庫活動?更集中的審計策略可能是審計資料庫中任意表中未經授權的刪除。這一目的縮小了被審計的操作型別和受可疑活動影響的物件型別。

2.審計專業知識:

審計獲得目標資訊所需的語句、使用者或物件的最小數量。這可以防止不必要的審計資訊混淆有意義的資訊,並佔用SYSTEM表空間中的寶貴空間。在收集足夠安全資訊的需要與儲存和處理這些資訊的能力之間取得平衡。

例如,如果您正在進行審計以收集有關資料庫活動的資訊,那麼請確定要跟蹤的活動型別,只審計感興趣的活動,並且只審計收集所需資訊所需的時間。另一個例子是,如果您只對每個會話的邏輯I/O資訊感興趣,則不要審計物件。

3.在實施審計策略之前,確認資料管理方是否容許相關資料的收集,因為很多時候,資料庫的負責人是業務系統的負責人監管,而一套資料庫上面可能存在多個應用程式。


2.2典型資料庫活動的審計

Oracle提供了關於何時必須收集特定資料庫活動的歷史資訊的指導方針。

1.只審計相關的操作。

從最小需求觸發,審計使用者訪問、系統特權的使用以及對資料庫模式結構的更改。為了避免有意義的資訊與無用的審計記錄混在一起,並減少審計跟蹤管理的數量,只審計目標資料庫活動。還要記住,過多的審計會影響資料庫效能。

例如,審計對資料庫中所有表的更改會產生過多的審計跟蹤記錄,從而降低資料庫效能。但是,審計對關鍵表(例如Human Resources表中的工資)的更改是有用的。

也可以使用細粒度審計來審計特定的操作,這在使用細粒度審計審計特定活動中有描述。

2.存檔審計記錄並清除審計跟蹤。

在收集了所需的資訊之後,將相關的審計記錄歸檔,然後清除這些資訊的審計跟蹤。請參閱以下部分:

Archiving the Audit Trail

Purging Audit Trail Records

3.記住公司對隱私的考慮。

隱私法規通常會導致額外的業務隱私策略。大多數隱私法要求企業監視對個人身份資訊(PII)的訪問,而監視是透過審計實現的。業務級隱私策略應該處理資料訪問和使用者責任的所有相關方面,包括技術、法律和公司政策問題。

4.請檢視Oracle資料庫日誌檔案以獲取其他審計資訊。

Oracle資料庫生成的日誌檔案包含有用的資訊,可以在審計資料庫時使用。例如,Oracle資料庫建立一個警報檔案來記錄STARTUP和SHUTDOWN操作,以及向資料庫新增資料檔案等結構更改。

例如,如果你想審計提交或回滾的事務,你可以使用重做日誌檔案。

5.為了減少審計跟蹤和遞迴SQL語句的大小,只審計敏感語句。

如果擔心建立的統一審計策略會生成大量的記錄,那麼在create audit policy語句中包含ONLY TOPLEVEL子句。例如,對DBMS_STATS的審計。GATHER_DATABASE_STATS SQL語句可以生成數千條審計記錄。可以審計所有使用者的敏感語句,包括“SYS”使用者。


2.3 審計可疑的資料庫活動

1. Oracle提供了指導方針,指導何時審計以監視可疑的資料庫活動。

當您開始審計可疑的資料庫活動時,通常沒有多少資訊可用於目標特定使用者或模式物件。因此,一般先進行審計,即採用統一的審計策略。配置審計策略解釋瞭如何審計SQL語句、模式物件、特權等。

在記錄和分析了初步審計資訊之後,更改審計策略以審計特定的操作和許可權。我們可以在策略中新增條件,以排除不必要的審計記錄。您還可以使用AUDIT POLICY語句中的EXCEPT子句來排除不需要審計的特定使用者。有關統一審計策略的更多資訊,請參見使用統一審計策略的審計活動和審計報表。

可以使用細粒度審計來審計特定的操作,這在使用細粒度審計審計特定活動中有描述。繼續這個過程,直到收集到足夠的證據,得出關於可疑資料庫活動起源的結論。

2.首先是一般審計,然後是具體審計。

常見的可疑活動如下:

在不正常時間訪問資料庫的使用者

使用者登入多次失敗

不存在的使用者嘗試登入

此外,要注意,敏感資料(如信用卡號碼)可能出現在審計跟蹤列中,例如SQL文字,當在SQL查詢中使用時。您還應該監視共享帳戶的使用者或從同一IP地址登入的多個使用者。您可以查詢UNIFIED_AUDIT_TRAIL資料字典檢視來查詢此類活動。對於非常細粒度的方法,建立細粒度的審計策略。


2.4敏感資料審計

Oracle建議在敏感物件上建立統一審計策略時包含ACTIONS ALL子句。

包含此條款可確保生成對這些敏感物件的直接訪問和間接訪問的審計記錄。對敏感物件的審計只使用action all。


2.5 推薦的審計設定

Oracle提供了預定義的策略,其中包含適用於大多數站點的推薦審計設定。

例如:

ORA_SECURECONFIG審計與Oracle Database Release 11g相同的預設審計設定。它跟蹤許多特權的使用情況,如ALTER ANY TABLE、GRANT ANY PRIVILEGE和CREATE USER。它跟蹤的操作包括ALTER USER、CREATE ROLE、LOGON和其他通常執行的活動。預設情況下,只有在Oracle database Release 12c版本中建立資料庫時才啟用該策略。

ORA_DATABASE_PARAMETER審計常用的Oracle資料庫引數設定:ALTER Database、ALTER SYSTEM和CREATE SPFILE。預設情況下,不啟用該策略。

ORA_ACCOUNT_MGMT審計常用的使用者帳號和許可權設定:CREATE user、ALTER user、DROP user、CREATE ROLE、DROP ROLE、ALTER ROLE、SET ROLE、GRANT和REVOKE。預設情況下,不啟用該策略。


2.6查詢UNIFIED_AUDIT_TRAIL資料字典檢視的 Best 實踐

1.為了從查詢UNIFIED_AUDIT_TRAIL資料字典檢視中獲得Best結果,應該遵循以下指導原則。

確保統一稽核內部表的統計資料及時更新。

執行DBMS_STATS。在AUDSYS模式下的AUD$UNIFIED表上執行GATHER_TABLE_STATS過程,以確保在查詢UNIFIED_AUDIT_TRAIL資料字典檢視之前更新了統一審計表的統計資訊。

2.載入寫入作業系統溢位檔案的統一審計記錄。

可以顯式地執行此操作,也可以使用DBMS_AUDIT_MGMT來配置Oracle Scheduler作業。LOAD_UNIFIED_AUDIT_FILES過程。

3.當統一審計跟蹤中的記錄數量達到非常大的數量時(例如,一百萬條),然後啟動適當的歸檔和清除機制。

歸檔和清除統一審計試驗可以減少資料量,否則可能會增加資料量並導致讀取效能問題。Oracle建議您配置標準清除策略。您建立的清除策略將取決於系統上生成的審計記錄的比率。為了獲得較高的審計記錄生成率,需要頻繁的清理。

4.將統一審計跟蹤移動到自定義表空間。

使用自定義表空間可以更好地管理審計資料,並減少對SYSAUX表空間中其他物件的影響。預設情況下,統一審計跟蹤記錄寫入SYSAUX表空間。要使用不同的表空間,請執行DBMS_AUDIT_MGMT。SET_AUDIT_TRAIL_LOCATION過程。

5.當查詢UNIFIED_AUDIT_TRAIL資料字典檢視時,在WHERE子句中包含EVENT_TIMESTAMP_UTC列。

EVENT_TIMESTAMP_UTC列記錄審計事件在UTC時區的時間戳。在查詢中包含這一列有助於實現分割槽修剪,從而提高UNIFIED_AUDIT_TRAIL檢視的讀效能。


補充內容:

什麼是統一審計?

在統一審計中,統一審計跟蹤從各種來源捕獲審計資訊。

統一審計支援從以下來源捕獲審計記錄:

Audit records (including SYS audit records) from unified audit policies and AUDIT settings

Fine-grained audit records from the DBMS_FGA PL/SQL package

Oracle Database Real Application Security audit records

Oracle Recovery Manager audit records

Oracle Database Vault audit records

Oracle Label Security audit records

Oracle Data Mining records

Oracle Data Pump

Oracle SQL*Loader Direct Load

統一審計跟蹤位於SYSAUX表空間中AUDSYS模式下的只讀表中,它使這些資訊在UNIFIED_AUDIT_TRAIL資料字典檢視中以統一的格式可用,並且在單例項和Oracle資料庫真實應用程式叢集環境中都可用。除了SYS使用者,擁有AUDIT_ADMIN和AUDIT_VIEWER角色的使用者也可以查詢這些檢視。如果您的使用者只需要查詢檢視而不需要建立審計策略,那麼授予他們AUDIT_VIEWER角色。

當資料庫可寫時,審計記錄被寫入統一審計跟蹤。如果資料庫不可寫,則將審計記錄寫入$ORACLE_BASE/audit/$ORACLE_SID目錄下的新格式作業系統檔案中。


參考文件:


“https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/keeping-your-oracle-database-secure.html#GUID-D29AD047-B99B-4460-AB1F-F2BC3EC75924 ”


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/26342786/viewspace-3006667/,如需轉載,請註明出處,否則將追究法律責任。

相關文章