AUDITORÍA DE BASE DE DATOS MICROSOFT SQL SERVER 2014 W ALTER JAVIER NAPÁN TARMEÑO Auditoría de Bases de Datos Temas: 1. 2. 3. 4. Introducción a la auditoría de SQL Server Herramientas de auditoría de SQL Server Implementación de objetos de auditoria Administración de la auditoría Auditoría de Bases de Datos Temas: 1. 2. 3. 4. Introducción a la auditoría de SQL Server Herramientas de auditoría de SQL Server Implementación de objetos de auditoria Administración de la auditoría 1 Introducción a la auditoría Auditoría = seguimiento y registro de los eventos que se producen en el sistema. SQL Server puede utilizar varios métodos de auditoría Típicamente a través de disparadores a nivel de tabla (triggers DML) a nivel de base de datos. A partir de SQL Server 2005 se cuenta con disparadores a nivel de servidor y base de datos (triggers DDL) A partir de SQL Server 2008 Enterprise, se puede configurar la auditoría automática mediante SQL Server Audit. Varias formas de llevar a cabo auditoría en SQL Server, • Dependiendo de los requisitos o estándares de cada instalación • Dependiendo de las políticas de seguridad y auditoria la empresa o institución Introducción a la auditoría ¿Por qué auditar? • Proteger los activos y recursos • Verificar las actividades que se desarrollan y si se desarrollan eficientemente y de acuerdo con las políticas existentes en cada empresa • Prevenir espionaje, delincuencia y terrorismo. • Prevenir resultados o información errónea, ya sea por Virus informáticos o por que fueron alimentados con datos erróneos. Auditoría de Bases de Datos Temas: 1. 2. 3. 4. Introducción a la auditoría de SQL Server Herramientas de auditoría de SQL Server Implementación de objetos de auditoria Administración de la auditoría 2 Herramientas de Auditoría en SQL Server Estándares de auditoría: • Modo de auditoría C2. • Modo de auditoría de criterio común. Auditoría de SQL Server Change data capture Disparadores o Triggers Otros: • SQL Server profiler. • SQL Trace. Auditoría de Bases de Datos Temas: 1. 2. 3. 4. Introducción a la auditoría de SQL Server Herramientas de auditoría de SQL Server Implementación de objetos de auditoria Administración de la auditoría 3 Implementación de Objetos de Auditoría Modo de auditoría C2 Trusted Computer System Evaluation Criteria (TCSEC) estándar del Departamento de Defensa del gobierno de los Estados Unidos de América Registra los intentos sin éxito como los intentos con éxito de accesos a instrucciones y objetos del servidor y base de datos por parte de los usuarios Permite seguimiento a las posibles infracciones de las políticas de seguridad de la empresa Los datos se guardan en un archivo en la carpeta de datos predeterminada de la instancia. NOTA: Tener en consideración que habilitar este modo de auditoría puede producir largos volúmenes de información Implementación de Objetos de Auditoría Activación del Modo de auditoría C2 sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'c2 audit mode', 1; GO RECONFIGURE; GO O mediante: Chek la opción Habilitar seguimiento de auditoria C2 en las propiedades de Seguridad de la instancia Implementación de Objetos de Auditoría Modo de auditoría de Criterio Común Estándar más actual y por lo general remplaza al modo de auditoría C2 Basado en el estándar internacional ISO/IEC 15408 conocido como Common Criteria for Information Technology Security Evaluation (abreviado como Common Criteria or CC) para certificación de seguridad para computadoras. Implementación de Objetos de Auditoría Criterios Descripción Protección de RIP requiere que una asignación de memoria se sobrescriba con un patrón de bits información residual conocido antes de que la memoria se reasigne a un nuevo recurso. Ajustarse al estándar (RIP) RIP puede contribuir a mejorar la seguridad; sin embargo, sobrescribir la asignación de memoria puede ralentizar el rendimiento. Una vez habilitada la opción common criteria compliance enabled, se produce la sobrescritura. La capacidad para ver Una vez habilitada la opción common criteria compliance enabled, se habilita la auditoría estadísticas de inicio de inicio de sesión. Cada vez que un usuario inicia sesión correctamente en SQL Server, de sesión se muestra la información acerca del último inicio de sesión correcto, el último inicio de sesión incorrecto y el número de intentos realizados entre la hora del último inicio de sesión correcto y la hora actual. La columna GRANT no Una vez habilitada la opción common criteria compliance enabled, una instrucción DENY debe invalidar la tabla de nivel de tabla tiene prioridad sobre una instrucción GRANT de nivel de columna. DENY Cuando no está habilitada la opción, una instrucción GRANT de columna tiene prioridad sobre una instrucción DENY de tabla. Implementación de Objetos de Auditoría Habilitar Modo de auditoría de Criterio Común sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'common criteria compliance enabled', 1; GO RECONFIGURE GO O Chek la opción Habilitar compatibilidad con Criterio común en las propiedades de Seguridad de la instancia. Implementación de Objetos de Auditoría Auditoría de SQL Server Introducida en la versión 2008 Operación completa en la edición Enterprise de SQL Server 2012 y con operación básica en otras ediciones de SQL Server 2012 Facilita seguimiento y registro de eventos que se producen mientras los usuarios operan el sistema creaciones de objetos, consultas a datos, cambios en la configuración, modificación de datos, etc. Componentes de Auditoría de SQL Server: • SQL Server Audit • Especificación de auditoría de servidor • Especificación de auditoría de base de datos Implementación de Objetos de Auditoría SQL Server Audit Define como se va a capturar los eventos de auditoría en el servidor. Varios objetos SQL Server Audit por instancia de SQL Server. Se especifica: • Un nombre • Donde se van a almacenar los resultados de la auditoría destino • El tiempo de procesamiento de la cola • La acción a tomar en caso de falla La auditoría se crea en un estado deshabilitado y no audita automáticamente ninguna acción. Una vez habilitada la auditoría, el destino de la auditoría recibe los datos de la misma Implementación de Objetos de Auditoría Especificación de auditoría de servidor Recopila las acciones de nivel de servidor que se desean auditar. Pertenece a un SQL Server Audit e incluye grupos de acciones de auditoría. Los grupos de acciones constituyen los eventos que tienen lugar en el servidor que se desean auditar. Estas acciones se envían al objeto SQL Server Audit, el cual los registra en el destino. Implementación de Objetos de Auditoría Especificación de auditoría de base de datos Similar a la especificación de auditoría de servidor, solo que captura los eventos a nivel de base de datos. Recopila las acciones de nivel de base de datos que se desean auditar. Pertenece a un SQL Server Audit e incluiye grupos de acciones de auditoría. Los grupos de acciones constituyen los eventos que tienen lugar en la base de datos y que se desean auditar. Estas acciones se envían al objeto SQL Server Audit, el cual los registra en el destino. NOTA: No es necesario crear especificaciones de auditoría a nivel de servidor y base de datos juntos. Se pueden crear cualquiera de ellas de manera independiente según lo que se requiera auditar. Implementación de Objetos de Auditoría Destino Cuando se configura el objeto SQL Server Audit, se debe definir un destino Especifica donde se va a guardar la información de auditoría. Un destino puede ser: • Un archivo, • el registro de eventos de seguridad de Windows • el registro de eventos de aplicación de Windows. NOTA: Estos registros se deben revisar y archivar periódicamente para garantizar que el destino tiene espacio suficiente para escribir registros adicionales. Demostración de Auditoría de SQL Server En esta demostración usted verá como se implementa la auditoría de SQL Server ESTANDARES DE AUDITORIA SQL AUDIT 1 2 3 4 ESPECIFICACIONES DE AUDITORIA (NIVEL DE SERVIDOR) 1 2 3 ESPECIFICACIONES DE AUDITORIA (NIVEL DE BASE DE DATOS) HABILITACIÓN DE AUDITORIA Habilita la Auditoría, en el Explorador de objetos, a nivel de la instancia, expanda Seguridad, haga clic derecho en la Auditoría llamada SQLAudit_Webinar y seleccione Habilitar Auditoría. La misma operación se realiza con la especificación de Auditoria de Servidor y Base de Datos REALIZANDO OPERACIONES AUDITABLES DESHABILITANDO LAS AUDITORÍAS De forma similar a la habilitación, se procederá a deshabilitar las auditorías, de modo tal que quedará como la imagen VISUALIZANDO LO AUDITADO Implementación de Objetos de Auditoría Change data capture Registra cambios realizados en una tabla por inserción, actualización o eliminación Los detalles se guardan en un formato relacional (tablas) de fácil uso para el usuario. Se crean tablas especiales y funciones con valores de tabla especiales para permitir el acceso a los datos modificados por los usuarios Implementación de Objetos de Auditoría TABLAS DE USUARIO TABLA1 TABLA2 INSERT UPDATE DELETE TABLA3 Tablas de usuario.- tabla o tablas de usuarios que se desean auditar Tablas de Cambio.- tablas que van a guardar la información del cambio TABLAS DE CAMBIOS TABLA1 TABLA2 TABLA3 FUNCION1 FUNCION2 FUNCION3 FUNCIONES DE CONSULTA PROCESO DE CAPTURA DE CAMBIOS Funciones de Consulta.- Se crean para facilitar la consulta de los cambios desde aplicaciones Para las tablas de cambio y funciones de consulta se crea un esquema especial llamado cdc Auditoría de Bases de Datos Temas: 1. 2. 3. 4. Introducción a la auditoría de SQL Server Herramientas de auditoría de SQL Server Implementación de objetos de auditoria Administración de la auditoría 4 Administración de la auditoría • Detener el modo de auditoría C2 sp_configure 'c2 audit mode', 0; GO RECONFIGURE; GO o retirar check en la opción Habilitar seguimiento de auditoria C2 en las propiedades de Seguridad de la instancia. • Detener el modo de auditoría de Criterio Común sp_configure 'common criteria compliance enabled', 0; GO RECONFIGURE GO o retirar el check la opción Habilitar compatibilidad con Criterio común en las propiedades de Seguridad de la instancia. Implementación de Objetos de Auditoría Deshabilitar la Auditoría de SQL Server USE [master] GO ALTER SERVER AUDIT [SQLAuditAW] WITH (STATE = OFF); GO ALTER SERVER AUDIT SPECIFICATION [AuditaLogins] WITH (STATE = OFF); GO USE [AdventureWorks2012] GO ALTER DATABASE AUDIT SPECIFICATION [AuditaPerson] WITH (STATE = ON); GO Q& A REFERENCIA: HTTPS://MSDN.MICROSOFT.COM/EN-US/CC280386.ASPX [email protected] @javiernt