Oracle Audit: differenze tra le versioni
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.