Capítulo 5: Administración del servidor Ubuntu

Publicado por P. Ruiz en

5.2. Registros de sucesos

Para un administrador es muy importante saber qué ocurre en su sistema. Afortunadamente, los sistemas Linux en general, guardan detalles de su actividad en diferentes archivos. Su objetivo es anotar cualquier funcionamiento anómalo o cualquier problema que pueda surgir en el sistema.

Todos estos archivos se encuentran en el directorio /var/log.

En versiones antiguas de Linux, era el demonio syslogd (Syslog Daemon) quien se encargaba de guardar información sobre el funcionamiento del sistema. Sin embargo, en la actualidad suelen utilizarse dos herramientas que ofrecen una mayor cantidad de opciones. Son estas:

  • syslog-ng: Es una implementación open source del demonio syslogd, pero ofreciendo más prestaciones, como la aplicación de filtros, ordenar la información según el origen, enviarla a distintos lugares según su naturaleza, etc.

  • rsyslogd: Una versión mejorada de syslogd con capacidades de multi-hilo, que se centra en la seguridad y en la fiabilidad. Esta es la opción predeterminada en Ubuntu y por esto es en la que nos vamos a centrar aquí.

    La mayor parte del comportamiento de rsyslogd se encuentra definido en el archivo /etc/rsyslog.conf, aunque algunas opciones también se establecen en /etc/rsyslog.d/.

    Es posible modificar estos archivos para cambiar dicho comportamiento, pero se escapa de los objetivos de este texto explicar cómo hacerlo.

Los registros de sucesos que se vigilan de forma predeterminada desde rsyslogd son los siguientes:

Registros de sucesos

Si un servicio está produciendo sucesos, éstos estarán recogidos bajo el directorio /var/log. Por ejemplo, aquí encontraremos un archivo llamado auth.log. También podemos encontrar subdirectorios que pueden contener los archivos de sucesos de algún subsistema particular como, por ejemplo, el directorio lightdm, que contiene varios archivos de sucesos relativos al gestor de sesiones LightDM.

1

Contenido del archivo auth.log en el servidor.

El formato de todos los archivos de sucesos es muy parecido, pero necesitamos conocerlo antes de poder analizar su contenido. En el caso de auth.log se estructura de la siguiente forma:

  • Fecha del suceso
  • Hora del suceso
  • Nombre del equipo donde se ha producido
  • Programa / servicio que lo ha originado
  • Opcionalmente, aparecerá el PID del proceso
  • Mensaje informativo que describe el suceso.

Por ejemplo, una línea del archivo auth.log podría ser como esta:

Jun  3 20:36:25 somebooks-lnxsrv sudo:  usuario : TTY=pts/2 ; PWD=/home/usuario ; USER=root ; COMMAND=/usr/bin/gedit /var/log/auth.log

Aquí vemos que el día 3 de Junio, a las 20:36, en el equipo somebooks-lnxsrv el programa sudo informa de que usuario ejecuta desde la terminal, y con privilegios de root, el comando /usr/bin/gedit /var/log/auth.log. Podríamos ser algo más precisos en la explicación, pero creo que estaríamos siendo menos didácticos.

Los archivos de sucesos acaban siendo demasiado extensos. Sin embargo, podemos utilizar comandos de Linux que nos ayuden a centrarnos en la información que nos interesa.

Por ejemplo, el comando tail -f /var/log/auth.log nos permitirá obtener sólo las 10 últimas líneas del archivo auth.log. Y el comando cat /var/log/auth.log | grep "lightdm" nos permite ver sólo las líneas que contienen el texto lightdm.

En SomeBooks.es hemos dedicado varios artículos a resolver esta situación, dependiendo de la versión del sistema operativo que estés utilizando:

Además, podemos utilizar las herramientas Cockpit o Webmin, como explicábamos en los siguientes artículos y que son válidas para diferentes versiones de Ubuntu:

Uso de Logcheck para consultar sucesos.

Ya hemos visto más arriba cómo podemos consultar e interpretar los sucesos anotados por el sistema. Sin embargo, existe una herramienta que nos facilita la realización de esas consultas. Me refiero a Logcheck.

Logcheck revisa los archivos de sucesos del sistema, cada cierto tiempo, ofreciendo al Administrador sólo aquellas incidencias que resulten importantes. El resultado es más fácil de leer que los archivos originales, consolida el contenido de los diferentes archivos en una sola salida y descarta los sucesos que carezcan de interés.

Por todo ello, Logcheck se ha convertido en una herramienta extraordinaria para los administradores de sistemas. Y, para que compruebes lo fácil que resulta instalarla, en SomeBooks.es le hemos dedicado algunos artículos artículos:

Consultar sucesos en la interfaz gráfica.

Si te has decantado por un servidor con interfaz gráfica, el sistema también incorpora una herramienta que nos permite consultar los sucesos del sistema de una forma bastante intuitiva.

Como en las versiones más recientes de Ubuntu se ha sustituido su tradicional interfaz gráfica Unity por GNOME, también ha cambiado el software que se utiliza para analizar los sucesos del sistema. En cualquier caso, nada nos impide instalar la herramienta antigua en las nuevas versiones del sistema.

De hecho, en SomeBooks.es ya hemos dedicado diferentes artículos a estos aspectos:

Actividad 1: Registros de sucesos y monitorización del sistema

Sigue las indicaciones del capítulo para realizar las siguientes tareas:

  • Desde la terminal, averigua qué líneas del archivo auth.log contienen el texto «FAILED LOGIN» y trata de encontrarles una explicación.

  • Instala el programa Logcheck, configúralo para recibir información acerca de los usuarios que utilizan la orden su y comprueba que funciona correctamente.

  • Utiliza Webmin para averiguar cuando han cometido los usuarios del sistema errores al autenticarse. Localiza visualmente aquellas situaciones en las que existan varios errores consecutivos.