15 Logs en Linux

Published Apr 17, 2023

Linuxlog

🧠 Introducción

En Linux, el sistema de registros (o logs) no se refiere al inicio de sesión, sino a los archivos donde se guardan eventos importantes del sistema y de las aplicaciones. Estos registros son fundamentales para:

  • Detectar errores y fallos.
  • Investigar incidentes de seguridad.
  • Analizar el funcionamiento general del sistema.

Conocer y gestionar correctamente los logs te ayudará a monitorear tu sistema y a resolver problemas de manera más eficiente.

🔍 ¿Qué son los logs?

Los logs son archivos de texto que almacenan información sobre eventos que ocurren en el sistema. Por ejemplo:

  • 🛑 Errores: Fallos de aplicaciones o servicios.
  • 🔐 Alertas de seguridad: Inicios de sesión fallidos o accesos sospechosos.
  • 📊 Eventos informativos: Peticiones a un servidor web, cambios de red, etc.

Son especialmente útiles en entornos de administración o ciberseguridad, ya que permiten reconstruir lo que ocurrió, cuándo y cómo.

👉 Nota: Los atacantes lo saben, por eso a menudo intentan borrar o alterar los logs para cubrir sus huellas.

⚙️ ¿Qué es rsyslog?

Linux usa un servicio llamado rsyslog, que se encarga de registrar automáticamente los eventos del sistema y las aplicaciones.

Este servicio define:

  • Qué tipo de eventos registrar.
  • Dónde se guardan los registros.
  • Cómo se organizan los archivos de log.

🛠️ Archivo de configuración de rsyslog

El archivo principal es:

/etc/rsyslog.conf

Puedes localizarlo o editarlo así:

find /etc/ -name rsyslog*
vim /etc/rsyslog.conf

Este archivo contiene:

  • Permisos de archivos y carpetas de log:
    • Archivos: 0640 (solo root y grupo pueden leer).
    • Directorios: 0755.
  • Reglas de registro, que tienen tres partes:
    1. Facility: Qué tipo de servicio genera el log (auth, mail, kern, etc.).
    2. Priority: Qué nivel de importancia tiene el evento (debug, info, warning, error, etc.).
    3. Action: Dónde se guarda el log (por ejemplo, /var/log/messages).

🗂️ Manejo del espacio que ocupan los logs

Los logs crecen con el tiempo. Si no se gestionan bien, pueden llenar el disco duro y afectar el rendimiento del sistema.

🔄 Herramienta: logrotate

Linux usa logrotate para:

  • Rotar logs antiguos (renombrarlos).
  • Crear archivos nuevos.
  • Eliminar registros antiguos automáticamente.

📄 Archivo de configuración de logrotate

Puedes revisarlo con:

cat /etc/logrotate.conf

Puntos clave:

  • Frecuencia de rotación:
    • weekly (por defecto), pero puedes usar daily, monthly, etc.
  • Cantidad de archivos que se conservan:
    • Por ejemplo, rotate 4 mantiene los últimos 4 registros.

🧠 Así se evita que los archivos de log crezcan sin control.

🧹 Eliminar logs de forma segura

A veces, es necesario eliminar un archivo de log. Pero simplemente borrarlo no es suficiente si se trata de información sensible.

🧯 Uso de shred

Este comando sobrescribe el archivo varias veces con datos aleatorios, haciéndolo prácticamente irrecuperable.

shred -f -n 10 /var/log/auth.log.*
  • f: Fuerza la sobrescritura, incluso si hay restricciones de permisos.
  • n 10: Realiza 10 pasadas de sobrescritura (puedes ajustar el número).

⏸️ Detener temporalmente el registro de logs

En ciertos casos, puedes detener el servicio de logs (por ejemplo, durante pruebas controladas):

sudo service rsyslog stop

Y para volver a activarlo:

sudo service rsyslog start

⚠️ No se recomienda hacerlo en sistemas en producción, ya que perderías información crítica.

🛠️ Práctica recomendada

  1. Abre y revisa el archivo /var/log/syslog o /var/log/auth.log.
  2. Cambia la configuración de rotación en /etc/logrotate.conf para ajustarla a daily y rotate 7.
daily
rotate 7
  1. Ejecuta manualmente la rotación con:
sudo logrotate /etc/logrotate.conf
  1. Prueba a usar shred con un log de prueba (nunca con logs activos).

📘 Siguientes pasos

  • Aprende a usar journalctl si tu sistema usa systemd (reemplazo moderno de rsyslog).
  • Explora herramientas de análisis de logs como logwatch, goaccess (para logs web), o ELK Stack.
  • Configura alertas automáticas a partir de eventos registrados con rsyslog + fail2ban.
  • Investiga cómo proteger logs contra manipulaciones, usando integridad con AIDE o auditd.

✅ Conclusión

Los logs en Linux son esenciales para comprender qué ocurre dentro del sistema. Te permiten detectar errores, rastrear actividades sospechosas y mantener el control general del entorno.

Con herramientas como rsyslog para registrar eventos y logrotate para gestionar su tamaño, puedes mantener un sistema organizado, seguro y eficiente. Además, con shred, puedes eliminar registros de forma segura cuando sea necesario.

Aprender a leer, interpretar y manejar los logs es una habilidad clave para cualquier administrador de sistemas o analista de seguridad.