Monitoreo de Logs con tail y grep (en Linux)

Uno de los puntos fuertes de la seguridad en Linux, cuando está bien configurado, es que toda actividad realizada en el sistema operativo queda registrada en los distintos logs (archivos de registros), ya sea, comandos del usuario, actualizaciones, mensajes del sistema, del firewall, etc.

Lo cual permite que ante cualquier incidencia de seguridad, malfuncionamiento de software o simplemente trazar acciones de usuarios, la información de dichas acciones, estén registradas en alguno de los múltiples logs del sistema.

Por defecto, los logs, se encuentran en la carpeta /var/logs, y ahí se almacenan generalmente, los registros de Apache, Postfix, Firewall, etc.

Contenido de un directorio /var/log estándar

Por otra parte, existen comandos (head y tail) en Linux que nos permiten revisar o visualizar ya sea el inicio o fin de un archivo, y en conjunto con pipes podemos filtrar y hacer más efectiva el monitoreo de logs en tiempo real.

Consideremos la siguiente situación, se necesita tener abierto el log de postfix, para saber cada cuanto tiempo pasa un correo con un destinatario en particular, para ello desde la consola ejecutaremos la siguiente instrucción.

tail -f /var/log/maillog | grep ’email_a_buscar’

Explicando la estructura del comando estamos ejecutando tail para ver la parte final del log, con el parámetro -f (follow) y la ruta del log, a ese resultado, lo pasamos por un pipe a un segundo comando, en este caso grep, el cual nos permite realizar búsquedas por cadenas de texto o expresiones regulares dentro del resultado del proceso anterior e imprime las líneas que tengan coincidencias con el parámetro de búsqueda, y pasamos en comillas el texto a buscar.

Los escenarios de uso son múltiples, por ejemplo:

  • Buscar en log de apache conexiones desde una IP en particular
  • Monitorear en log de Firewall las conexiones bloqueadas
  • Monitorear en log de MySQL las consultas más lentas de ejecución
  • Monitorear en log de History, las acciones (comandos que ejecuta) un usuario.

¿Qué otros usos podrías darle?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *