Comencé a usar Zabbix y puedo ver que genera alertas cuando se cambian cosas como /etc/passwd.
Buscar en Google 'alerta zabbix al iniciar sesión como root' no muestra ningún indicador. ¿Cómo puedo hacer para tener una alerta al iniciar sesión como root, por favor?
Respuesta1
No deberías permitir los inicios de sesión de root por completo, porque eso es inseguro. Solo debe permitir inicios de sesión de usuarios regulares y, una vez que haya iniciado sesión, el usuario podrá sudo
ejecutar comandos como root.
Dicho esto, ¿por qué sólo comprobarías los inicios de sesión root? Verificar los inicios de sesión habituales de los usuarios es igualmente importante. Los bots en Internet realizan ataques de fuerza bruta a usuarios habituales todo el tiempo.
De cualquier manera, debe verificar /var/log/auth.log
si los inicios de sesión SSH fueron exitosos. La comprobación de los archivos de registro requiere comprobaciones activas del agente Zabbix. Entonces, primero debe asegurarse de que las comprobaciones activas funcionen correctamente (consulteesta publicación de blog).
En segundo lugar, el usuario de Zabbix se ejecuta (de forma predeterminada) como zabbix
usuario. Por lo tanto, no podrá leerse /var/log/auth.log
, porque ese archivo sólo lo pueden leer el root y los usuarios del grupo adm
. Para que pueda agregar el zabbix
usuario al adm
grupo. Esto permite a Zabbix leer muchos archivos de registro (fuente).
Finalmente, debe crear un elemento de monitoreo y activarlo en la interfaz de Zabbix.
Crea un artículo:
Name: SSH successful authentication
Type: Zabbix agent (active)
Key: log[/var/log/auth.log,"Accepted .*",,,skip,\0]
Cree un disparador para ese artículo:
Name: Successful SSH authentication on {HOST.NAME}
Expression: {Template OS Linux - Extra:log[/var/log/auth.log,"Accepted .*",,,skip,\0].strlen()}>0 and {Template OS Linux - Extra:log[/var/log/auth.log,"Accepted .*",,,skip,\0].nodata(5m)}=0
Observe la Accepted .*
expresión regular en el elemento. Esto debería coincidir con todos los tipos de autenticación SSH, ya sea autenticación de contraseña o autenticación de clave pública. Por supuesto, en su caso, puede cambiar la expresión regular para que solo coincida con los inicios de sesión desde la raíz. Pero como se explicó anteriormente, esto no tiene sentido desde una perspectiva de seguridad.
También observe que usé log[...]
, porque esto da como resultado que la línea de registro responsable que coincida con la expresión regular se incluya en el correo electrónico de notificación que enviará Zabbix. De esa forma, podrás ver en el correo electrónico qué usuario fue autenticado.
Respuesta2
Para sistemas basados en Debian, necesita analizar /var/log/auth.log
el archivo de esta manera:
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>]
https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/zabbix_agent
entonces en esencia:
log.count[/var/log/auth.log,*root*Accepted,,,skip]