Maltrail: IDS para seguridad perimetral fácil de usar

Maltrail, es un IDS creado por Miroslav Stampar que también desarrolló SQLmap. Este IDS está escrito en python y es muy sencillo de configurar y ponerlo en marcha. Y además de sencillo visualmente es atractivo y da información que otros IDS no dan, por ejemplo la inversa de las IPs. Utiliza varias fuentes (alienvault, binarydefense, badips…) para comprobar peticiones procedentes de equipos que tengan de mala reputación.

El ejemplo que vamos a realizar, va a ser varias sondas mandando los logs a un server que recopile todo y los muestre mediante la interfaz web.

Server

Para empezar, hay que instalar todos los paquetes necesarios

apt install git python-pcapy schedtool

Una vez instaladas, vamos a proceder a clonar el repositorio

cd /opt/ && git clone https://github.com/stamparm/maltrail/ && cd maltrail/

Ahora vamos a editar el archivo de configuración

vim maltrail.conf
HTTP_ADDRESS 0.0.0.0   #IP en la que escucha la interfaz web
HTTP_PORT 8338   #Puerto en el que escucha
USERS
    admin:$ff0ae5570e1f39a8$10000$d42e622afe0b0ede53b64b97a59d65c221edbf9dde2f0e95:0:0.0.0.0/0 #(usuario por defecto con password "changeme!")
    <usuario>:python core/pbkdf2.py:0:<IP en la que escucha>/<máscara> #(para crear un nuevo usuario crear la pass con "python core/pbkdf2.py") 
UDP_ADDRESS 0.0.0.0  #IP para recibir los logs
UDP_PORT 8337  #Puerto para recibir los logs
LOG_DIR /var/log/maltrail     #Ruta donde se guardan los logs por defecto, /var/log/maltrail
USE_SERVER_UPDATE_TRAILS true  #Para poder actualizar los trails de las sondas

Crear la carpeta de logs de maltrail

mkdir /var/log/maltrail

Una vez configurado, ejecutar el servidor

python server.py

Sonda

Para empezar, hay que instalar todos los paquetes necesarios

apt install git python-pcapy schedtool

Una vez instaladas, vamos a proceder a clonar el repositorio

cd /opt/ && git clone https://github.com/stamparm/maltrail/ && cd maltrail/

Ahora vamos a editar el archivo de configuación

vim maltrail.conf
USE_MULTIPROCESSING true  #Para usar varios procesadores. Esto puede aumentar el consumo de recursos notablemente
LOG_SERVER <IP>:8337  #La IP del server y el puerto donde está escuchando
UPDATE_SERVER http://<IP>:8338/trails  #La IP del server y el puerto donde está escuchando el trails
USE_HEURISTICS true  #Para utilizar la heuristica
Y por último, ejecutar la sonda
python sensor.py &

Una vez hecho todo esto, ahora solo queda conectarse a la web y ver lo que se está capturando.

http://<IP_server>:8338

 

2 comments

Leave a Reply

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