15 Logs en Linux
Published Apr 17, 2023
🧠 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
.
- Archivos:
- Reglas de registro, que tienen tres partes:
- Facility: Qué tipo de servicio genera el log (
auth
,mail
,kern
, etc.). - Priority: Qué nivel de importancia tiene el evento (
debug
,info
,warning
,error
, etc.). - Action: Dónde se guarda el log (por ejemplo,
/var/log/messages
).
- Facility: Qué tipo de servicio genera el log (
🗂️ 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 usardaily
,monthly
, etc.
- Cantidad de archivos que se conservan:
- Por ejemplo,
rotate 4
mantiene los últimos 4 registros.
- Por ejemplo,
🧠 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
- Abre y revisa el archivo
/var/log/syslog
o/var/log/auth.log
. - Cambia la configuración de rotación en
/etc/logrotate.conf
para ajustarla adaily
yrotate 7
.
daily
rotate 7
- Ejecuta manualmente la rotación con:
sudo logrotate /etc/logrotate.conf
- Prueba a usar
shred
con un log de prueba (nunca con logs activos).
📘 Siguientes pasos
- Aprende a usar
journalctl
si tu sistema usasystemd
(reemplazo moderno dersyslog
). - Explora herramientas de análisis de logs como
logwatch
,goaccess
(para logs web), oELK Stack
. - Configura alertas automáticas a partir de eventos registrados con
rsyslog
+fail2ban
. - Investiga cómo proteger logs contra manipulaciones, usando integridad con
AIDE
oauditd
.
✅ 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.