Oracle Audit: differenze tra le versioni

Da Emigar.
Jump to navigation Jump to search
Riga 20: Riga 20:
tracciamento di tutto ciò che fa un utente:
tracciamento di tutto ciò che fa un utente:
AUDIT ALL STATEMENTS BY <username> BY ACCESS;
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 <code>DROP ANY</code>,<code>UPDATE ANY</code>,<code>DELETE ANY</code>.


==Vedere cosa viene tracciato==
==Vedere cosa viene tracciato==

Versione delle 17:26, 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;
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;

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.