Cómo asegurar una auditoría continua de SQL Server con cero pérdidas de datos

Un enfoque de auditoría continua de SQL Server debe incluir:

  1. Auditoría continua
  2. Recolección de datos en tiempo real
  3. Habilidad de generar reportes significativos
  4. Alertas de actividades no deseadas
  5. Un almacenaje a prueba de modificaciones no deseadas de la auditoría de datos

En muchos casos, el requerimiento primario que debe cumplirse es que la auditoría se debe realizar con cero pérdidas de datos de auditoría..

Y es aquí donde soluciones de terceros como ApexSQL Audit pueden ayudar.

ApexSQL Audit

ApexSQL Audit es una  herramienta de auditoría y cumplimiento de normas para SQL Server, la cual audita más de 200 eventos SQL Server y almacena los datos recolectados en una base de datos repositorio central a prueba de modificaciones. La información capturada está disponible a través de un rango de reportes integrados con un diseñador adicional de reportes personalizados para cumplir con los requerimientos del usuario. La herramienta permita auditorías a nivel de empresa y cumplimiento con un cliente particular, mientras que reduce los riesgos con alertas en tiempo real.

ApexSQL Audit está diseñado para cumplir los requerimientos para una auditoría continua en SQL Server. La aplicación está cuidadosamente diseñada para prevenir cualquier pérdida de datos auditados incluso en situaciones de fallas de hardware o software. ApexSQL Audit está diseñado para asegurar la máxima continuidad del flujo de datos auditados incluso en casos de fallas de la red o la base de datos.

Componentes de sistema y descripciones de ApexSQL Audit

El sistema de ApexSQL Audit incluye una instancia central que instala en la misma máquina donde reside la base de datos repositorio central. Las instancias de auditoría independientes están instaladas en cada máquina que hospeda la instancia SQL Server auditada, como se ilustra en el siguiente diagrama.

La instancia central de ApexSQL Audit es un servicio de Windows que puede ser descrito como un nodo de comunicación inteligente que recibe, envía y distribuye información entre varios componentes de aplicación. La instancia central de ApexSQL Audit archiva los datos auditados recibidos de las instancias de auditoría en la base de datos repositorio central. A diferencia de la instancia central, la instancia auditada está a cargo de la auditoría directa de las instancias SQL Server, procesando los datos auditados y enviándolos a la instancia central.

Al inicio del proceso de auditoría, los eventos/cambios SQL Server a ser auditados deben ser seleccionados. Esto puede lograrse vía los filtros de auditoría localizados en la GUI de ApexSQL Audit de acuerdo con los requerimientos del usuario final.

Una vez que el usuario establece los filtros de auditoría para cada instancia de auditoría SQL Server, la GUI pasará la información del filtro de auditoría a la instancia central, que la procesará y distribuirá la configuración de filtro de auditoría apropiada a cada instancia de auditoría.

Cada instancia de auditoría está diseñada para trabajar como una entidad independiente en la computadora que la hospeda, iniciando la auditoría de SQL Server y recolectando datos auditados.

Nota: La instancia ApexSQL Auditing es un servicio de Windows que corre como un componente de Windows en la máquina que hospeda la instancia SQL Server. No es un componente de SQL Server y ApexSQL Audit no instala ningún agente/componente en las instancias SQL Server auditadas.

Los datos auditados recolectados son procesados y filtrado localmente por la instancia de auditoría antes de ser enviados a la instancia central. Sólo los datos requeridos en concordancia con la configuración de filtro de auditoría recibido serán enviados a la instancia central, por tanto creando un mínimo impacto en la red.

Continuidad de la auditoría en caso de una falla de comunicación de red

Un desafío se forma si la comunicación entre las instancias central y auditada es interrumpida (por ejemplo, debido a problemas de red). En el momento cuando la comunicación es interrumpida, por cualquier razón, la instancia auditada comenzará temporalmente a almacenar datos auditados en el disco duro local.

Independientemente de cuánto tiempo es interrumpida la comunicación entre las instancias central y auditada, siempre que exista la interrupción, la instancia auditada continuará almacenando los datos auditados en el sistema de archivos local. Por tanto, es necesario asegurar suficiente espacio libre en el disco duro del servidor auditado.

Nota: Para asegurar la máxima seguridad de los datos, se recomienda ampliamente tener un dispositivo de almacenamiento HDD dedicado. La localización para los archivos temporales es configurable durante la instalación de la instancia de auditoría.

Tan pronto como la comunicación entre las instancias de auditoría y central se restablece, la instancia de auditoría inmediatamente continuará enviando los datos auditados almacenados en el sistema de archivos local a la instancia central. Después de que la instancia central manda de vuelva una confirmación de que un paquete de datos es recibido, la instancia de auditoría borrará los datos del disco duro, liberando el espacio temporalmente ocupado en el sistema de archivos.

Continuidad de la auditoría en el caso de una falla de la base de datos de la instancia de auditoría central

Un mecanismo adicional de seguridad de ApexSQL Audit estça disponible para asegurar la continuidad en situaciones cuando la instancia SQL Server que hospeda la base de datos repositorio central experimenta problemas. En la situación cuando la instancia central de ApexSQL Audit no puede comunicarse con la base de datos repositorio central, y por tanto no puede almacenar los datos auditados recibidos de las instancias de auditoría, un mecanismo será desencadenado para asegurar que la instancia almacene todos los datos auditados en el sistema de archivos local, hasta que se restablezca la comunicación con la base de datos repositorio central.

Después de que la comunicación es restablecida con la base de datos repositorio central, la instancia central de ApexSQL Audit comenzará a transferir los datos auditados del sistema de archivos a la base de datos repositorio central.

Nota: Los mismos principios válidos para la configuración del almacenamiento HDD de la instancia de auditoría son aplicables aquí también. Un tamaño adecuado del espacio de almacenamiento HDD debe ser asegurado para el repositorio central.

La combinación de salvaguardias contra fallas remotas y/o locales de red o de base de datos, implementadas en ApexSQL Audit, asegura la confiabilidad de los datos auditados y la continuidad del proceso de auditoría.

Traductor: Daniel Calbimonte

agosto 16, 2016