Hemos visto muchas herramientas para visualización gráfica de capturas de red, logs, etc. Tenéis mucha más información y artículos en la serie creada al respecto: Visualización gráfica tráfico de red.
En esta ocasión vamos a estudiar una heramienta desarrollada en ruby
que, conectando a un servidor local o remoto mediante SSH, es capaz de mostrar en tiempo real una serie de datos que toma de los ficheros logs.
De esta forma es capaz de mostrar datos de logs de herramientas como
Apache, Rails, IIS, Postfix/spamd/clamd, Nginx, Squid, PostgreSQL,
PureFTPD, MySQL, Tshark, qmail/vmpop3d. Además es capaz de mostrarlos de forma simultánea. Esta herramiente es glTail.rb.
Muestra, en tiempo real, datos como: dirección de orígen/destino, protocolos usados, peticiones por minuto, ancho de banda, etc.
Instalando glTail.rb.
Para instalar
glTail.rb he seguido la siguiente secuencia:
sudo apt-get install rubygems rake ruby1.8-dev libgl1-mesa-dev libglu1-mesa-dev libglut3-dev build-essential
sudo gem install net-ssh ruby-opengl -r
sudo gem install -y file-tail -r
Ahora descargamos glTail.rb:
wget http://rubyforge.org/frs/download.php/39787/gltail-0.1.8.tgz
tar -zxf gltail-0.1.8.tgz
cd gltail-0.1.8
Ahora tenemos que modificar / personalizar el archivo
config.yaml que se ubica en
gltail-0.1.8/dist/
config.yaml para incluir lo servidores y comentar lo que no proceda. En mi caso y para este primer ejemplo:
servers:
site1:
host: 192.168.1.96
user: preludeids
password: tatachintatachan
command: tail -f -n0
#files: /var/log/apache/access_log
files: /var/log/apache2/other_vhosts_access.log
parser: apache
color: 0.2, 1.0, 0.2, 1.0
# rails:
# host: anotherfunsite.com
# user: anotherfunuser
# port: 222
# command: tail -f -n0
# files: /var/www/apps/funapp/current/log/production.log
# parser: rails
# color: 0.2, 0.2, 1.0, 1.0
# dev:
# host: clockingit.com
# source: local
# files: /var/www/clockingit/logs/production.log
# parser: rails
# color: 0.2, 0.2, 1.0, 1.0
¿ Qué hemos hecho ?.
Hemos indicado para el
site1 la IP del host remoto, usuario y contraseña para conectar mediante
SSH y en files la ubicación del archivo log de
apache.
Este sería una configuración de los más simple. Podríamos configurar dos fuentes de datos. Por ejemplo logs de Apache y
Tshark:

Observad como he sustutuido el por defecto site1 por algo más personalizado para mi server donde se ubica
prewikka (
SIEM Prelude IDS / IPS) y otro para la ubicación de un log de
Tshark donde estoy ejecutando esta herramienta en tiempo real.
La línea de comandos simple para volcar la salida de
tshark en un
fichero log sería:
tshark -ieth0 > tshark.log
También podemos, en el
tag config, modificar dimensiones, tamaño de nodos, etc.
Ejecutando glTail.rb.
Ejemplo.1
En este primer ejemplo voy a usar un solo site. Un servidor
HTTP Apache:
prewikka_1:
host: 192.168.1.96
user: preludeids
password: tatachintatachan
command: tail -f -n0
#files: /var/log/apache/access_log
files: /var/log/apache2/other_vhosts_access.log
parser: apache
color: 0.2, 1.0, 0.2, 1.0
Una vez salvado el archivo y dentro de la carpeta
bin donde se encuentra
gl_tail, ejecutamos de la forma:
alfon@alfonubuntu:~/gltail-0.1.8/bin$ ./gl_tail ../dist/config.yaml
El resultado es:

Tenemos 3 columnas:
- Columna izquierda. Tenemos información del site o
sites. En este caso el site (prewikka_1). Vemos un resúmen del
contenido de las peticiones (imagenes, hojas de estilo, javascript..).
Status HTTP y usuarios, en este aso dos IP que realizan peticiones al
servidorHTTP Apache junto a las peticiones o requests por minuto (r/m).
- Columna central. Representa la información grafica,
en tiempo real de los request o peticiones (de izquierda a derecha) y
las respuestas del servidor mediante nodos en 3D. El tamaño corresponde
al “volumen” de la petición. Como respuesta del servidor, tendremos
otros nodos que irán de derecha a izquierda.
- Columna derecha. Información sobre las URLs
requeridas por el origen de las peticiones junto a requests/minuto.
Información de User Agent usado por el user o usuario que realiza las
peticiones.
La información de las columnas varian dependiendo del
parser usado. En este caso se trata del parse apache. Para Tshark, Poxfix, etc sería distinta la información.
Sobre
visualización gráfica de logs de apache tenéis también:
Ejemplo.2
Bien, ahora vamos a usar
Inguma-0.4 y
nikto para realizar una
auditoría del sitio web y vamos a observar el tráfico. El resultado es:

Observad la cantidad de requerst / minuto que genera nikto y en la columna de la derecha aparece una nueva columna:
WARNINGS. código 404.
El
User Agent, que no se aprecia bien en la captura, es
Python urllib/2.6.
GlTail ha detectado que se trata de un script de python.
Si realizáis esta prueba veréis en movimiento (tiempo real) todas
estas “transacciones” y los nodos más pequeños de respuestas del
servidor (de derecha a izquierda).
Ejemplo.3
Ahora voy a desactivar le site prewikka_1 y activar el site y
parser Tshark. Ponemos en marcha
Tshark.
sudo tshark -ieth0 > tshark.log
Ahora para probar realizo un
scan con nmap.
En este caso solo tendremos información en columna izquierda y central:

Aquí vemos un nuevo tag de información que es
TYPE. Referidos a los protocolos. En este caso
TCP con
293.04 r/m.
==========
Hasta aqui por hoy. Hasta la próxima.
Fuente:https://seguridadyredes.wordpress.com/2011/09/16/gltail-rb-visualizacion-grafica-en-tiempo-real-de-ficheros-logs-en-servidores/