Encontranos en redes
LogsMonitoreoAlertas5 min de lectura
Monitorear logs de seguridad
Análisis de auth.log, syslog, fail2ban, journalctl, logwatch y alertas ante actividad sospechosa.
Logs importantes en Linux
Los logs son tu primera línea de defensa para detectar intrusiones:
/var/log/auth.log→ intentos de login (SSH, sudo)/var/log/syslog→ eventos del sistema/var/log/fail2ban.log→ IPs bloqueadas/var/log/nginx/access.log→ requests HTTP/var/log/nginx/error.log→ errores del web server
Analizar auth.log
bash
# Ver intentos de login fallidos
grep 'Failed password' /var/log/auth.log | tail -20
# Contar intentos por IP
grep 'Failed password' /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head
# Ver logins exitosos
grep 'Accepted' /var/log/auth.log | tail -10
# Ver uso de sudo
grep 'sudo' /var/log/auth.log | tail -10Usar journalctl
journalctl es la herramienta moderna para consultar logs de systemd:
bash
# Logs de SSH
journalctl -u sshd --since "1 hour ago"
# Logs del sistema con prioridad error o superior
journalctl -p err --since today
# Seguir logs en tiempo real
journalctl -f
# Logs de un servicio específico
journalctl -u nginx --since "2026-01-01" --until "2026-01-02"Monitorear fail2ban
bash
# Estado general
sudo fail2ban-client status
# Estado de la jail SSH
sudo fail2ban-client status sshd
# Ver IPs baneadas actualmente
sudo fail2ban-client get sshd banned
# Ver log de acciones
tail -50 /var/log/fail2ban.logInstalar Logwatch
Logwatch genera reportes diarios resumidos:
bash
sudo apt install -y logwatchConfigurar reporte diario por email:
bash
sudo nano /etc/logwatch/conf/logwatch.confterminal
Output = mail
MailTo = tu-email@ejemplo.com
Detail = Med
Range = yesterdayProbá manualmente:
bash
sudo logwatch --detail Med --range today --output stdoutGoAccess para logs web
Análisis visual de logs de Nginx/Apache:
bash
sudo apt install -y goaccess
# Reporte en terminal
goaccess /var/log/nginx/access.log --log-format=COMBINED
# Generar reporte HTML
goaccess /var/log/nginx/access.log --log-format=COMBINED -o /var/www/html/report.htmlAlertas de actividad sospechosa
Script básico de alerta:
bash
#!/bin/bash
# /usr/local/bin/check-auth.sh
FAILED=$(grep 'Failed password' /var/log/auth.log | wc -l)
if [ $FAILED -gt 100 ]; then
echo "ALERTA: $FAILED intentos de login fallidos detectados" | mail -s "Security Alert" tu-email@ejemplo.com
fiAgregá al cron cada hora:
bash
0 * * * * /usr/local/bin/check-auth.shRecomendaciones
- Revisá auth.log diariamente o configurá alertas automáticas
- Usá logwatch para recibir resúmenes sin revisar manualmente
- Configurá rotación de logs para no llenar el disco
- Centralizá logs en un servidor externo si tenés múltiples servidores
- Investigá cualquier login exitoso que no reconozcas inmediatamente
¿Te resultó útil esta guía?