LNAV mire y analice los registros de Apache desde un terminal de Linux

LNAV mire y analice los registros de Apache desde un terminal de Linux

Hace menos de dos semanas, el ataque de ransomware WannaCry comprometió a miles de computadoras, causando pérdidas considerables para grandes empresas e individuos por igual. Que, junto con otras vulnerabilidades generalizadas que se encuentran en los últimos años (como el error de shellshock), resaltan la importancia de mantenerse al tanto de sus sistemas de misión crítica.

Aunque las vulnerabilidades a menudo se dirigen a un sistema operativo o componente de software específico, examinar el tráfico que entra y sale de su red puede ser una ayuda significativa para proteger los activos de los que es responsable.

Leer sugerido: 4 Buenas herramientas de administración de registros de código abierto para Linux

Como estoy seguro de que ya sabes, los registros del sistema son el primer lugar donde debemos buscar esta información. Para facilitar esta tarea, en este artículo explicaremos cómo instalar y usar bey, Un visor de archivos de registro avanzado. Con LNAV, podrá observar varios tipos de registros simultáneamente, navegar a través del archivo usando teclas de acceso rápido y generar un histograma resumido de accesos y errores. Así que sigue leyendo!

Instalación y lanzamiento de LNAV en Linux

Instalar bey, Use el sistema de gestión de paquetes de su distribución.

# Aptitud Instale LNAV [Debian and Derivatives] # YUM Instale Epel-Lelease LNAV [CentOS 7 y similar] 

Una vez que se completa la instalación, el lanzamiento bey seguido de la ruta absoluta al directorio donde se encuentran los registros que se examinarán. Dado que esto será típicamente /var/log, hagamos:

# lnav/var/log/httpd 

para inspeccionar los registros del servidor web Apache en un Centos 7:

Monitorear los registros de Apache en CentOS 7

Examinemos brevemente la salida que se muestra en la imagen anterior:

  • La esquina superior derecha muestra los archivos que se inspeccionan actualmente (access_log-20170519 y access_log). A medida que se desplaza hacia abajo o hacia arriba, observará que los nombres de archivo pueden cambiar a medida que va de uno a otro.
  • 40x http respuestas (por ejemplo, Extraviado o Prohibido) se muestran en negrita, mientras que 20x Las respuestas se muestran en texto regular.
  • Las direcciones IP aparecen en Bold Green.

Eso ciertamente se ve bien, ¿no?? Pero ahora profundicemos un poco más, y veremos que LNAV proporciona mucho más que una salida de color bonito.

Si tiene curiosidad sobre por qué no se muestran registros de errores, encontrará la respuesta más adelante en este artículo. Así que sigue leyendo!

Modificar la salida con opciones y teclas de acceso rápido

Antes de continuar, enumeremos algunas teclas de acceso rápido que nos permitirán avanzar a través de la salida de LNAV y las vistas disponibles más fácilmente:

  • mi o mi Para saltar al siguiente mensaje de error anterior / anterior.
  • w o W para saltar al siguiente mensaje de advertencia del siguiente / anterior.
  • b o Espalda para moverse a la página anterior.
  • Espacio para moverse a la página siguiente.
  • gramo o GRAMO para moverse hacia la parte superior / inferior de la vista actual.

Cuando se giran los registros, los archivos antiguos pueden comprimirse (o no) dependiendo de la configuración especificada en los archivos de configuración de Logrotate. Para incluir archivos comprimidos en la salida, inicie LNAV de la siguiente manera:

# lnav -r/var/log/httpd 

Si desea observar más de cerca la forma en que funciona LNAV, puede iniciar el programa con el -d Opción seguida de un nombre de archivo donde se escribirá la información de depuración, como así:

# lnav/var/log/httpd -d lnav.TXT 

En este ejemplo, la información de depuración que se genera cuando LNAV comience se escribirá en un archivo llamado bey.TXT Dentro del directorio de trabajo actual.

Las primeras líneas de ese archivo se muestran en la siguiente imagen:

Información de depuración de Apache

El texto resaltado indica que LNAV cargó el archivo de formatos predeterminados y, más específicamente, el access_log Formato para analizar el registro de acceso de Apache. Además, LNAV permite analizar cada línea de salida para que la salida sea más fácil de visualizar y comprender.

Leer sugerido: Analizador de registro de servidor web Goaccess (A en tiempo real y Nginx)

Para usar esta función, inicie el programa y elija la línea que desea analizar. La línea seleccionada es siempre la que está en la parte superior de la ventana. Entonces presione pag Y debería ver el siguiente resultado:

Información de estado de solicitud de apache

Para volver al modo normal, presione pag de nuevo.

Ahora, si desea ver un resumen de los registros por fecha y hora, presione i. Por ejemplo, el texto resaltado indica que el lunes 10 de abril, entre las 10 y las 11 p.m., hubo 37 solicitudes de HTTP con 14 errores.

APACHE Registros por día y hora

Una vez que haya identificado un problema potencial basado en el histograma como se muestra arriba, puede presionar i para salir de la vista de examinarlo con más detalle utilizando el analizador como se explicó anteriormente. O también puede usar las capacidades SQL incorporadas escribiendo una semicolon y escribiendo una consulta estándar. Por ejemplo, haz:

;.esquema 

Para ver las tablas disponibles en el esquema de la base de datos. Después de identificar la tabla correcta (access_log En nuestro caso), presionemos Q y luego use la siguiente consulta para devolver toda la información disponible sobre las solicitudes que provienen de 195.154.230.31:

; Seleccione * de access_log donde c_ip = "195.154.230.31 " 
Información de registro de Apache en formato de tabla

Tenga en cuenta que también podríamos haber filtrado los resultados por tiempo de registro. El punto es que agregue un pequeño SQL y el cielo es el límite de lo que puede hacer con LNAV.

Formatos de registro predeterminados de Apache

Muchos formatos de registro se cargan de forma predeterminada con bey y, por lo tanto, se analizan sin nuestra intervención. Puede ver la lista en la sección Formatos de registro en la documentación oficial.

Los formatos predeterminados se especifican en ~/.LNAV/Formats/predeterminado/Forma predeterminado.json.muestra, y otros se pueden agregar ~/.Lnav/formatos utilizando el .json extensión.

Sin embargo, la edición de estos archivos requiere un cierto grado de familiaridad con JSON (notación de objeto JavaScript) y con la biblioteca PCRE (expresiones regulares compatibles con Perl).

Entonces, ¿por qué LNAV no mostró los archivos de registro de error Apache? La razón es que esos registros no coinciden con ninguna expresión regular en los archivos de formato existentes y, por lo tanto, se tratan como archivos de texto regulares (que significa archivos sin un formato de registro dado).

Leer sugerido: Cómo monitorear la carga del servidor web de Apache y las estadísticas de la página

Como se mencionó anteriormente, puede crear sus propios formatos una vez que esté al menos un poco familiarizado con JSON y PCRE. Esto puede ser útil, por ejemplo, si ha definido registros de Apache personalizados.

Resumen

Aunque utilizamos el registro de acceso de Apache para demostrar cómo usar LNAV, tenga en cuenta que hay varios otros tipos de registros que se pueden ver y analizar utilizando esta herramienta. Si la herramienta no reconoce un registro específico, puede crear formatos adicionales e instalarlos siguiendo las indicaciones proporcionadas aquí.

¿Tiene alguna pregunta o comentario sobre este artículo?? Como siempre, siéntase libre de informarnos usando el formulario a continuación. Esperamos con interés escuchar de usted!