Monitoreando MSSQL Server con Wazuh
En la siguiente entrada se detallan las configuraciones básicas realizadas para el monitoreo en tiempo real de los inicios de sesión exitosos y fallidos de MSSQL Server con Wazuh
Resumen
- Activar Logs de Auditoria en MSSQL Server
- Identificación de Eventos MSSQL Server
- Archivo de Configuración Agente
- Creación de las reglas
- Visualización en Kibana
Activar Logs de Auditoria en MSSSQL Server
Es necesario activar los Logs de Auditoria, sobre el servidor (SQLSERVER), clic derecho, propiedades, luego en seguridad y seleccionar Intentos Exitosos y Fallidos
Una vez configurado, es necesario el reinicio del servicio de mssql server, posterior, se inicia sesión para verificar en los eventos
Identificación de los eventos MSSSQL
Se identificaron los siguientes eventos
- 18453 : Connection made using Windows Authentication
- 18454 : Connection made using SQL Server Authentication
- 18455 : Login succeeded for user ‘%.*ls’.%.*ls
- 18456 : Password did not match that for the login provided
En el siguiente enlace se puede observar con mayor detalle:
Archivo de Configuración del Agente de Wazuh
Lo primero que se debe hacer es verificar que el agente este activo, como se puede observar en la siguiente imagen.
En el caso de Windows, el archivo de configuración que es leído por el agente, se encuentra en la siguiente ruta:
C:\Program Files (x86)\ossec-agent\ossec.conf
Se realizó la siguiente configuración:
- Location: hace referencia al “canal” del cual se recolectaran los Logs
- Log_format: existen 2 formatos, eventlogs que puede acceder a los clásicos canales de eventos, sin embargo no puede acceder a logs de servicios o de aplicaciones, por otro lado eventchannel permite acceder a servicios y aplicaciones en particulares, además de todos los “clásicos” canales de eventos, y la particularidad de aplicar filtros
- query: Eventos que sean igual o mayor a 18453 e igual o menor a 18456
Creación de las reglas
Wazuh trabaja con base en reglas, en estos casos específicos, se deben crear en el archivo local_rules.xml, este archivo se encuentra en la siguiente ubicación:
Usualmente, los logs pasan por un proceso de “decodificado”, no del contenido, sino de la estructura de log, para extraer datos específicos, para los logs de Windows, el decodificado lo realiza Wazuh, específicamente sobre eventos de Windows, se crearon las siguientes reglas
A continuación se detalla una breve explicación de la estructura de las reglas :
- id=”100003" : Identificar de la regla, al ser una regla “custom” debe estar entre ese rango.
- level=3 : Nivel de la alerta
- if_sid 60600 : Condición que debe cumplir previamente, el valor 60600 esta asociado a la siguiente regla que deberá cumplir primero.
- id 18454 : Identificador de Evento de Windows — Application — Inicio de Sesión Exitoso
- Description : “MS-SQL Server Succeeded Logon”
Se puede verificar reglas creadas
Visualización en Kibana
Seleccionado el agente, en mi caso “sqlserver”, y buscando los eventos se identificaron los registros de auditoria de MSSQL-SERVER
Conclusión
Si bien Wazuh puede leer archivos de texto específicos, entiendo que actualmente tiene problemas para leer los archivos de auditoria generados por MSSQL Server, por tal motivo se realizó de esta manera,