Auditoria en Oracle

Thor
13 de Diciembre del 2004
Buenas noches, alguien tiene conocimiento de paquetes de oracle que te permitan auditar tablas, con alguna politica en particular o saber en el tiempo que consultas hizo un usuario?

Gracias.
Thor en proceso de ceritificacion.

Pablo Ponte Miserendino
13 de Diciembre del 2004
La forma de auditar cambios en las tablas es a travez de triggers sobre cada tabla.....la ùnica facilidad que poseen estos triggers es que todos poseen la misma estructura, por lo cual puedes hacer un script que, leyendo desde el diccionario de datos, genere los triggers automàticamente...
Cada uno de estos triggers escribe en una tabla de auditorias generales , guardando la operaciòn, el valor anterior y posterior a la modificaciòn, fecha y hora, origen de la modificaciòn y , en algunos casos, el usuario.....
Este un esquema bàsico de auditoria.....desconozco como auditar consultas, y sinceramente no le veo utilidad, pero puedes auditar entradas a cada una de las pantallas o cursores levantados en un proc , ect.

Espero que te sirva...

Salu2

Jorge-DBA
13 de Diciembre del 2004
Que tal.

Oracle cuenta con su propia auditoria, para activarla tienes que modificar el parámetro de AUDIT_TRAIL y posteriormente con sentencias a la base de datos auditas solo lo que tus políticas te indican.

una vez que la auditoría esta activa con las vista dinámicas de oracle consultas lo que se requiera.

la advertencia que oracle indica, es que se tiene que monitorear el tablespace de system ya que en el se encuantra la tabla que almacena toda la informacion. "aud$" y puedes tambien consultar sentencias select a los datos, esto te puede servir para vericar que usuarios estan consultando la informacion de las tablas confidenciales.

Apartir de la version 9.0.x puedes auditar con la "Granuralidad fina" donde te indica el antes y el despues de las modificaciones.

aqui tienes unos ejemplos:


LAS VISTAS:
DBA_AUDIT_EXISTS
DBA_AUDIT_OBJECT
DBA_AUDIT_POLICIES
DBA_AUDIT_SESSION
DBA_AUDIT_STATEMENT
DBA_AUDIT_TRAIL
DBA_FGA_AUDIT_TRAIL
DBA_OBJ_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS
DBA_REPAUDIT_ATTRIBUTE
DBA_REPAUDIT_COLUMN
DBA_STMT_AUDIT_OPTS


AUDIT SELECT, INSERT, DELETE, UPDATE ON OWNER.TABLA_CONFIDENCIAL BY ACCESS;'


AUDIT ROLE;
AUDIT session BY ACCESS;
AUDIT cluster BY ACCESS;
AUDIT database link BY ACCESS;
AUDIT index BY ACCESS;
AUDIT procedure BY ACCESS;
AUDIT public database link BY ACCESS;
AUDIT public synonym BY ACCESS;
AUDIT sequence BY ACCESS;
AUDIT synonym BY ACCESS;
AUDIT table BY ACCESS;
AUDIT trigger BY ACCESS;
AUDIT view BY ACCESS;
AUDIT alter table BY ACCESS;
AUDIT comment table BY ACCESS;
AUDIT alter sequence BY ACCESS;
AUDIT user BY ACCESS;
AUDIT profile BY ACCESS;
AUDIT role BY ACCESS;
AUDIT system grant BY ACCESS;
AUDIT grant table BY ACCESS;
AUDIT grant sequence BY ACCESS;
AUDIT grant procedure BY ACCESS;
AUDIT system audit BY ACCESS;
AUDIT audit any BY ACCESS;
AUDIT rollback segment BY ACCESS;
AUDIT tablespace BY ACCESS;
AUDIT alter database BY ACCESS;
AUDIT alter system BY ACCESS;
AUDIT audit, insert, delete, update ON sys.aud$ BY ACCESS;

Audit ALTER SEQUENCE by access;
Audit ALTER TABLE by access;
Audit COMMENT TABLE by access;
Audit DELETE TABLE by access;
Audit EXECUTE PROCEDURE by access;
Audit GRANT DIRECTORY by access;
Audit GRANT PROCEDURE by access;
Audit GRANT SEQUENCE by access;
Audit GRANT TABLE by access;
Audit GRANT TYPE by access;
Audit INSERT TABLE by access;
Audit LOCK TABLE by access;
Audit SELECT SEQUENCE by access;
Audit SELECT TABLE by access;
Audit UPDATE TABLE by access;

AUDIT ALTER SESSION BY ACCESS;
AUDIT CREATE CLUSTER BY ACCESS;
AUDIT CREATE DATABASE LINK BY ACCESS;
AUDIT CREATE PROCEDURE BY ACCESS;
AUDIT CREATE ROLLBACK SEGMENT BY ACCESS;
AUDIT CREATE SEQUENCE BY ACCESS;
AUDIT CREATE SYNONYM BY ACCESS;
AUDIT CREATE TABLE BY ACCESS;
AUDIT CREATE TABLESPACE BY ACCESS;
AUDIT CREATE VIEW BY ACCESS;

AUDIT AUDIT SYSTEM BY ACCESS;
AUDIT CREATE PUBLIC DATABASE LINK BY ACCESS;
AUDIT CREATE PUBLIC SYNONYM BY ACCESS;
AUDIT CREATE ROLE BY ACCESS;
AUDIT CREATE USER BY ACCESS;

Saludos.

Jorge-DBA