Manual del estudiante de Ingeniería en Sistemas de UTN/Bases de datos avanzadas/Auditoría de la base de datos
Objetivos de la auditoría
editar- Control de acciones seleccionadas que los usuarios efectúan sobre la BD y se utilizan para:
- Investigar actividades dudosas sobre la BD
- Recopilar información acerca de actividades específicas de la BD
- Recopilar estadísticas sobre qué tablas se están actualizando, cuantas E/S lógicas se realizan y cuántos usuarios se conectan de forma simultánea en las horas de máxima actividad
La auditoría se puede realizar por sesión ó por acceso
Gestion de registros de auditoría
editarSe debe definir lo que se desea auditar:
- Usuarios, sentencias u objetos
- Ejecuciones de sentencias correctas, ejecuciones de sentencias incorrectas ó ambas
Se debe gestionar los registros de la auditoría:
- Controlar el aumento de los registros de la auditoría
- Protejer los registros de auditoría de un acceso no autorizado
Si hay muchos registros de auditoría y los archivos se llenan las sentencias de auditoria no se ejecutarán correctamente, para ello se debe liberar espacio Para que los registros no se incrementen indefinidamente:
- Activar la auditoría sólo cuando sea necesario
- Seleccionar adecuadamente las opciones de auditoría
- Controlar estrictamente la auditoría sobre objetos del schema. Los usuarios pueden activar la auditoría de los objetos que le pertencen.
- Otorgar privilegio AUDIT ANY con cuidado
- Eliminar periódicamente los registros de auditoría (DELETE/TRUNCATE)
Protección de los registros de Auditoría
editar- Proteger la información de auditoría para que no se pueda agregar, modificar, ni suprimir la información de auditoría:
- AUDIT delete ON sys.aud$ BY ACCESS;
- Sólo el DBA debe tener el rol DELETE_CATALOG_ROLE
Grabando los registros de Auditoría fuera del Tablespace SYSTEM
editar- La tabla AUD$ puede aumentar de manera ilimitada.
_ AUD$ no se debe borrar, se pueden eliminar registros o truncar la tabla
- Se debe almacenar fuera del tablespace del sistema (SYSTEM):
SQL> ALTER TABLE aud$ MOVE TABLESPACE AUDIT_TAB
Es importante crearle un índice:
SQL> CREATE INDEX i_aud1 ON aud$(sessionid, ses$tid) TABLESPACE AUDIT_IDX;
- Desactivar la auditoria antes de mover la tabla aud$ del tablespaces
Categorías de Auditoría
editar- Por defecto:
- Inicio y cierre de la Instancia
- Privilegios del Administrador
- De la Base de Datos:
- Activada por el DBA
- No puede registrar los valores de las columnas
- Aplicaciones o Basada en valores
- Se implementa por medio de código, procedimientos almacenados ó por medio de triggers
- Puede registrar los valores de las columnas
- Se emplea para seguir los cambios realizados en las tablas
Parámetros
editarParámetro de incialización: AUDIT_TRAIL:
AUDIT_TRAIL = valor
- TRUE ó DB: Activa la auditoría y todos los registros de ésta se almacenan en SYS.AUD$
_ OS: si el SO lo permite esta opción activa la auditoría y dirige todos los registros de auditoría a un archivo del SO
- FALSE ó NONE: desactiva la auditoría
- No existe valor por omisión
Especificando las opciones de Auditoría
editarUna vez inicializado el parámetro AUDIT_TRAIL en DB ú OS se puede (por medio del comando AUDIT) indicar que sentencias, objetos o privilegios se van a auditar, como por ejemplo:
- AUDIT TABLE
- Auditoría de sentencias, hace un seguimiento de varias sentencias DDL independientemente de la tabla donde se emitan, se pueden seleccionar algunos usuarios o todos los usuarios
- AUDIT create ANY trigger
- Auditoría de privilegios ; algunos usuarios o todos los usuarios
- AUDIT select ON cuenta.saldo
- Auditoría de objetos del schema; todos los usuarios
Opciones:
* WHENEVER SUCCESSFUL / WHENEVER NOT SUCCESSFUL * BY SESSION / BY ACCESS
Desactivación de la Auditoría
editar- NOAUDIT se emplea para parar la auditoría seleccionada por AUDIT
- Debe tener la misma sintaxis que la sentencia AUDIT y sólo revierte los efectos de esa sentencia concreta, por ejemplo:
NOAUDIT select ON cuenta.saldo;
A partir de la versión 9.2 se puede auditar al usuario SYS para todos los comandos
Parámetros:
- AUDIT_SYS_OPERATIONS
- AUDIT_FILE_DEST