Publicado el 14 de Enero del 2017
1.313 visualizaciones desde el 14 de Enero del 2017
239,3 KB
3 paginas
Creado hace 7a (11/07/2016)
Activar auditoría de una base de datos - Seguridad - Orasite.com
Escrito por Administrator
Lunes, 20 de Diciembre de 2010 19:03 - Actualizado Lunes, 20 de Diciembre de 2010 19:12
1. Objetivos
Se pretende mediante un sencillo ejemplo práctico para ver cómo se puede auditar las
conexiónes
base de datos ORACLE o auditar los
intentos de modificación
a las tablas de un usuario.
a una
Teniendo en cuenta que el parámetro que habilita la posibilidad de auditar la base de datos
ORACLE en el init.ora es audit_trail que el comando sql que activa la auditoría sobre algo es
AUDIT ( para desactivar NOAUDIT ) y que la tabla para mirar ( usuario sys ) el seguimiento de
auditoría es
sencillo ejemplo.
dba_audit_trail vamos a realizar este
2. Activar la auditoria de intento de conexiones fallidas para todos los
usuarios.
Miramos que actualmente no está activada la auditoria en la base de datos.
SQL> select name , value from v$parameter where name like 'audit_trail';
audit_trail NONE
Activamos la auditoría de la base de datos
SQL> alter system set audit_trail = DB scope = spfile;
Reiniciamos la base de datos ( shutdown immediate, startup ) y comprobamos que la auditoría
se ha activado.
SQL> select name , value from v$parameter where name like 'audit_trail';
audit_trail DB
Activamos la auditoría para ver la conexión y desconexión de los usuarios a la base de datos,
se hace con la siguiente sentencia
SQL> audit connect;
1 / 3
Activar auditoría de una base de datos - Seguridad - Orasite.com
Escrito por Administrator
Lunes, 20 de Diciembre de 2010 19:03 - Actualizado Lunes, 20 de Diciembre de 2010 19:12
3. Visualizar las tablas de auditoría para comprobar que se insertan datos
cuando intentamos conectarnos sin lograrlo.
En el apartado anterior hemos activado la auditoría para ver como se conectan los usuarios a
la base de datos, vamos a realizar varias pruebas y mostrar dónde se puede comprobar que
los usuarios se han conectado a la base de datos.
Nos conectamos con varios usuarios a la base de datos ( en nuestro caso con system y el
usuario user9 que está creado )
SQL> connect user9/user9;
SQL> connect system/system;
Tras habernos conectado a la base de datos miramos la tabla dba_audit_trail para ver que
datos contiene.
SQL> select username , action_name , priv_used , returncode from dba_audit_trail ;
"SYSTEM" "LOGON" 1017
"SYSTEM" "LOGON" 1017
"USER9" "LOGON" 1017
"USER9" "LOGON" "CREATE SESSION" 0
"USER9" "LOGON" 1017
"USER9" "LOGON" 1017
Observarmos que en esta tabla se registran los intentos de conexión de los usuarios, por lo
tanto podemos saber quien se ha conectado a la base de datos
4. Activar la auditoria sobre la modificación de tablas del usuario Scott.
Ahora vamos a activar la auditoría sobre la modificación de las tablas sobre el usuario Scott, de
esta forma cualquier modificación realizada en una tabla que pertenezca a este usuario será
registrada en las tablas y podremos ver quien ha realizado esa modifiación.
SQL>audit insert,update on scott . bonus by access;
SQL>audit insert,update on scott . emp by access;
SQL>audit insert,update on scott .dept by access;
SQL>audit insert,update on scott . salgrade by access;
En este caso estamos auditando cada una de las tablas que pertenencen al usuario scott (
bonus, emp, dept, salgrade ) en caso de que alguien inserte algo en ellas o realice alguna
2 / 3
Activar auditoría de una base de datos - Seguridad - Orasite.com
Escrito por Administrator
Lunes, 20 de Diciembre de 2010 19:03 - Actualizado Lunes, 20 de Diciembre de 2010 19:12
actualización. ( si queremos auditar el borrado o la lectura de alguna fila, solo hay que añadir
los permisos de select y delete detrás del comando audit).Al ponerlo by access se guardará un
registro en la tabla de auditoría por cada intento de insert o update que se realice sobre cada
una de las tablas nombradas. ( exite también el registro by session, en el cual se registra por
sesión única el intento de insert o update sobre las tablas ).
Miramos la tabla user_obj_audit_opts ( con el usuario scott )
SQL>select * from user_obj_audit_opts;
"BONUS" "TABLE" "-/-" "-/-" "-/-" "-/-" "-/-" "-/-" "A/A" "-/-" "-/-" "-/-" "A/A" "-/-" "-/-" "-/-" "-/-" "-/-"
"DEPT" "TABLE" "-/-" "-/-" "-/-" "-/-" "-/-" "-/-" "A/A" "-/-" "-/-" "-/-" "A/A" "-/-" "-/-" "-/-" "-/-" "-/-"
"EMP" "TABLE" "-/-" "-/-" "-/-" "-/-" "-/-" "-/-" "A/A" "-/-" "-/-" "-/-" "A/A" "-/-" "-/-" "-/-" "-/-" "-/-"
"SALGRADE" "TABLE" "-/-" "-/-" "-/-" "-/-" "-/-" "-/-" "A/A" "-/-" "-/-" "-/-" "A/A" "-/-" "-/-" "-/-" "-/-"
"-/-"
Y observamos que es lo que estamos auditando del usuario scott, en este caso se vería que
eta activada para cada una de las tablas la auditoría para update e insert.
(A/A) --> activado / por acceso
La prueba que se puede realizar es conectarse con otro usuario que tenga permisos de insert y
update sobre estas tablas y realizar una serie de inserciones y actualizaciones en esas tablas.
En este caso suponemos que un usuario, user9 que tiene permisos de inserción y actualización
sobre las tablas del usuario scott ha realizado una serie de inserciones y actualizaciones sobre
estas tablas. La forma de ver si las ha realizado o no ( teniendo activada la auditoría es la
siguiente ).
SQL>select * from sys . dba_audit_trail where ( action_name = 'INSERT' ) or ( action_name =
'UPDATE' ) ;
"ERIN-0S2WXM4BDGErin" "USER9" "ERIN-0S2WXM4BDG" 19/04/2006 15:38:56 "SCOTT"
"BONUS" 2 "INSERT" 267 2 47 0
"ERIN-0S2WXM4BDGErin" "USER9" "ERIN-0S2WXM4BDG" 19/04/2006 15:39:09 "SCOTT"
"BONUS" 2 "INSERT" 267 3 50 0
"ERIN-0S2WXM4BDGErin" "USER9" "ERIN-0S2WXM4BDG" 19/04/2006 15:39:19 "SCOTT"
"BONUS" 6 "UPDATE" 267 4 55 0
Observamos que se han registrado los intentos de inserción y de modificación sobre la tabla
BONUS.
3 / 3
Comentarios de: Activar auditoría de una base de datos - Seguridad - Orasite.com (0)
No hay comentarios