Analizar y Almacenar Registros
Capítulo 3
1. Registros del Sistema Linux
Los registros del sistema son como la caja negra de un avión: registran todo lo que sucede. En Linux, cada tipo de evento se almacena en archivos específicos para facilitar el diagnóstico y monitoreo del sistema.
Registros principales y su propósito:
/var/log/messages: El diario general del sistema. Aquí encontrarás eventos del sistema, servicios en ejecución, y mensajes informativos generales que no están categorizados en otros logs./var/log/secure: Almacena todos los eventos relacionados con seguridad y autenticación, como intentos de inicio de sesión (exitosos y fallidos), uso de sudo, y cambios en permisos de usuarios./var/log/maillog: Registra toda la actividad del servidor de correo, incluyendo envíos, recepciones, errores de entrega y problemas de configuración./var/log/cron: Mantiene un registro detallado de todas las tareas programadas, mostrando cuándo se ejecutaron, si fueron exitosas o fallaron./var/log/boot.log: Captura todos los eventos que ocurren durante el proceso de arranque del sistema, útil para diagnosticar problemas de inicio./var/log/audit/: Directorio que contiene registros detallados de auditoría del sistema, incluyendo cambios en la configuración y accesos a recursos.
2. Revisión de Archivos Syslog
Syslog es el sistema estándar de registro en Linux, que categoriza los mensajes según su importancia (desde debug hasta emergencia) y su origen (kernel, servicios, aplicaciones). Esto permite filtrar y analizar eventos específicos de manera eficiente.
Ejemplo Práctico:
-
Ver mensajes de sistema en tiempo real
journalctl -f -
Filtrar mensajes por un servicio específico
journalctl _SYSTEMD_UNIT=sshd.service -
Buscar mensajes de error críticos
journalctl -p err..alert -
Verificar eventos de registro con prioridad warning
journalctl -p warning
3. Revisión de Entradas del Diario
Journalctl es una herramienta poderosa que permite analizar los registros del sistema con múltiples criterios de búsqueda y filtrado. Puede mostrar registros en diferentes formatos, rangos de tiempo y niveles de detalle.
Ejemplo Práctico:
-
Mostrar las últimas 50 líneas del registro
journalctl -n 50 -
Ver registros desde una fecha específica
journalctl --since "2024-01-20 10:00:00" -
Filtrar registros por unidad y tiempo
journalctl -u httpd.service --since today
4. Resguardo del Diario del Sistema
El almacenamiento persistente de registros es fundamental para mantener los registros del sistema incluso después de reinicios. En Red Hat Enterprise Linux, esto se logra configurando el servicio journald.
Ejemplo Práctico:
-
Verificar el estado actual del directorio de journal
ls -l /var/log/journal -
Crear directorio para almacenamiento persistente
mkdir /var/log/journal -
Reiniciar el servicio para aplicar cambios
systemctl restart systemd-journald -
Verificar que los registros se mantienen
journalctl --list-boots -
Verificar espacio utilizado
journalctl --disk-usage
Cada paso asegura que el sistema mantendrá sus registros de manera persistente aun después de reinicios.
5. Mantenimiento de la Hora Correcta
La precisión y sincronización del tiempo en sistemas Linux es fundamental por varias razones:
Importancia del Tiempo Sincronizado:
- Logs precisos para auditorías y troubleshooting
- Validación de certificados digitales y tokens de seguridad
- Coordinación entre servidores distribuidos
- Consistencia en transacciones de bases de datos
- Funcionamiento correcto de tareas programadas
A. Gestión Manual del Tiempo
-
Verificar la configuración actual
timedatectl statusMuestra estado actual: zona horaria, hora local, hora UTC y estado de NTP
-
Configurar fecha y hora manualmente
timedatectl set-time "2024-01-20 15:30:00"Establece la fecha y hora específicas en el sistema
-
Seleccionar zona horaria interactivamente
tzselectMostrará un menú interactivo:
- Seleccionar continente
- Seleccionar país
- Confirmar zona horaria
- Ver resultado en formato tz (ejemplo: America/Santiago)
B. Gestión de Zonas Horarias
-
Listar todas las zonas horarias disponibles
timedatectl list-timezones -
Establecer zona horaria específica
timedatectl set-timezone America/Santiago
C. Sincronización NTP (Network Time Protocol)
El protocolo NTP permite sincronizar automáticamente el reloj del sistema con servidores de tiempo precisos.
-
Verificar estado de sincronización NTP
timedatectl show-timesyncMuestra información detallada sobre la sincronización NTP
-
Activar sincronización NTP
timedatectl set-ntp trueHabilita la sincronización automática con servidores NTP
-
Configurar servidores NTP personalizados
cat /etc/chrony.confMuestra la configuración actual de servidores NTP
-
Verificar sincronización con servidores
chronyc sourcesLista los servidores NTP en uso y su estado
-
Verificar estadísticas de sincronización
chronyc trackingMuestra detalle sobre la precisión y deriva del reloj
Configuración Manual vs NTP
-
Manual:
- Útil en sistemas aislados
- Necesario en auditorías específicas
- Requiere ajustes periódicos
-
NTP:
- Recomendado para servidores en red
- Mantiene sincronización automática
- Mayor precisión a largo plazo
- Maneja cambios de horario de verano