Skip to content

Laboratorio Logging

Objetivos

  • Configurar rsyslog para almacenar mensajes en archivos de registro específicos según su prioridad.
  • Utilizar journalctl para filtrar, consultar y analizar eventos registrados en el diario del sistema.
  • Implementar almacenamiento persistente en systemd-journald para conservar registros tras reinicios del sistema.
  • Diagnosticar problemas del sistema mediante búsquedas avanzadas en registros y eventos históricos.
  • Aplicar técnicas de rotación de registros para evitar el crecimiento excesivo de archivos en /var/log/.

Entorno Inicial

  • Usuario: student
  • Máquina: servera
  • Contraseña inicial: student
  • Herramientas utilizadas: Shell Bash y utilidades básicas de Linux.

Pasos del Laboratorio

Prerequisitos

  1. Inicio de sesión

    • Inicia sesión en la máquina servera desde bastion como el usuario student utilizando la llave privada proporcionada:

      ssh student-#-servera
      

Parte 1: Configuración de rsyslog para Registrar Mensajes debug

  1. Cambiar a superusuario

    • Usa el comando sudo -i para obtener privilegios de root:
      sudo -i
      
  2. Crear un archivo de configuración para rsyslog

    • Editar el archivo /etc/rsyslog.d/debug.conf:
      vim /etc/rsyslog.d/debug.conf
      
    • Agregar la línea para registrar mensajes debug:
      *.debug /var/log/messages-debug
      
    • Guardar y salir (:wq).
  3. Reiniciar el servicio rsyslog

    • Aplicar los cambios:
      systemctl restart rsyslog
      
  4. Generar un mensaje de prueba

    • Enviar un mensaje debug:
      logger -p user.debug "Debug Message Test"
      
  5. Verificar el contenido del archivo de registro

    • Visualizar los últimos mensajes:
      tail /var/log/messages-debug
      
    • Confirmar que el mensaje aparece en el archivo.

Parte 2: Análisis de Registros con journalctl

  1. Filtrar registros por proceso systemd

    • Mostrar eventos generados por el proceso systemd (PID 1):
      journalctl _PID=1
      
    • Presionar q para salir.
  2. Filtrar registros por usuario del sistema

    • Mostrar eventos generados por un servicio con UID 81:
      journalctl _UID=81
      
  3. Filtrar registros por prioridad

    • Visualizar eventos con prioridad warning o superior:
      journalctl -p warning
      
  4. Filtrar registros por período de tiempo

    • Mostrar eventos de los últimos 10 minutos:
      journalctl --since "-10min"
      
  5. Filtrar registros por servicio específico

    • Mostrar eventos del servicio sshd desde las 09:00:00:
      journalctl --since 9:00:00 _SYSTEMD_UNIT="sshd.service"
      

Parte 3: Configuración de Almacenamiento Persistente en systemd-journald

  1. Verificar que el almacenamiento persistente no está habilitado

    • Comprobar si existe el directorio /var/log/journal:
      ls /var/log/journal
      
    • Salida esperada:
      ls: cannot access '/var/log/journal': No such file or directory
      
  2. Crear el directorio de almacenamiento persistente

    • Crear el directorio:
      mkdir /var/log/journal
      
  3. Modificar la configuración de systemd-journald

    • Editar el archivo /etc/systemd/journald.conf:
      vim /etc/systemd/journald.conf
      
    • Buscar la línea Storage=auto y reemplazar por:
      [Journal]
      Storage=persistent
      
    • Guardar y salir (:wq).
  4. Reiniciar el servicio systemd-journald

    • Aplicar los cambios:
      systemctl restart systemd-journald
      
  5. Verificar que el almacenamiento persistente está habilitado

    • Comprobar que el directorio /var/log/journal contiene registros:
      ls /var/log/journal
      
    • Listar archivos dentro del subdirectorio:
      ls /var/log/journal/<directorio-generado>
      
  6. Reiniciar el sistema y verificar la persistencia de registros

    • Reiniciar la máquina:
      systemctl reboot
      
    • Tras el reinicio, iniciar sesión y verificar:
      ls /var/log/journal
      
  7. Salir de servera y volver al bastion

    • Salir de la sesión remota:
      exit
      

Resultados Esperados

  • Los participantes podrán configurar rsyslog para categorizar eventos y almacenarlos en archivos específicos.
  • Se aplicarán filtros avanzados con journalctl para analizar registros por proceso, usuario y período de tiempo.
  • Se establecerá almacenamiento persistente para garantizar la conservación de registros a largo plazo.
  • Se implementarán estrategias de diagnóstico para identificar problemas en la ejecución del sistema.
  • Se comprenderá la importancia de la rotación de registros y su impacto en el mantenimiento del sistema.