Vous êtes sur la page 1sur 14

Auditoria del

Sistema de Base
de Datos
Auditora del Sistema
Qu es una Auditora de una BD?
Controlar y registrar las acciones de determinados usuarios de la BD.
A nivel SO vs a nivel del SGBD (Oracle).
La informacin sobre el evento auditado se almacenar en el Audit Trail.
Ventajas
Desventajas
Auditora del Sistema
Cmo iniciar una Auditora?
Especificar el parmetro AUDIT_TRAIL con el valor TRUE en el fichero
INITSID.ORA para arrancar la auditora.
Tabla donde se almacena la informacin de la auditora: SYS.AUD$
Ejecutar archivo @cataudit.sql creacin vistas para visualizar informacin de
auditora.
Auditora del Sistema
Informacin que se obtiene:

Usuario que realiz una determinada operacin.


El objeto o los objetos a los que accedi.
Fecha y hora del proceso.
Cdigo de la accin.
No se refleja la informacin que se modific.
Auditora del Sistema
Qu se debe auditar:

Decidir cual ser el objetivo de la auditoria sobre la base de datos o S.O.


Mantener la informacin de la auditoria en forma manejable
Establecer guas para actividades sospechosas
Establecer guas para actividades normales de la base de datos
Auditora del Sistema
Tipos de niveles en la Auditora
de rdenes o comandos:INDEX, TABLE
Activar una auditora sobre una orden:
AUDIT comando_a_auditar
BY usuario /*Slo rdenes de un usuario*/
BY SESSION /*Una lnea por rdenes ejecutadas en una sesin*/
BY ACCESS /*Una lnea por cada orden auditada*/
WHENEVER SUCCESSFUL /*Slo rdenes que han tenido xito*/
WHENEVER NOT SUCCESSFUL /*Slo rdenes fallidas*/
Ejemplos:
SQL> AUDIT SESSION;
Auditora terminada con xito.
SQL> AUDIT CREATE TABLE BY SESSION;
Auditora terminada con xito.
SQL> AUDIT TABLE WHENEVER NOT SUCCESSFUL;
Auditora del Sistema
Tipos de niveles en la Auditora
de privilegios de sistema
Podemos auditar un privilegio de sistema:
AUDIT CREATE ANY INDEX|...;
Ejemplos:
SQL> AUDIT CREATE ANY INDEX;
Auditora terminada con xito.
SQL> AUDIT CREATE ANY INDEX WHENEVER NOT SUCCESSFUL;
Auditora terminada con xito.
Auditora del Sistema
Tipos de niveles en la Auditora
Sobre objetos
Podemos auditar procesos sobre un determinado objeto:
AUDIT SELECT|... ON objeto;
Para todos los usuarios de la BD.
Objeto del propio esquema o privilegio AUDIT ANY.
Auditora del Sistema
Desactivar opciones de Auditora
Permite parar una determinada auditora ejecutada.
NOAUDIT { statement | system_priv } [, {statement | system_priv }...]
[ BY usuario [, usuario ]...]
[ WHENEVER [NOT] SUCCESSFUL
NOAUDIT statement [,statement] ...
ON {[schema.] object | DEFAULT }
[ WHENEVER [NOT ] SUCCESSFUL
Auditora del Sistema
Desactivar opciones de Auditora
NOAUDIT session;
NOAUDIT session BY scott, lori;
NOAUDIT DELETE ANY TABLE;
NOAUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE,
EXECUTE PROCEDURE;
NOAUDIT ALL;
NOAUDIT ALL PRIVILEGES;
NOAUDIT DELETE
ON emp;
NOAUDIT SELECT, INSERT, DELETE
ON jward.dept;
Auditora del Sistema
Ejemplos de Auditora
AUDIT SESSION;
AUDIT SESSION BY scott, lori;
AUDIT DELETE ANY TABLE BY ACCESS
WHENEVER NOT SUCCESSFUL;
AUDIT DELETE ANY TABLE;
AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE, EXECUTE PROCEDURE
BY ACCESS
WHENEVER NOT SUCCESSFUL;
Auditora del Sistema
Obtener informacin de Auditora
Vistas sobre la tabla SYS.DBA$:
AUDIT_ACTIONS: Tabla con tipos de accin de la
auditora (accin,nombre)
ALL_DEF_AUDIT_OPTS: Opciones por defecto de la
auditora (ALT, AUD, COM, DEL, GRA, IND, INS,
LOC, REN, SEL, UPD, REF, EXE),
DBA_AUDIT_EXISTS: Registros de auditora del
sistema (AUDIT EXISTS)
DBA_AUDIT_OBJECT: Todos los objetos del sistema
DBA_AUDIT_SESSION: CONNECT y DISCONNECT
DBA_AUDIT_TRAIL: Todo el sistema
Auditora del Sistema

Obtener informacin de Auditora


Vistas sobre la tabla SYS.DBA$:
DBA_STMT_AUDIT_OPTS: Opciones actuales sobre el
sistema y por el usuario
DBA_OBJ_AUDIT_OPTS: Opciones sobre las tablas y vistas
USER_AUDIT_EXISTS: Reg. A. del usuario (AUDIT EXISTS)
USER_AUDIT_OBJECTS: Los objetos del usuario
USER_AUDIT_SESSION: CONNECT y DISCONNECT usuario
USER_AUDIT_TRAIL: Reg. Auditora por usuario
USER_OBJ_AUDIT_OPTS: Tablas y vistas del usuario
Auditora del Sistema

Borrar datos de la Auditoria:


DELETE FROM SYS.AUD$;
DELETE FROM SYS.AUD$ WHERE obj$name='EMP';

Proteger la informacin de la auditoria


AUDIT INSERT, UPDATE, DELETE
ON sys.aud$
BY ACCESS;

Vous aimerez peut-être aussi