miércoles, junio 09, 2010

Traceo de sesión en Oracle

Las legislaciones de protección de datos de la mayoría de países además de exigir un control de accesos, suelen requerir auditar los accesos.

Es especialmente importante revisar los intentos de acceso rechazados por el sistema, ya que puede estar intentando acceder una persona no autorizada.

Para activar el audit hacemos:

SQL> alter system set audit_trail = 'DB' scope=spfile;

Nota: DB se encuentra entre comillas simples. Lo digo por si desaparecen.

Ahora tenemos varias opciones:

Auditar los intentos de sesión rechazados:

SQL> audit session whenever not successful;

Auditar sólo las sesiones con éxito:

SQL> audit session whenever successful;

Auditar todas las sesiones (los intentos y los que tienen éxito).

SQL> audit session;

Después de activar el audit sólo queda ver los resultados.
Para ello abrimos sesión con el usuario SYS y estudiamos la tabla sys.aud$

Mañana estudiaremos las columnas de esa tabla y prepararemos alguna consulta predefinida de forma que podamos obtener un informe periódico.

Os adelanto para el que tenga seguridad que se quedan registrados datos como:

1.-La fecha y hora de inicio de sesión y de final (realmente se graba un registro al abrir sesión y otro al cerrarlo).
2.-El usuario del sistema operativo que accede.
3.-El usuario Oracle al que accede.
4.-El identificador de sesión (es un correlativo que mantiene Oracle).
5.-El nombre de la máquina desde la cual se accede.
6.-La acción realizada (abrir, cerrar, cerrado de Oracle).
7.-El número de error Oracle devuelto (número cero si la sesión se ha abierto correctamente).
8.-Etc. Etc.

Saludos.

No hay comentarios: