Fecha:
Contenido
31-05-2013 2
¿Qué es Auditoria?
¿Qué es Auditoria de Base de Datos?
Objetivos Generales
Importancia
Aspectos Claves
Metodologías
Auditoria y Control Interno de un entorno de Base de Datos
Auditoria para ORACLE
Auditoria para SQL Server
Conclusiones
Fecha:
¿Qué es auditoria?
31-05-2013 5
Examen organizado de una situación relativa a un producto, proceso u organización, en materia de calidad, realizado en cooperación con los interesados para verificar la concordancia de la realidad con lo preestablecido y la adecuación al objetivo buscado.
Actividad para determinar, por medio de la investigación, la adecuación de los procedimientos establecidos, instrucciones, especificaciones, codificaciones y estándares u otros requisitos, la afección a los mismos y la eficiencia de su implementación.
Gestión del conocimiento Caso: Auditoria de Procesos Ortiz Cuellar, Ana Karina
http://biblioteca2.ucab.edu.ve/anexos/biblioteca/marc/texto/AAQ5510.pdf
Fecha:
¿Qué es auditoria de base de datos (BD)?
31-05-2013 6
Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar los accesos a la información almacenada en las bases de datos incluyendo la capacidad de determinar:
Quién accede a los datos
Cuándo se accedió a los datos
Desde qué tipo de dispositivo/aplicación
Desde que ubicación en la Red
Cuál fue la sentencia SQL ejecutada
Cuál fue el efecto del acceso a la base de datos
Fecha:
Objetivos generales de la auditoria de BD
31-05-2013 7
Mitigar los riesgos asociados con el manejo inadecuado de los datos
Apoyar el cumplimiento regulatorio
Satisfacer los requerimientos de los auditores
Evitar acciones criminales
Evitar multas por incumplimiento
Definición de estructuras físicas y lógicas de las bases de datos
Control de carga y mantenimiento de las bases de datos
Integridad de los datos y protección de accesos
Estándares para análisis y programación en el uso de bases de datos
Procedimientos de respaldo y de recuperación de datos
Evaluando
Fecha:
Importancia de la Auditoria de BD
31-05-2013 8
Toda la información de la organización reside en bases de datos y deben existir controles relacionados con el acceso a las mismas.
Se debe poder demostrar la integridad de la información almacenada en las bases de datos.
Las organizaciones deben mitigar los riesgos asociados a la pérdida de datos y a la fuga de información.
La información confidencial esresponsabilidad de las organizaciones.
Los datos convertidos en información a través de bases de datos y procesos de negocios representan el negocio.
Las organizaciones deben tomar medidas mucho más allá de asegurar sus datos.
Deben monitorearse perfectamente a fin de conocer quién o qué les hizo exactamente qué, cuándo y cómo.
Fecha:
Aspectos claves
31-05-2013 9
No se debe comprometer el desempeño de las bases de datos
Soportar diferentes esquemas de auditoría
Se debe tomar en cuenta el tamaño de las bases de datos a auditar
Segregación de funciones
El sistema de auditoría de base de datos no puede ser administrado por los DBA del área de TI
Proveer valor a la operación del negocio
Información para auditoría y seguridad
Información para apoyar la toma de decisiones de la organización
Información para mejorar el desempeño de la organización
Auditoría completa y extensiva
Cubrir gran cantidad de manejadores de bases de datos
Estandarizar los reportes y reglas de auditoría
Fecha:
Metodologías para la auditoria de bd
31-05-2013 10
Metodología Tradicional
En este tipo de metodología el auditor revisa el entorno
con la ayuda de una lista de control (checklist), que
consta de una serie de puntos a verificar. Por ejemplo:
SI NO N/A 1. ¿Existe una metodología de Diseño de Base de Datos? 2. ¿Existen logs que permitan tener pistas sobre las acciones realizadas sobre los objetos de las bases de datos? 3. Se han configurados los logs para almacenar la información relevante? . . . .
NOTA: Debiendo registrar el auditor el resultado de su investigación
Fecha:
Metodologías para la auditoria de bd
31-05-2013 11
Metodología de Evaluación de Riesgos Este tipo de metodología, conocida también por Risk Oriented Approach(*)
(Enfoque Orientada a Riesgo) es la que propone la ISACA y fija los
objetivos de control que minimizan los riesgos potenciales a los que está
sometido el entorno.
Considerando los riesgos de: Dependencia por la concentración de Datos
Accesos no restringidos en la figura del DBA
Incompatibilidades entre el sistema de seguridad de accesos del SGBD y el general de instalación
Impactos de los errores en Datos y programas
Rupturas de enlaces o cadenas por fallos del software
Impactos por accesos no autorizados
Dependencias de las personas con alto conocimiento técnico
(*) Diseñada por Arthur Andersen ISACA: Information Systems Audit and Control Association
Fecha:
Auditoria y Control Interno de un entorno de
Base de Datos
31-05-2013 12
Cuando el auditor se encuentra con el
sistema en Producción tendrá que
estudiar el SGBD y su entorno; como
Control, Integridad y Seguridad de los
Datos compartidos entre usuarios.
La complejidad del entorno de las Bases
de Datos hacen que no se pueda limitar
solo al SGBD.
case
Repositorio
FACILIDADES
DEL
USUARIO
DICCIONARIO
DE DATOS
L4G INDEP.
PAQUETES
SEGURIDAD
CONFIDEN.
PRIVACIDAD AUDITORIA
L4G SEGURIDAD
RECUPER.
CATALOGO NUCLEO
SOFTWARE
AUDITORIA
SISTEMA
MONITOR/
AJUSTE
SO APLICACION
ES MONITOR
TRANSAC.
MINERIA DE
DATOS
PROTOCOLO
S Y SIST.
DISTRIBUIDO
S
AUDITOR INFORMATICO
SGBD UTILIDADES DEL DBA
ENTORNO DE BASE DE DATOS
Fecha:
Auditoria para Oracle
31-05-2013 13
Conjunto de características que permite al DBA y a los usuarios hacer un seguimiento del uso de la base de datos.
La información de las auditorías se almacena en el diccionario de datos, en la tabla SYS.AUD$ o en la pista de auditoría del sistema operativo (si lo permite). Lo anterior viene definido en el parámetro audit_trail.
Se pueden auditar tres tipos de acciones:
Intentos de inicio de sesión
Accesos a objetos
Acciones de la base de datos.
• En Oracle 9i la auditoría viene desactivada por defecto, el valor del parámetro "audit_trail" está a "NONE"
• En Oracle 11g la auditoría viene activada por defecto, el valor del parámetro "audit_trail" está a "DB"
Fecha:
Auditoria para Oracle
31-05-2013 14
Oracle Database 11g
Vistas de la table SYS.AUD$
ALL_AUDIT_POLICIES KU$_AUDIT_DEFAULT_VIEW
ALL_AUDIT_POLICY_COLUMNS KU$_AUDIT_OBJ_BASE_VIEW
ALL_DEF_AUDIT_OPTS KU$_AUDIT_OBJ_VIEW
ALL_REPAUDIT_ATTRIBUTE KU$_AUDIT_VIEW
ALL_REPAUDIT_COLUMN KU$_PROC_AUDIT_VIEW
APEX_DEVELOPER_AUDIT_LOG KU$_PROCDEPOBJ_AUDIT_VIEW
DBA_AUDIT_EXISTS KU$_PROCOBJ_AUDIT_VIEW
DBA_AUDIT_OBJECT KU$_10_1_AUDIT_VIEW
DBA_AUDIT_POLICIES MGMT$AUDIT_LOG
DBA_AUDIT_POLICY_COLUMNS MGMT$ESA_AUDIT_SYSTEM_REPORT
DBA_AUDIT_SESSION SM$AUDIT_CONFIG
DBA_AUDIT_STATEMENT USER_AUDIT_OBJECT
DBA_AUDIT_TRAIL USER_AUDIT_POLICIES
DBA_COMMON_AUDIT_TRAIL USER_AUDIT_POLICY_COLUMNS
DBA_FGA_AUDIT_TRAIL USER_AUDIT_SESSION
DBA_OBJ_AUDIT_OPTS USER_AUDIT_STATEMENT
DBA_PRIV_AUDIT_OPTS USER_AUDIT_TRAIL
DBA_REPAUDIT_ATTRIBUTE USER_OBJ_AUDIT_OPTS
DBA_REPAUDIT_COLUMN USER_REPAUDIT_ATTRIBUTE
DBA_STMT_AUDIT_OPTS USER_REPAUDIT_COLUMN
GV_$XML_AUDIT_TRAIL V_$XML_AUDIT_TRAIL
SELECT view_name
FROM dba_views
WHERE view_name LIKE '%AUDIT%'
ORDER BY view_name
Fecha:
Auditoria para Oracle
31-05-2013 16
AUDIT TRAIL
Oracle Database 11g
AUDIT_TRAIL
select name, value from v$parameter where name like 'audit_trail'
NONE: desactiva la auditoría de la base de datos.
OS: activa , los eventos auditados se guardan en la pista de auditoría del SO(dependiendo del SO) DB: activa y los datos se almacenarán en la taba SYS.AUD$ de Oracle. DB, EXTENDED: activa y además se escribirán los valores correspondientes en las columnas SQLBIND y SQLTEXT de la tabla SYS.AUD$. XML: activa los eventos son escritos en archivos XML del SO. XML, EXTENDED: activa y además se incluyen los valores de SqlText y SqlBind.
► ACTIVAR:
ALTER SYSTEM SET audit_trail = "DB" SCOPE=SPFILE;
► DESACTIVAR
ALTER SYSTEM SET audit_trail = "NONE" SCOPE=SPFILE;
Fecha:
Auditoria para Oracle
31-05-2013 17
AUDIT Y NOAUDIT
Oracle Database 11g
► Auditoria de sesión
► Audit/noaudit session;
► Audit/noaudit session whenever not successful;
► Auditoria de acción
► Audit/noaudit role;
► Auditoria de Objeto
► Audit/noaudit update table by nombre_usuario;
► Audit/noaudit insert on FACTURACION by access;
AUDIT
{ sql_statement_clause | schema_object_clause |
NETWORK }
[ BY { SESSION | ACCESS } ]
[ WHENEVER [ NOT ] SUCCESSFUL ] ;
NOAUDIT
{ sql_statement_clause | schema_object_clause |
NETWORK}
[ WHENEVER [ NOT ] SUCCESSFUL ] ;
Privilegio de sistema AUDIT SYSTEM
Fecha:
Auditoria para Oracle
31-05-2013 18
Ejemplo
Oracle Database 11g
► audit session by alonso;
► audit all on facturas by access;
ACCESOS DEL USUARIO
► select OS_Username Usuario_SO,
Username Usuario_Oracle, Terminal ID_Terminal,DECODE (Returncode, '0', 'Conectado', '1005', 'Fallo - Null', 1017, 'Fallo', Returncode) Tipo_Suceso,TO_CHAR(Timestamp, 'DD-MM-YY HH24:MI:SS') ora_Inicio_Sesion,
TO_CHAR(Logoff_Time, 'DD-MM-YY HH24:MI:SS') Hora_Fin_Sesion
► from DBA_AUDIT_SESSION
► where Username="ALONSO";
Usuario ALONSO
Tabla FACTURA (codigo number primary key,
fecha date default sysdate);
Privilegio de sistema AUDIT SYSTEM
► insert into facturas (codigo) values (1);
► insert into facturas (codigo) values (2);
► insert into facturas (codigo) values (3);
► select * from facturas;
► delete facturas where codigo=2;
► update facturas set codigo=33 where codigo=2;
Fecha:
Auditoria para SQL Server
31-05-2013 20
Implica el seguimiento y registro de los eventos que se producen en Motor
de la BD.
Especificaciones de auditoría de servidor para los eventos de servidor
Especificaciones de auditoría de base de datos para los eventos de base
de datos (limitada a las ediciones Enterprise, Developer y Evaluation)
SQL Server Audit proporciona las herramientas y los procesos
necesarios para habilitar, almacenar y ver auditorías en varios objetos de
servidor y de base de datos.
Los inicios de sesión de SQL Server que tengan el permiso CONTROL
SERVER pueden utilizar el Motor de base de datos para tener acceso a
los archivos de auditoría
SQL Server 2012
Fecha:
Auditoria para SQL-server
31-05-2013 21
Proceso general de creación y uso de una auditoría
Crear una auditoría y definir su destino
Crear una especificación de auditoría de servidor o una
especificación de auditoría de base de datos
Habilitar la auditoría
Leer los eventos de auditoría mediante el Visor de eventos o
el Visor de archivos de registro de Windows, o la función
fn_get_audit_file
Fecha:
Auditoria para SQL-server
31-05-2013 22
Funciones y vistas dinámicas Descripción
sys.dm_audit_actions Devuelve una fila por cada acción de auditoría sobre la que se puede guardar información en el registro de auditoría y por cada grupo de acciones de auditoría que se puede configurar como parte de SQL Server Audit.
sys.dm_server_audit_status Proporciona información sobre el estado actual de la auditoría.
sys.dm_audit_class_type_map Devuelve una tabla que asigna el campo class_type del registro de auditoría al campo class_desc de sys.dm_audit_actions.
fn_get_audit_file Devuelve información de un archivo de auditoría creado por una auditoría de servidor.
Fecha:
Auditoria para SQL-server
31-05-2013 23
Vistas de catálogo Descripción
sys.database_audit_specifications Contiene información sobre las especificaciones de auditoría de base de datos en una auditoría de SQL Server de una instancia del servidor.
sys.database_audit_specification_details Contiene información sobre las especificaciones de auditoría de base de datos en una auditoría de SQL Server de una instancia de servidor para todas las bases de datos.
sys.server_audits Contiene una fila para cada auditoría de SQL Server de una instancia de servidor.
sys.server_audit_specifications Contiene información sobre las especificaciones de auditoría de servidor en una auditoría de SQL Server de una instancia del servidor.
sys.server_audit_specifications_details Contiene información sobre los detalles de las especificaciones de auditoría de servidor (acciones) en una auditoría de SQL Server de una instancia de servidor.
sys.server_file_audits Contiene información adicional sobre el tipo de auditoría de archivos en una auditoría de SQL Server de una instancia de servidor.
Fecha:
Auditoria para SQL-server
31-05-2013 24
Permisos
Para poder ver las vistas de catálogo se debe cumplir una
de las condiciones siguientes: Pertenecer al rol sysadmin
El permiso CONTROL SERVER
El permiso VIEW SERVER STATE
El permiso ALTER ANY AUDIT
El permiso VIEW AUDIT STATE (solo da el acceso principal a la vista de catálogo sys.server_audits)
Fecha:
conclusiones
31-05-2013 25
La gran difusión de los Sistemas de Gestión de Bases de datos (SGBD) junto con la relación de los datos como uno de los recursos fundamentales de las empresas, ha hecho que los temas relacionados a su control interno y auditoria cobren cada día mayor interés
Demostrar la integridad de la información, mitigar los riesgos asociados, asegurar la confidencial de la información, garantizar la seguridad de los datos y conocer quién o qué les hizo exactamente qué, cuándo y cómo a los datos, conforman la idea principal de la Auditoria.
Estudiar el SGBD y su entorno es primordial al implementar un ambiente de auditoria de BD
Oracle Audit Vault y SQL Server Audit son algunos de los productos que nos ofrecen el mercado para los auditores de BD