Cómo analizar el archivo de registro de Apache con GoAccess


Agregue la vista access.log de Apache basada en terminal y web con GoAccess.

Cómo analizar el archivo de registro de Apache con GoAccess
Agregue la vista access.log de Apache basada en terminal y web con GoAccess.

En nombre de la seguridad, mientras más información tengamos sobre nuestros sistemas, mejor estaremos. Algunas veces esa información puede no estar directamente relacionada con la seguridad, y otras veces sí. Caso en cuestión: el servidor web Apache. Hay un archivo llamado access.log que muestra información crucial sobre lo que sucede con el servidor web.

El archivo Apache access.log almacena información sobre eventos que ocurren en el servidor web Apache. Dicha información puede incluir la dirección IP del visitante, las páginas visitadas, los códigos de estado, los navegadores utilizados y más.

Pero peinarse a través de archivos de registro basados ​​en texto puede ser engorroso, especialmente cuando sus tareas de administración siguen acumulándose. Con ese fin, ¿qué haces? Siempre puedes recurrir a una herramienta como GoAccess.

GoAccess es un tablero en tiempo real basado en la terminal y en la web que se utiliza para leer el archivo Apache access.log. Voy a guiarlo a través del proceso de instalación de GoAccess en Ubuntu Server 19.10, ejecutando Apache 2.

VER: Seguridad de Windows 10: una guía para líderes empresariales (TechRepublic Premium)

Lo que necesitarás

Las únicas cosas que necesitará para hacer que GoAccess se ejecute en su sistema son las siguientes:

Cómo instalar dependencias

Lo primero que debe hacerse es la instalación de las dependencias necesarias. Para hacer esto, abra una ventana de terminal y emita el siguiente comando:

sudo apt-get install libncursesw5-dev gcc make libgeoip-dev libtokyocabinet-dev build-essential -y

Una vez que se complete, ya está listo para instalar GoAccess.

Cómo instalar GoAccess

Para instalar GoAccess, descargue el archivo tar necesario con el comando:

wget http://tar.goaccess.io/goaccess-1.3.tar.gz

Extraiga el archivo con el comando:

tar xvzf goaccess-1.3.tar.gz

Cambie al directorio recién creado con el comando:

cd goaccess-1.3

Instalar con los siguientes comandos:

sudo ./configure --enable-utf8 --enable-geoip=legacy
sudo make
sudo make install

Cómo ejecutar GoAccess

Ahora vamos a ejecutar GoAccess en la terminal. Para hacer eso, emita el comando:

sudo goaccess /var/log/apache2/access.log --log-format=COMBINED

Ahora debería ver GoAccess mostrando datos en tiempo real de su archivo access.log en la terminal (Figura A)

Figura A

<a href = "https://tr1.cbsistatic.com/hub/i/2019/11/12/ab73e6b1-7535-44aa-95d6-69f92f49f197/goaccessa.jpg" target = "_ blank" data-component = "modalEnlargeImage "data-headline ="

La pantalla en tiempo real de Goaccess.

"data-credit =" "rel =" noopener noreferrer nofollow ">goaccessa.jpg

La pantalla en tiempo real de Goaccess.

Puede desplazarse por la mitad inferior de la pantalla para ver las diferentes secciones del archivo de registro. Por ejemplo, desplácese hacia abajo para ver la lista de nombres de host de visitante e IP (Figura B)

Figura B

<a href = "https://tr4.cbsistatic.com/hub/i/2019/11/12/7919b26c-e561-4e80-a9b0-317cb81d92f3/goaccessb.jpg" target = "_ blank" data-component = "modalEnlargeImage "data-headline ="

Nombres de host e IP enumerados.

"data-credit =" "rel =" noopener noreferrer nofollow ">goaccessb.jpg "src =" https://tr4.cbsistatic.com/hub/i/2019/11/12/7919b26c-e561-4e80-a9b0-317cb81d92f3/goaccessb.jpg

Nombres de host e IP enumerados.

Para salir de GoAccess, presione Q en su teclado.

Cómo ver el panel web

Ahora vamos a ejecutar GoAccess de modo que muestre el tablero basado en la web. Fuera del tablero basado en la web, que es mucho más bonito y fácil de leer, la principal diferencia entre los dos es que el tablero del terminal es en tiempo real, mientras que el tablero web se lee del informe generado por el comando. Para esto, emita el comando:

sudo goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html

Debería recuperar su mensaje de terminal. Abra un navegador web y apúntelo a http: //SERVER_IP/report.html (donde SERVER_IP es la dirección IP del servidor que aloja GoAccess y Apache). Debería ver la información en un formato fácil de usar (Figura C)

Figura C

<a href = "https://tr4.cbsistatic.com/hub/i/2019/11/12/6f63dbb3-4614-41ac-aa12-e2486d3d88c6/goaccessc.jpg" target = "_ blank" data-component = "modalEnlargeImage "data-headline ="

El tablero estático basado en la web.

"data-credit =" "rel =" noopener noreferrer nofollow ">goaccessc.jpg "src =" https://tr4.cbsistatic.com/hub/i/2019/11/12/6f63dbb3-4614-41ac-aa12-e2486d3d88c6/goaccessc.jpg

El tablero estático basado en la web.

Cómo recibir pseudo actualizaciones en tiempo real

Para obtener estadísticas actualizadas en su servidor, tendría que ejecutar el comando goaccess por segunda vez. La única forma de obtener actualizaciones periódicas sería crear un script bash y ejecutarlo como un cronjob cada minuto más o menos. Para esto, cree un script bash con el contenido:

!#/bin/bash
sudo goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html

Guarde ese archivo en el directorio de inicio de su usuario. Luego cree una entrada crontab con el comando:

sudo crontab -e

La entrada cron (para ejecutar el comando cada minuto) podría verse así:

* * * * * /home/USERNAME/goaccess.sh

Donde USERNAME es el nombre de un usuario en su sistema.

Con esa entrada crontab en su lugar, cada minuto ese archivo report.html se actualizará con los nuevos datos.

Ahora tiene los medios para ver fácilmente el contenido de su Apache access.log. Controle todos los aspectos de su servidor web para que pueda disfrutar un poco más de seguridad.

Ver también

<a href = "https://tr1.cbsistatic.com/hub/i/r/2016/11/17/6f5f8308-7193-4b46-866d-b88fb0fa68e5/resize/770x/4801747af0d6dbd2dc3dbfc239f2362f/apachehero.jpg" target = _blank "data-component =" modalEnlargeImage "data-headline ="

"data-credit =" Imagen: Apache "rel =" noopener noreferrer nofollow ">apachehero.jpg "src =" https://tr1.cbsistatic.com/hub/i/r/2016/11/17/6f5f8308-7193-4b46-866d-b88fb0fa68e5/resize/770x/4801747af0d6dbd2dc3dbfc239f2362f/apachehero.jpg

Imagen: Apache



Enlace a la noticia original