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 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
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;