Unified Auditing politikası oluştur, koşullu etkinleştir, kayıtları izle, kaldır
OracleGüvenlikKomut
-- 1) Nesne + kosul bazli politika (batch modulu haric):
CREATE AUDIT POLICY pol_musteri_dml
ACTIONS SELECT ON musteri_app.musteri,
UPDATE ON musteri_app.musteri,
DELETE ON musteri_app.musteri
WHEN 'SYS_CONTEXT(''USERENV'',''MODULE'') NOT LIKE ''batch%'''
EVALUATE PER SESSION;
-- 2) Ayricalikli islemler politikasi:
CREATE AUDIT POLICY pol_ddl_priv
PRIVILEGES DROP ANY TABLE, ALTER SYSTEM
ACTIONS DROP USER, ALTER USER, CREATE USER;
-- 3) Etkinlestir:
AUDIT POLICY pol_musteri_dml EXCEPT musteri_app; -- sema sahibi haric herkes
AUDIT POLICY pol_ddl_priv WHENEVER SUCCESSFUL;
AUDIT POLICY ORA_LOGON_FAILURES WHENEVER NOT SUCCESSFUL;
-- 4) Hangi politika kime acik?
SELECT policy_name, enabled_option, entity_name, success, failure
FROM audit_unified_enabled_policies ORDER BY policy_name;
SELECT policy_name, audit_option, object_schema, object_name, audit_condition
FROM audit_unified_policies WHERE policy_name LIKE 'POL_%';
-- 5) Kayitlar:
SELECT event_timestamp, dbusername, action_name, object_schema, object_name,
return_code, unified_audit_policies, os_username, userhost
FROM unified_audit_trail
WHERE event_timestamp > SYSTIMESTAMP - INTERVAL '1' DAY
AND unified_audit_policies LIKE '%POL_%'
ORDER BY event_timestamp DESC;
-- 19c (queued-write): EXEC DBMS_AUDIT_MGMT.FLUSH_UNIFIED_AUDIT_TRAIL; (23ai'de yok)
-- 6) Kapat ve kaldir:
NOAUDIT POLICY pol_musteri_dml;
NOAUDIT POLICY pol_ddl_priv;
DROP AUDIT POLICY pol_musteri_dml;
DROP AUDIT POLICY pol_ddl_priv;Ne yapar?
Unified Auditing, tüm denetim kayıtlarını tek bir trail'de (AUDSYS şeması, UNIFIED_AUDIT_TRAIL) toplar. Politikalar nesne eylemi, sistem yetkisi veya eylem bazında tanımlanır; WHEN koşulu ve BY/EXCEPT kullanıcı listesiyle gürültü azaltılır.
Ne zaman kullanılır?
Hassas tablolara erişimi kayıt altına almak, ayrıcalıklı DDL/yetki değişikliklerini izlemek, başarısız login denemelerini görmek, denetim gereksinimlerini karşılamak için.
Dikkat
Ek lisans gerektirmez. SELECT denetimi yoğun tablolarda çok kayıt ve SYSAUX büyümesi üretir; koşul ve EXCEPT ile daralt, DBMS_AUDIT_MGMT ile arşivleme/temizlik (CLEAN_AUDIT_TRAIL, SET_LAST_ARCHIVE_TIMESTAMP) job'ı kur. Etkin politika DROP edilemez (ORA-46361), önce NOAUDIT. Politika değişikliği yeni session'larda geçerli olur. 19c'de varsayılan mixed mode'dur; geleneksel AUDIT_TRAIL kayıtları da üretilebilir.
İlgili
- TDE keystore oluştur, aç, master key üret ve yedekle (19c+)
- Tablespace'i TDE ile şifrele (yeni ve mevcut tablespace, online/offline)
- VPD (DBMS_RLS) ile satır düzeyinde erişim politikası ekle
- Parola politikası için profile oluştur ve kullanıcıya ata
- Privilege analysis ile kullanılmayan yetkileri tespit et