Oracle Audit

Da Emigar.
Jump to navigation Jump to search

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.

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;

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 DBA_STMT_AUDIT_OPTS;
SELECT * FROM DBA_PRIV_AUDIT_OPTS;

Privilegi sugli oggetti soggetti a tracciatura:

col owner for a20
col object_name for a20
SELECT * FROM DBA_OBJ_AUDIT_OPTS;

Cancellare regole di tracciamento

per disattivare auditing:

NOAUDIT ALL;
NOAUTID ALL STATEMENTS;
NOAUDIT ALL PRIVILEGES;

Unified Audit

Può essere rediretto sul syslog solo dalle versione 18.0 in avanti. Nella 12.2 esiste, ma scrive solo nel database.