Skip to content

Logs

This content is not available in your language yet.


En cualquier sistema Linux en producción, los logs son la principal fuente de verdad. Cuando algo falla —ya sea un servicio, una conexión o un intento de intrusión— la única forma fiable de entender qué ha ocurrido es a través de los registros generados por el sistema.

La auditoría y análisis de logs no es solo una tarea reactiva: es una disciplina crítica para la seguridad, cumplimiento normativo, diagnóstico y observabilidad. Un Sysadmin senior no solo lee logs, sino que los centraliza, correlaciona y los convierte en información accionable.


Al finalizar este capítulo serás capaz de:

  • Entender cómo Linux genera y gestiona logs.
  • Utilizar journalctl para analizar eventos del sistema.
  • Localizar logs tradicionales en /var/log.
  • Diagnosticar problemas mediante logs.
  • Implementar auditoría básica del sistema.
  • Identificar eventos de seguridad relevantes.

Un log es un registro cronológico de eventos generados por:

  • el kernel
  • servicios (nginx, ssh, etc.)
  • aplicaciones
  • usuarios

Ejemplo:

May 20 12:00:01 server sshdFailed password for root from 10.0.0.5

En sistemas modernos, los logs se gestionan mediante:

  • systemd-journald

Ventajas:

  • centralización
  • indexación
  • filtrado avanzado
  • persistencia opcional

Ubicación:

/var/log/

Archivos importantes:

  • /var/log/syslog → eventos generales
  • /var/log/auth.log → autenticación
  • /var/log/kern.log → kernel
  • /var/log/nginx/access.log → acceso web

Herramienta principal para consultar logs en systemd:

Ventana de terminal
journalctl

Permite:

  • filtrar por servicio
  • buscar por fecha
  • seguir logs en tiempo real

Para evitar llenar el disco:

  • herramienta: logrotate

Config:

/etc/logrotate.conf
/etc/logrotate.d/

  • Logging: registro de eventos
  • Auditoría: análisis orientado a seguridad y trazabilidad

Un servicio web (nginx) falla intermitentemente. Necesitas:

  • analizar logs
  • identificar la causa
  • detectar posibles accesos sospechosos

Ventana de terminal
journalctl -xe
  • -x → contexto adicional
  • -e → ir al final

Ventana de terminal
journalctl -u nginx

Ventana de terminal
journalctl -u nginx -f

Ventana de terminal
journalctl --since "1 hour ago"

Ejemplo:

Ventana de terminal
journalctl --since "2026-05-20 10:00:00"

Ventana de terminal
cat /var/log/nginx/error.log

Ventana de terminal
tail -f /var/log/nginx/access.log

Ventana de terminal
grep "error" /var/log/nginx/error.log

Ventana de terminal
cat /var/log/auth.log | grep ssh

Ventana de terminal
grep "Failed password" /var/log/auth.log

Ver configuración:

Ventana de terminal
cat /etc/logrotate.conf

Por defecto, journald puede no guardar logs tras reinicio.

Solución:

Editar:

Ventana de terminal
sudo nano /etc/systemd/journald.conf
Storage=persistent

Ver uso:

Ventana de terminal
du -sh /var/log

Limpiar:

Ventana de terminal
journalctl --vacuum-time=7d

Verificar:

Ventana de terminal
systemctl status servicio

Ventana de terminal
ls /var/log/*.gz

Leer:

Ventana de terminal
zcat archivo.log.gz

Muchos logs requieren root:

Ventana de terminal
sudo journalctl

Usar:

  • ELK Stack (Elasticsearch, Logstash, Kibana)
  • Graylog

Ejemplo:

  • logs críticos → 90 días
  • logs normales → 30 días

Ejemplo:

Ventana de terminal
grep -i error /var/log/syslog

Automatizar alertas.


Monitorizar:

Ventana de terminal
Failed password
Invalid user
Accepted password

Configurar límites:

Ventana de terminal
SystemMaxUse=500M

Preferir aplicaciones que generen JSON logs.


Instalar:

Ventana de terminal
sudo apt install auditd

Ejemplo:

Ventana de terminal
auditctl -w /etc/passwd -p wa

No analizar logs de forma aislada:

  • correlacionar red + sistema + app

Has aprendido a gestionar, analizar y auditar logs en Linux, utilizando tanto journald como logs tradicionales. Ahora puedes diagnosticar problemas complejos, detectar incidentes de seguridad y optimizar el almacenamiento de registros.

Este conocimiento es esencial para cualquier Sysadmin en producción.

El siguiente paso es entrar en uno de los sistemas de seguridad más potentes (y complejos) de Linux:

➡️ 7.3 SELinux y AppArmor, donde aprenderás a controlar el acceso a nivel de políticas de seguridad obligatorias (MAC).