Cómo habilitar la auditoría de SQL Server y revisar el registro de auditoría
Auditar Microsoft SQL Server es fundamental para identificar problemas y violaciones de seguridad. Además, auditar SQL Server es un requisito para cumplir con regulaciones como PCI DSS e HIPAA.
El primer paso es definir qué auditar. Por ejemplo, puede auditar los inicios de sesión de los usuarios, la configuración del servidor, los cambios de esquema y las modificaciones de datos de auditoría. A continuación, debe elegir qué funciones de auditoría de seguridad utilizar. Las características útiles incluyen las siguientes:
- Auditoría C2
- Criterios de cumplimiento comunes
- Auditoría de inicio de sesión
- Auditoría de servidor SQL
- Seguimiento SQL
- Eventos extendidos
- Cambiar captura de datos
- DML, DDL y activadores de inicio de sesión
Este artículo está dirigido a administradores de bases de datos (DBA) que desean utilizar la auditoría C2, los criterios de cumplimiento comunes y la auditoría de SQL Server. No analizaremos ninguna herramienta de auditoría de terceros, aunque pueden ser de gran ayuda, especialmente para entornos más grandes y en industrias reguladas.
Habilitar la auditoría C2 y el cumplimiento de criterios comunes
Si actualmente no está auditando su SQL Server, el lugar más fácil para comenzar es habilitando la auditoría C2. La auditoría C2 es un estándar aceptado internacionalmente que se puede activar en SQL Server. Audita eventos como inicios de sesión de usuarios, procedimientos almacenados y la creación y eliminación de objetos. Pero es todo o nada: no se puede elegir qué audita y puede generar una gran cantidad de datos. Además, la auditoría C2 está en modo de mantenimiento, por lo que probablemente se eliminará en una versión futura de SQL Server.
El Cumplimiento de Criterios Comunes es un estándar más nuevo que reemplaza a la auditoría C2. Fue desarrollado por la Unión Europea y se puede habilitar en las ediciones Enterprise y Datacenter de SQL Server 2008 R2 y posteriores. Pero puede causar problemas de rendimiento si su servidor no tiene las especificaciones suficientes para hacer frente a la sobrecarga adicional.
A continuación se explica cómo habilitar la auditoría C2 en SQL Server 2017:
1. Abra SQL Server Management Studio.
2. Conéctese al motor de base de datos para el que desea habilitar la auditoría C2. En el cuadro de diálogo Conectar al servidor, asegúrese de que Tipo de servidor esté configurado en Motor de base de datos y luego haga clic en Conectar.
3. En el panel Explorador de objetos a la izquierda, haga clic derecho en su instancia de SQL Server en la parte superior y seleccione Propiedades en el menú.
4. En la ventana Propiedades del servidor, haga clic en Seguridad en Seleccione una página.
5. En la página Seguridad, puede configurar el monitoreo de inicio de sesión. De forma predeterminada, sólo se registran los inicios de sesión fallidos. Alternativamente, puede auditar solo los inicios de sesión exitosos o tanto los inicios de sesión exitosos como los fallidos.
Figura 1. Configuración de la auditoría de acceso
6. Marque Habilitar seguimiento de auditoría C2 en Opciones.
7. Si desea habilitar la auditoría de cumplimiento de criterios comunes C2, marque Habilitar cumplimiento de criterios comunes.
El cumplimiento de criterios comunes (CC) es un estándar flexible que se puede implementar con diferentes niveles de garantía de evaluación (EAL), del 1 al 7. Los EAL más altos tienen un proceso de verificación más exigente. Cuando marca Habilitar el cumplimiento de criterios comunes en SQL Server, está habilitando el cumplimiento de CC EAL1. Es posible configurar SQL Server manualmente para EAL4+.
Habilitar el cumplimiento de CC cambia el comportamiento de SQL Server. Por ejemplo, los permisos DENY a nivel de tabla tendrán prioridad sobre los GRANT a nivel de columna, y se auditarán tanto los inicios de sesión exitosos como los fallidos. Además, está habilitada la Protección de información residual (RIP), que sobrescribe las asignaciones de memoria con un patrón de bits antes de que sean utilizadas por un nuevo recurso.
8. Haga clic en Aceptar.
9. Según las opciones seleccionadas, es posible que se le solicite que reinicie SQL Server. Si recibe este mensaje, haga clic en Aceptar en el cuadro de diálogo de advertencia. Si habilitó el cumplimiento de criterios comunes de C2, reinicie el servidor. De lo contrario, haga clic derecho en su instancia de SQL Server en el Explorador de objetos nuevamente y seleccione Reiniciar en el menú. En el cuadro de diálogo de advertencia, haga clic en Sí para confirmar que desea reiniciar SQL Server.
Habilitación de la auditoría de SQL Server
Se puede habilitar la auditoría de SQL Server en lugar de la auditoría C2; También puede optar por habilitar ambos. Los objetos de auditoría de SQL Server se pueden configurar para recopilar eventos en el nivel del servidor o en el nivel de la base de datos de SQL Server.
Crear objeto de auditoría del servidor
Creemos un objeto de auditoría de SQL Server a nivel de servidor:
1. En el panel Explorador de objetos de la izquierda, expanda Seguridad.
2. Haga clic derecho en Auditorías y seleccione Nueva auditoría... en el menú. Esto creará un nuevo objeto de auditoría de SQL Server para la auditoría a nivel de servidor.
3. En la ventana Crear auditoría, asigne un nombre a la configuración de auditoría en Nombre de auditoría.
4. Especifique qué debe suceder si la auditoría de SQL Server falla mediante Al fallar el registro de auditoría. Puede elegir Continuar o elegir apagar el servidor o detener las operaciones de la base de datos que se auditan. Si selecciona Operación fallida, las operaciones de la base de datos que no estén auditadas seguirán funcionando.
Figura 2. Creación de un objeto de auditoría de SQL Server a nivel de servidor
5. En el menú desplegable Destino de auditoría, puede elegir escribir el registro de auditoría SQL en un archivo o auditar eventos en el registro de seguridad de Windows o en el registro de eventos de la aplicación. Si elige un archivo, debe especificar una ruta para el archivo.
Tenga en cuenta que si desea escribir en el registro de eventos de seguridad de Windows, será necesario otorgar permiso a SQL Server. Para simplificar, seleccione el registro de eventos de la aplicación. Además, puede incluir un filtro como parte del objeto de auditoría para proporcionar un conjunto limitado de resultados; Los filtros deben escribirse en Transact-SQL (T-SQL).
6. Haga clic en Aceptar.
7. Ahora encontrará la nueva configuración de auditoría en el Explorador de objetos debajo de Auditorías. Haga clic derecho en la nueva configuración de auditoría y seleccione Habilitar auditoría en el menú.
8. Haga clic en Cerrar en el cuadro de diálogo Habilitar auditoría.
Crear objeto de auditoría de base de datos
Para crear un objeto de auditoría de SQL Server para la auditoría a nivel de base de datos, el proceso es un poco diferente y primero debe crear al menos un objeto de auditoría a nivel de servidor.
1. Expanda Bases de datos en el Explorador de objetos y expanda la base de datos en la que desea configurar la auditoría.
2. Expanda la carpeta Seguridad, haga clic derecho en Especificaciones de auditoría de base de datos y seleccione Nueva especificación de auditoría de base de datos… en el menú.
Figura 3. Creación de una especificación de auditoría de servidor para auditoría a nivel de base de datos
3. En la ventana Propiedades en Acciones, use los menús desplegables para configurar uno o más tipos de acciones de auditoría, seleccionando las declaraciones que desea auditar (como ELIMINAR o INSERTAR), la clase de objeto en la que se realiza la acción, etc. .
4. Cuando haya terminado, haga clic en Aceptar y luego habilite el objeto de auditoría haciendo clic derecho en él y seleccionando Habilitar especificación de auditoría de base de datos.
Ver registros de auditoría de SQL Server
C2 Audit Los registros de auditoría de SQL Server se almacenan en el directorio de datos predeterminado de la instancia de SQL Server. Cada archivo de registro puede tener un máximo de 200 megabytes. Se crea automáticamente un nuevo archivo cuando se alcanza el límite.
Una solución nativa recomendada para ver los registros de auditoría de SQL Server llamada Log File Viewer. Para usarlo, siga los siguientes pasos:
1. En SQL Server Management Studio, en el panel Explorador de objetos, expanda Seguridad y
2. Haga clic derecho en el objeto de auditoría que desea ver y seleccione Ver registros de auditoría en el menú.
3. En el Visor de archivos de registro, los registros se mostrarán en el lado derecho. Independientemente de si los registros se escriben en un archivo o en el registro de eventos de Windows, el Visor de archivos de registro mostrará los registros.
4. En la parte superior del Visor de archivos de registro, puede hacer clic en Filtro para personalizar qué entradas de registro se muestran. Los registros de archivos de SQL Server se guardan en formato .sqlaudit y no son legibles, por lo que Log File Explorer le permite hacer clic en Exportar para guardar registros en un formato de archivo .log delimitado por comas. .
Figura 4. Revisión del registro de auditoría de SQL Server en el Visor de archivos de registro



