Oracle Audit: differenze tra le versioni
Riga 34: | Riga 34: | ||
col proxy_name for a20 |
col proxy_name for a20 |
||
SELECT * FROM ALL_DEF_AUDIT_OPTS; |
SELECT * FROM ALL_DEF_AUDIT_OPTS; |
||
SELECT * FROM DBA_STMT_AUDIT_OPTS ORDER BY |
SELECT * FROM DBA_STMT_AUDIT_OPTS ORDER BY AUDIT_OPTION; |
||
SELECT * FROM DBA_PRIV_AUDIT_OPTS ORDER BY PRIVILEGE; |
SELECT * FROM DBA_PRIV_AUDIT_OPTS ORDER BY PRIVILEGE; |
||
Versione delle 17:32, 4 dic 2019
Audit Classico
Da manualistica: "Oracle recommends that you include the BY ACCESS clause for all AUDIT statements, which results in a more detailed audit record."
Generalmente, tutto ciò che per essere fatto necessita di un privilegio, può essere tracciato. è conveniente redirigere tutti gli eventi di audit nel syslog:
ALTER SYSTEM SET AUDIT_TRAIL='OS' SCOPE=SPFILE; ALTER SYSTEM SET AUDIT_SYS_OPERATIONS=TRUE SCOPE=SPFILE; ALTER SYSTEM SET AUDIT_SYSLOG_LEVEL='SYSLOG.INFO' SCOPE=SPFILE;
Configurare regole di tracciamento
Impostazioni minime (12.2) Tracciare chi si connette:
AUDIT SESSION BY ACCESS;
Tracciare le operazioni privilegiate:
AUDIT DBA BY ACCESS;
oppure, con logica per utente:
AUDIT ALL PRIVILEGES BY <username> BY ACCESS;
tracciamento di tutto ciò che fa un utente:
AUDIT ALL STATEMENTS BY <username> BY ACCESS;
Con logica più granulare: Elencare tutti i privilegi:
select distinct privilege from dba_sys_privs order by 1;
Attivare tracciamento solo sui privilegi distruttivi, come DROP ANY
,UPDATE ANY
,DELETE ANY
.
Vedere cosa viene tracciato
Per verificare quali eventi sono tracciati:
set linesize 200 pagesize 200 col user_name for a20 col proxy_name for a20 SELECT * FROM ALL_DEF_AUDIT_OPTS; SELECT * FROM DBA_STMT_AUDIT_OPTS ORDER BY AUDIT_OPTION; SELECT * FROM DBA_PRIV_AUDIT_OPTS ORDER BY PRIVILEGE;
Privilegi sugli oggetti soggetti a tracciatura:
col owner for a20 col object_name for a20 SELECT * FROM DBA_OBJ_AUDIT_OPTS ORDER BY OWNER,OBJECT_NAME;
Cancellare regole di tracciamento
per disattivare auditing:
NOAUDIT ALL; NOAUTID ALL STATEMENTS; NOAUDIT ALL PRIVILEGES;
Con questi comandi vengono cancellate alche le regole di audit di default. Per ripristinarle è necessario lanciare:
@'?/rdbms/admin/secconf
Unified Audit
Può essere rediretto sul syslog solo dalle versione 18.0 in avanti. Nella 12.2 esiste, ma scrive solo nel database.