Control de acceso por IP en Oracle
y Archivelog como recurso de
auditoría
Fred Pinto Ph. D.
Asesoftware Ltda
[email protected]
Introducción
• Oracle provee mecanismos para hacer
auditoría, pero de poco sirven si no se
activan.
– Que hacer si olvido implementar mecanismos
de auditoría y me enfrento a un fraude?
Introducción
• En la edición estandar de Oracle el control
de acceso depende primordialmente de un
nombre y una palabra clave para ingresar a
la base de datos.
– Que hacer si se requieren mecanismos un poco
mas estrictos y no existe mucho presupuesto?
Caso de hurto con suplantación
– Los nombres han sido cambiados y la historia
ligeramente alterada para proteger la privacidad
de nuestros clientes.
Caso de hurto con suplantación
• Escenario:
– Transacciones ABC es una entidad
financiera, con oficinas en diferentes
ciudades del pais y algunos aliados en el
exterior.
– Carencia de mecanismos sofisticados de
seguridad. Transacciones ABC es una
entidad relativamente pequeña con
desarrrollos de SW propios.
Caso de hurto con suplantación
• Escenario:
– Base de datos Oracle 8i, Edición Estandar.
– Personal de sistemas con privilegios sobre
principales tablas de la BD relacionadas con
información de transacciones. Esto permite
que se haga diagnóstico y corrección en
caliente sobre problemas con la operación.
Caso de hurto con suplantación
• Escenario:
– Descuido del personal de sistemas en cuanto
a mantener palabras claves en secreto. En
Transacciones ABC existe un clima de
camaradería y de mutua confianza entre los
compañeros de trabajo.
Caso de hurto con suplantación
• El hurto:
– Carlos Rodriguez deposita $9000000 en la
oficina de un aliado de Transacciones ABC en
Caracas para ser entregados a su esposa Martha
Rodriguez en Bogota.
– En la base de datos de Transacciones ABC se
registra fecha y hora de la transacción, datos del
destinatario como nombre, cédula, telefono.
Caso de hurto con suplantación
• El hurto:
– Tres dias despues, Martha Rodriguez se
presenta en las oficinas de Transacciones ABC
en Bogotá a reclamar su dinero. Le informan
que el dinero fue retirado en la Oficina de
Transacciones ABC en Barranquilla.
Caso de hurto con suplantación
• Inicio de la investigación
– Se estableció que el retiro se hizo con una
cedula falsa.
– No se encontró información en la Base de datos
que permitiera identificar los responsables.
– Los mecanismos de auditoría brillaban por su
ausencia.
– Fue necesario recurrir a asesoría externa.
Caso de hurto con suplantación
• La investigación
– Se hizo uso del Archivelog de Oracle para
encontrar evidencia
Caso de hurto con suplantación
• La post-investigación
– A raiz del hurto se implementaron mecanismos
de auditoría en la BD
– Se definieron políticas estrictas sobre
administración de claves
– Se implementaron mecanismos para controlar
el acceso a la BD por direcciones IP.
La investigación-Opciones de
Auditoría
• Opciones para hacer auditoría en Oracle
– Auditoría de Oracle: quien, cuando, donde,
pero omite el qué.
– Disparadores: se puede almacenar lo que se
quiera, pero abusar de ellos puede comprometer
el desempeño.
• Se puede olvidar auditar algo
La investigación-Log Miner
• Redo/Archivelog
– Registro de todas las actualizaciones de datos.
– Las actualizaciones a tablas de la base de datos
se registran primero en los archivos de REDO
– Se crean copias de los archivos de REDO que
se denominan copias de ARCHIVE o
Archivelog.
La investigación-Log Miner
• Redo/Archivelog
– Hasta Oracle 7 la información binaria del
Archive no se podia consultar, por lo menos
con herramientas nativas de Oracle.
– Desde Oracle 8, la herramienta log-miner de
Oracle permite consultar el archivelog.
– El archivelog se usa principalmente para
recuperación de la BD en caso de fallas.
La investigación-Log Miner
• Log-Miner
– Extrae informacion del archive log y permite
manipularla como una tabla mas de la base de
datos.
• La información mostrada en la tabla de log-miner
incluye: transacción, usuario, hora, máquina, dato
anterior, dato posterior.
La investigación-El ladrón
• Log-Miner reveló lo siguiente
– Dos dias despues de hecho el depósito, en dos
oportunidades se modifico la ciudad de destino
del dinero. En ambos casos la persona se
arrepintio y deshizo las transacciónes.
– Al tercer día en horas de la mañana se repitio la
operación y se confirmó.
La investigación-El ladrón
• Log-Miner reveló lo siguiente
– Todas las transacciones se hicieron accediendo
a la base de datos como Juan Perez pero desde
la máquina de Pedro Maloso.
La investigación-El ladrón
• Otros hechos investigados posteriormente.
– Juan Perez pertenecía al dpto de sistemas y
tenia privilegios sobre la BD pero se encontraba
en vacaciones.
– Pedro Maloso era compañero de Juan Perez,
tenia un buen conocimiento sobre la base de
datos, algunos conocimientos técnicos y vio a
su compañero digitar la clave en alguna
oportunidad. Trabajaba en otra dependencia.
La investigación-El ladrón
• Otros hechos investigados posteriormente.
– El registro de llamadas telefonicas de larga
distancia mostró varias llamadas a Barranquilla
sincronizadas con los cambios en la BD y desde
un telefono de un escritorio vecino a Pedro
Maloso.
Diagnóstico
– Falta de logs de auditoría a nivel de la
aplicación.
– Descuido en el manejo de palabras clave.
– Posibilidad de suplantar un usuario de la BD
desde cualquier máquina.
Correctivos
• Se implementarón logs de auditoría para las
tablas mas sensible de la BD utilizando
triggers.
• Se implementarón políticas sobre
administración de claves mas estrictas.
• Se vio la necesidad de restringir el acceso a
la base de datos de cada empleado a su sitio
de trabajo.
Control de acceso por IP en
Oracle
• Oracle edición estandar no incluye
mecanismos para control de acceso según
direcciones IP.
• En Oracle 8i se introducen triggers del
sistema.
Control de acceso por IP en
Oracle
• Triggers de la BD
– Triggers de tablas: asociados a inserciones,
borrados o modificaciones de tablas o vistas de
la base de datos.
– Triggers del sistema:
Control de acceso por IP en
Oracle
• Triggers logon
– Se disparan al inician una conección. En casp
de falla se aborta el inicio de la sesión, a no ser
que el usuario sea un DBA.
Control de acceso por IP en
Oracle
• Requerimientos
– Restringir el acceso de los usuarios a la base de
datos dependiendo de los siguientes factores:
• Identificacion de usario en la BD.
• Maquinas y/o grupos de máquinas autorizadas.
• Restricción de rangos de horas para acceder a la
base de datos.
Control de acceso por IP en
Oracle
• Requerimientos
– Restringir el acceso de los usuarios a la base de
datos dependiendo de los siguientes factores:
• Restringir por tipos de días: habiles, festivos en
colombia
• Todo lo anterior debe ser completamente
parametrizable.
• La solución no debe ser muy costosa y debe hacer
uso del motor.
Control de acceso por IP en
Oracle
• Ingredientes del modelo de datos:
–
–
–
–
Usuarios
Maquinas grupos de máquinas
Tipos de día
Pertenencia de maquinas a grupos: relaciona
máquinas y grupos
– Permisos: relaciona un usario con un grupo de
maquinas, y unos rangos de horas autorizados
en un tipo de día.,
Control de acceso por IP
• Niveles de acceso
– Temporal
• Cualquier momento
• Rangos de horas en tipos de día autorizados
Control de acceso por IP
• Niveles de acceso
– Espacial
• Cualquier máquina en la red
• Cualquier máquina registrada
• Solo maquinas esplicitamente autorizadas
Fin de la historia
• Pedro Maloso fue denuniciado ante las
autoridades competentes.
• Transacciones ABC ha hecho un esfuerzo
por reforzar la seguridad:
– Auditoria a nivel de la BD y restricción de
privilegios.
– Políticas estrictas para manejo de claves
– Restricción de acceso a la BD con restricciones
por direcciones IP y horarios.
Conclusiones
• Log miner es un recurso a tener en cuenta al
ejecutar labores de auditoría, en especial
cuando los demas mecanismos han fallado.
• Los triggers de Oracle permiten tambien
restringir el acceso a la base de datos
agregando restricciones en tiempo y
espacio.
Control de acceso por IP en Oracle
y Archivelog como recurso de
auditoría
Fred Pinto Ph. D.
Asesoftware Ltda
[email protected]
Descargar

Seguridad IP en Oracle y Archivelog como herramienta de