Usando maltrail en un servidor Debian 8
En mi incansable busqueda de herramientas de monitoreo y seguridad informàtica programadas en Python, me encontre con maltrail, programa que monitorea la red en busqueda de tràfico malicioso o sospechoso, utilizando para ello black/lists pùblicas o reportes de AV o informes privados. En general, se trata de una herramienta sencilla, con una completa y bonita interfaz gràfica, que proporciona informaciòn relevante del atacante o sospechoso y de la amenaza o peligro en cuestiòn. Una completa informaciòn sobre la arquitectura, funciones y caracteristicas del programa lo encontraras aqui: maltrail.
Para efectos de explicar en breve la instalaciòn y funcionamiento de maltrail he querido utilizar un servidor Debian 8 el cual debe tener instalado python, git y python-pcapy. Utilizaremos la instalaciòn por defecto, esto es, tanto el servidor y el sensor se ejecutaràn en la misma maquina.
Instalaciòn y funcionamiento:
A) En primer lugar clonamos en el servidor debian 8 el programa desde el repositorio de github con el siguiente comando:
root@peritas:~# git clone https://github.com/stamparm/maltrail.git
B) Despuès nos movemos a la carpeta maltrail y echamos una mirada a su contenido:
root@peritas:~# cd maltrail/
root@peritas:~/maltrail# ls
core html maltrail.conf plugins requirements.txt server.py
docker LICENSE misc README.md sensor.py trails
C) Para poner en funcionamiento maltrail debemos ejecutar primero “sensor.py “y despuès “server.py“. La primera vez que ejecutamos sensor.py o cada cierto tiempo se actualizaran los black/lists desde los distintos sitios web.
root@peritas:~/maltrail# python sensor.py
Maltrail (sensor) #v0.10.85
[i] using configuration file ‘/root/maltrail/maltrail.conf’
[i] using ‘/var/log/maltrail’ for log storage
[?] at least 384MB of free memory required
[i] loading trails…
[i] 1,024,501 trails loaded
[?] in case of any problems with packet capture on virtual interface ‘any’, please put all monitoring interfaces to promiscuous mode manually (e.g. ‘sudo ifconfig eth0 promisc’)
[i] opening interface ‘any’
[i] setting capture filter ‘udp or icmp or (tcp and (tcp[tcpflags] == tcp-syn or port 80 or port 1080 or port 3128 or port 8000 or port 8080 or port 8118))’
[i] preparing capture buffer…
[i] creating 3 more processes (out of total 4)
[?] please install ‘schedtool’ for better CPU scheduling (e.g. ‘sudo apt-get install schedtool’)
[o] running…
Despues iniciamos server.py con el siguiente comando:
root@peritas:~/maltrail# python server.py
Maltrail (server) #v0.10.85
[i] using configuration file ‘/root/maltrail/maltrail.conf’
[i] starting HTTP server at ‘http://0.0.0.0:8338/‘
[o] running…
D) Para levantar el entorno gràfico del servidor, simplemente escribimos la direcciòn en nuestro navegador, que para el caso de este tutorial y atendido que instale maltrail en forma remota, utilizare la ip publica del servidor Debian 8.
E) Si quieres probar maltrail en tu pc, instala el programa, echa a correr sensor.py y server.py, escanea o ataca tu propia ip con nmap u otra herramienta, y levanta el entorno gràfico con tu browser, y veras a maltrail funcionar a la perfecciòn.