Oracle - Deshabilitar tablas auditoria

 
Vista:

Deshabilitar tablas auditoria

Publicado por Julio (4 intervenciones) el 26/02/2007 14:29:47
Hola a todos, tengo una duda, activamos las tablas de auditoria para las sessiones y las operaciones que se hagan con los procedimientos y funciones de un esquema, así como en las tablas, pero resulta que se hace muy pesada porque la vista sys.aud$ tiene muchos registros.

Alguien podría decirme como desactivar TODAS las opciones de auditoria en la base de datos?

Es oracle 9i

De antemano, gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Deshabilitar tablas auditoria

Publicado por daniel (4 intervenciones) el 10/05/2007 17:45:37
El SGBD Oracle tienen la capacidad de auditar todas las acciones que tienen lugar en la BD. Se pueden auditar tres tipos de acciones:

intentos de entrada en cuentas de la BD.
accesos a los objetos de la BD.
acciones sobre la BD.
La BD registra todos los intentos de acción, tanto los exitosos como los infructuosos, aunque es un parámetro configurable.

Para habilitar la capacidad de auditoría, se debe fijar el parámetro AUDIT_TRAIL 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. Los valores del parámetro AUDIT_TRAIL son los que se exponen en la siguiente tabla:

Valor Descripción
NONE Deshabilita la auditoría
BD Habilita la auditoría, escribiendo en la tabla SYS.AUD$.
OS Habilita la auditoría, dejando al SO su gestión.

4.1 Auditando Conexiones
Todo intento de conexión con la BD será registrado. El comando para iniciar la auditoría es

SVRMGR> audit session;

Para determinar si se deben registrar sólo los éxitos, o sólo los fracasos se pueden utilizar los siguientes comandos:

SVRMGR> audit session whenever successful;
SVRMGR> audit session whenever not successful;

Si los registros de auditoría se almacenan en la tabla SYS.AUD$, entonces pueden verse a través de la vista DBA_AUDIT_SESSION.

select
os_username, /* nombre de usuario SO */
username, /* nombre de usuario BD */
terminal,
decode(returncode,'0','Conectado',
'1005','Solo username, sin password',
'1017','Password incorrecto',
returncode), /* comprobacion de error */
to_char(timestamp,'DD-MON-YY HH24:MI:SS'), /* hora de entrada */
to_char(logoff_time,'DD-MON-YY HH24:MI:SS') /* hora de salida */
from dba_audit_session;

Para deshabilitar la auditoria de las conexiones basta con ejecutar la siguiente sentencia:

SVRMGR> noaudit session;

4.2 Auditando Acciones
Se puede auditar cualquier acción que afecte a cualquier objeto de la BD. Para facilitar la gestión, las acciones a auditar se encuentran agrupadas según los grupos que se muestran en la siguiente tabla:

Grupo Comandos Auditados
CLUSTER Todas las sentencias que afecten a clusters.
DATABASE LINK Todas las sentencias que afecten a enlaces de BD.
EXISTS Todas las sentencias que fallen porque ya existe un objeto en la BD.
INDEX Todas las sentencias que afecten a índices.
NOT EXISTS Todas las sentencias que fallen porque un determinado objeto no existe.
PROCEDURE Todas las sentencias que afecten a procedimientos.
PROFILE Todas las sentencias que afecten a perfiles.
PUBLIC DATABASE LINK Todas las sentencias que afecten a enlaces públicos de BD.
PUBLIC SINONYM Todas las sentencias que afecten a sinónimos públicos.
ROLE Todas las sentencias que afecten a roles.
ROLLBACK SEGMENT Todas las sentencias que afecten a segmentos de rollback.
SEQUENCE Todas las sentencias que afecten a secuencias.
SESSION Todas las sentencias de acceso a la BD.
SYNONYM Todas las sentencias que afecten a sinónimos.
SYSTEM AUDIT Todas las sentencias AUDIT y NOAUDIT.
SYSTEM GRANT Todas las sentencias afecten a privilegios.
TABLE Todas las sentencias que afecten a tablas.
TABLESPACE Todas las sentencias que afecten a espacios de tablas.
TRIGGER Todas las sentencias que afecten a disparadores.
USER Todas las sentencias que afecten a las cuentas de usuarios.
VIEW Todas las sentencias que afecten a vistas.

Por ejemplo, para auditar todas acciones que tienen que ver con las tablas sirve el siguiente comando:

SVRMGR> audit table;

Y para deshabilitar la auditoría se utilizará el siguiente comando:

SVRMGR> noaudit table;

También se puede afinar un poco más en la auditoría fijando un usuario concreto al que seguir la pista:

SVRMGR> audit table by perez;

Cada acción auditada recibe un código numérico al que se puede acceder a través de la vista AUDIT_ACTIONS. Una vez que conocemos el código de la acción, podemos utilizarlo para determinar como dicha acción ha afectado a un objeto, consultado la vista DBA_AUDIT_OBJECT.

4.3 Auditando Objetos
Además de la auditoría de acciones sobre los objetos, se puede seguir el rastro a las operaciones de manipulación de tablas: SELECT, INSERT, UPDATE y DELETE. Estas auditorías se pueden hacer por sesión o por acceso.

Un ejemplo de sentencias de auditorías sobre objetos se puede ver en el siguiente grupo de sentencias:

SVRMGR> audit insert on perez.emp;
SVRMGR> audit all on perez.emp by session;
SVRMGR> audit delete on perez.emp by access;

Los registros de auditoría se pueden ver en la misma vista DBA_AUDIT_OBJECT anteriormente mencionada.

4.4 Protegiendo los Registros de Auditoría
Los registros de la tabla SYS.AUD$ pueden ser objeto de intentos de acceso para ser eliminados ya que pueden reflejar acciones no autorizadas en la BD. Así, resulta interesante reflejar ese tipo de acciones. Esto se consigue con el siguiente comando:

SVRMGR> audit all on sys.aud$ by access;

De este modo cualquier acción contra la tabla SYS.AUD$ quedará registrado. Además, las acciones contra la tabla SYS.AUD$ sólo pueden ser borradas por los usuarios que puedan conectarse como INTERNAL.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lockeo de usuario en Oracle

Publicado por Gonzalo Teggi (1 intervención) el 06/02/2008 20:10:01
Buenas tardes, el motivo de mi consulta, es porque necesito habilitar en una base de datos oracle 9i los intentos de accesos incorecctos de los usuarios y los lockeos de cuentas por intentos fallidos de conexión.

También necesito saber en que tabla se guardan todos los seteos. Sé que en la SYS.AUD$ queda registrado practicamente todo, pero necesito saber como habilito más opciones de auditoria

Desde ya muchas gracias y aguardo sus respuesta
Slds
Gonzalo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar