Monitoreo de actividad con usuarios en agentes
El primer objetivo a cumplir es el de realizar un registro de logs en el sistema para los agentes monitoreados. Para esto utilizando la maquina virtual de prueba nos dirigimos al archivo de configuración.
nano /etc/rsyslog.conf
Agregamos al archivo:
auth,authpriv.* /var/log/auth.log
systemctl restart rsyslog.service
Es recomendable quitar el comentario a la linea LogLevel para una información mas precisa.
El archivo “/var/log/auth.log” tendrá los registros con lo que probaremos los distintos tipos de eventos que pueden darse.
Ejemplo "useradd"
Recuperamos la salida en auth.log y así tendremos ejemplos de logs para poder ser analizados por wazuh manager:
Para agregar usuario
Sep 5 11:27:26 xubuntu-VM useradd[205364]: new user: name=ejemplo, UID=1001, GID=1001, home=/home/ejemplo, shell=/bin/sh, from=/dev/pts/1
Introducimos el log generado en nuestro terminal en la herramienta Ruleset test de Wazuh manager para comprobar si es que existen reglas asociadas a este tipo de eventos.
En este caso observamos que tienen reglas asociadas a este tipo de eventos y la extracción de este tipo de datos que se pueden observar como el nombre de la acción useradd y datos como el nombre del usuario creado así como los identificadores de usuario o grupo y la interfaz de línea de comandos que en este caso es /bin/sh.
Para probar los logs registramos 3 eventos con un nombre cualquiera.
useradd cuatro
usermod -aG cuatro
userdel cuatro
Revisamos los logs del archivo en /var/log/auth.log
Sep 6 09:55:29 xubuntu-VM useradd[220043]: new user: name=cuatro, UID=1001, GID=1001, home=/home/cuatro, shell=/bin/sh, from=/dev/pts/3
Sep 6 09:55:56 xubuntu-VM usermod[220054]: add 'cuatro' to shadow group 'sudo'
Sep 6 09:56:00 xubuntu-VM userdel[220061]: delete user 'cuatro'
Para lo cual se generan las alertas de usuario agregado y usuario eliminado por defecto en wazuh
manager.
En el caso del comando useradd tenemos:
En el caso del comando userdel tenemos:
Debido a que no se tiene una alerta para el evento de asignación de privilegios al usuario tenemos que crear la regla personalizada analizando el log generado en /var/log/auth.log y crear el decodificador para dicho evento específico.
Log: Sep 5 19:47:44 ubuntu usermod[19978]: add 'prueba' to shadow group 'sudo'
El decodificador queda de la siguiente manera:
Realizamos la prueba en Decoders Test para verificar que se reconocen los parámetros.
Observamos que se pueden extraer los datos de nombre de usuario y grupo al que fue asignado por lo cual se realizara la regla personalizada para este evento.
Una vez realizada esta regla probamos el log con Ruleset Test de Wazuh para ver si se genera de manera correcta.
Realizadas las pruebas utilizaremos la maquina virtual Xubuntu para proceder con la generación de alertas de niveles 8 y 10 respectivamente:
Usuario creado:
Escala de privilegios:
Eliminación de usuario:
En el agente de wazuh agregamos esta configuracion en el ossec.conf para monitorizar el archivo sudoers.
Esto realizará un monitoreo en tiempo real del archivo para enviar una alerta de modificaciones.
Con distintos escenarios podemos incrementar la cantidad de reglas a partir de diferentes eventos como mostraremos a continuación:
Las reglas se modificaron de la siguiente manera:
- 100060 Se realizo la regla para activarse en caso de que un usuario se añada ya sea al grupo sudo o al grupo admin que poseen privilegios de ejecución.
- 100061 Esta regla actúa de manera similar a la anterior sin embargo es de menor nivel por que indica que un usuario nuevo se añade a un grupo existente no necesariamente con privilegios.
- 100062 Se creó en base a la regla generada de integridad de archivos. Si se ejecuta un cambio en los directorios monitoreados en tiempo real y además es coincidente con “/etc/sudoers” esta alerta se activara con nivel crítico.
- 100063 Se creó en base a la regla 5903 cuando se elimina un usuario. Si se detecta la eliminación y además es coincidente con “root” se genera una alerta de nivel crítico.