Auditoría del Sistema
¿Qué es una Auditoría de una BD?
• Controlar y registrar las acciones de determinados
usuarios de la BD.
• A nivel SO vs a nivel del SGBD (Oracle).
• La información sobre el evento auditado se
almacenará en el Audit Trail.
• Ventajas
• Desventajas
Auditoría del Sistema
¿Cómo iniciar una Auditoría?
• Especificar el parámetro AUDIT_TRAIL con el
valor TRUE en el fichero INITSID.ORA para
arrancar la auditoría.
• Tabla donde se almacena la información de la
auditoría: SYS.AUD$
• Ejecutar archivo @cataudit.sql creación vistas
para visualizar información de auditoría.
Auditoría del Sistema
Información que se obtiene:
•
•
•
•
•
Usuario que realizó una determinada operación.
El objeto o los objetos a los que accedió.
Fecha y hora del proceso.
Código de la acción.
No se refleja la información que se modificó.
Auditoría del Sistema
Qué se debe auditar:
• Decidir cual será el objetivo de la auditoria sobre
la base de dato o S.O.
• Mantener la información de la auditoria en forma
manejable
• Establecer guías para actividades sospechosas
• Establecer guías para actividades normales de la
base de datos
Auditoría del Sistema
Tipos de niveles en la Auditoría
• de órdenes o comandos:INDEX, TABLE
• Activar una auditoría sobre una orden:
AUDIT comando_a_auditar
BY usuario /*Sólo órdenes de un usuario*/
BY SESSION /*Una línea por órdenes ejecutadas en una sesión*/
BY ACCESS /*Una línea por cada orden auditada*/
WHENEVER SUCCESSFUL /*Sólo órdenes que han tenido éxito*/
WHENEVER NOT SUCCESSFUL /*Sólo órdenes fallidas*/
• Ejemplos:
SQL> AUDIT SESSION;
Auditoría terminada con éxito.
SQL> AUDIT CREATE TABLE BY SESSION;
Auditoría terminada con éxito.
SQL> AUDIT TABLE WHENEVER NOT SUCCESSFUL;
Auditoría del Sistema
Tipos de niveles en la Auditoría
• de privilegios de sistema
–
–
–
–
–
–
Podemos auditar un privilegio de sistema:
AUDIT CREATE ANY INDEX|...;
Ejemplos:
SQL> AUDIT CREATE ANY INDEX;
Auditoría terminada con éxito.
SQL> AUDIT CREATE ANY INDEX WHENEVER
NOT SUCCESSFUL;
– Auditoría terminada con éxito.
Auditoría del Sistema
Tipos de niveles en la Auditoría
• 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.
Auditoría del Sistema
Auditoría del Sistema
Desactivar opciones de Auditoría
Permite parar una determinada auditoría ejecutada.
NOAUDIT { statement | system_priv } [, {statement |
system_priv }...]
[ BY usuario [, usuario ]...]
[ WHENEVER [NOT] SUCCESSFUL
NOAUDIT statement [,statement] ...
ON {[schema.] object | DEFAULT }
[ WHENEVER [NOT ] SUCCESSFUL
Auditoría del Sistema
Desactivar opciones de Auditoría
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;
Auditoría del Sistema
Ejemplos de Auditoría
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;
Auditoría del Sistema
Obtener información de Auditoría
Vistas sobre la tabla SYS.DBA$:
•AUDIT_ACTIONS: Tabla con tipos de acción de la
auditoría (acción,nombre)
•ALL_DEF_AUDIT_OPTS: Opciones por defecto de la
auditoría (ALT, AUD, COM, DEL, GRA, IND, INS,
LOC, REN, SEL, UPD, REF, EXE),
•DBA_AUDIT_EXISTS: Registros de auditoría del
sistema (AUDIT EXISTS)
•DBA_AUDIT_OBJECT: Todos los objetos del sistema
•DBA_AUDIT_SESSION: CONNECT y DISCONNECT
•DBA_AUDIT_TRAIL: Todo el sistema
Auditoría del Sistema
Obtener información de Auditoría
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. Auditoría por usuario
•USER_OBJ_AUDIT_OPTS: Tablas y vistas del usuario
Auditoría del Sistema
Borrar datos de la Auditoria:
DELETE FROM SYS.AUD$;
DELETE FROM SYS.AUD$ WHERE obj$name='EMP';
Proteger la información de la auditoria
AUDIT INSERT, UPDATE, DELETE
ON sys.aud$
BY ACCESS;
Descargar

Auditoría del Sistema