AUDITORIA ORACLE 10G
carlosicc15 de Octubre de 2011
520 Palabras (3 Páginas)910 Visitas
La auditoría es una de las funciones del servidor de Oracle, con la finalidad de proporcionar la capacidad de rastrear el flujo de información dentro de una base de datos, incluidos los intentos de conexión, las sentencias DDL, y DML.
Tenemos la opción de seleccionar los acontecimientos que se desee monitorear, cabe recalcar que una serie de eventos en Oracle son auditados por defecto, por ejemplo: inicio, lugar de cierre, y los intentos de conexión a la base de datos con privilegios administrativos. Usted puede optar por especificar las opciones personalizadas de auditoría para controlar otros eventos.
Configuración de Auditoria:
Para la auditoria en Oracle 10g debemos tomar en cuenta ciertos parámetros, los cuales los podemos visualizar utilizando el comando show parameter audit, para lo cual debemos estar logeados con un usuario que tenga los suficientes privilegios, utilizamos el usuario sysdba.
Para habilitar la auditoría, se debe fijar el parámetro AUDIT_TRAIL que se encuentra en el fichero init.ora. Los registros de auditoría se almacenan en la tabla SYS.AUD$ o bien su gestión se deja al SO. Cuando se decide utilizar la tabla SYS.AUD$ esta debe revisarse periódicamente, por si hiciera falta truncarla debido a que su aumento de tamaño puede causar problemas de espacio en el tablespace system.
Haremos una descripción de cada parámetro que utiliza audit_trail:
AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }
• None: deshabilita la auditoria
• Db: habilita la auditoria, escribiendo en la tabla SYS.AUD$
• Os: habilita la auditoria, dejando al SO su gestión
• .db,extended – como db, pero el SQL_BIND y el SQL_TEXT tienen columnas llenas.
• xml- la auditoria esta activada, con todos los archivos de auditoría almacenados en formato xml en los archivos del SO.
• xml,extended - como xml, pero el SQL_BIND y el SQL_TEXT tiene columnas llenas.
En Oracle 10g Realease 1, db_extended se utiliza en lugar de db,extended. La opción XML es nueva en esta versión de Oracle 10g.
El parámetro estático AUDIT_SYS_OPERATIONS activa o desactiva la auditoría de las operaciones emitidos por los usuarios que se conectan con los privilegios de SYSDBA o SYSOPER, incluido el usuario SYS. Todos los registros de auditoría se escriben en el sistema operativo de auditoría.
El parámetro AUDIT_FILE_DEST especifica el directorio utilizado para la pista de auditoría cuando se active os y xml se utilicen estas opciones. También es la ubicación de auditoría obligatoria para todas las especificaciones para el parámetro AUDIT_SYS_OPERATIONS.
Para habilitar la auditoría directa y los registros de auditoría a la base de datos debemos hacer lo siguiente:
SQL> ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE;
SQL> SHUTDOWN
SQL> STARTUP
Para una mejor comprensión haremos el siguiente ejemplo primero creamos un nuevo usuario llamado AUDIT_TEST.
CONNECT sys/password AS SYSDBA
CREATE USER audit_test IDENTIFIED BY password
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users;
Le damos los respectivos privilegios al usuario:
GRANT connect TO audit_test;
GRANT create table, create procedure TO audit_test;
Estas son todas las operaciones de auditoría para el usuario audit_test, para lo cual utilizamos el comando AUDIT (activa la auditoría sobre algún objeto), en el caso que se desee desactivar la auditoria utilizamos NOAUDIT.
CONNECT sys/password AS SYSDBA
AUDIT ALL BY audit_test BY ACCESS;
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY audit_test BY ACCESS;
AUDIT EXECUTE PROCEDURE BY audit_test
...