Instalación y uso del sistema de detección Maltrail en Ubuntu 18.04
Este tema trata de otro proyecto de seguridad de código abierto «Maltrail«. Es unsistema de detección de tráficomaliciosoque utiliza las listas de spam/blacklists de rastros maliciosos y sospechosos disponibles públicamente. También utiliza los rastros estáticos de los informes de varios AntiVirus y listas personalizadas definidas por el usuario. Los dominios maliciosos de varios programas maliciosos, la URL de los ejecutables maliciosos conocidos y la dirección IP de los atacantes conocidos son rastros para este sistema. Tiene la capacidad de mecanismos heurísticos avanzados para el descubrimiento de amenazas desconocidas (por ejemplo, nuevo malware). La dirección de github del proyecto es:https://github.com/stamparm/maltrail/
La página de github muestra los recursos de las listas negras (es decir, los feeds), las entradas estáticas y los rastros de varios C&C de malware o sinkholes que se utilizan en este sistema de detección.
Arquitectura de despliegue
Según la información facilitada en el sitio del proyecto, el Maltrail se basa en la arquitecturaTráfico ->Sensor <->Servidor <->Cliente.
El sensor es un componente/máquina independiente que se ejecuta en una plataforma Linux conectada de forma pasiva al puerto SPAN/mirroring o de forma transparente en línea en un puente Linux, donde «monitoriza» el tráfico que pasa en busca de elementos/trails de la lista negra(es decir, nombres de dominio, URLs y/o IPs). Los detalles del evento se envían al servidor (central) en caso de coincidencia positiva y se almacenan en el directorio de registro apropiado.Si el Sensor y el Servidor se ejecutan en la misma máquina (configuración por defecto), los registros se almacenan directamente en el directorio de registro local. Todos los eventos o entradas de registro del periodo elegido (24 horas) se transfieren al Cliente, la aplicación web de informes se encarga de la presentación de los eventos. En este artículo, los componentesdel Servidor se ejecutan en la misma máquina.
Requisitos previos
En este tutorial, Maltrail se instalará en una máquina virtual Ubuntu 18.04 LTS. Para ejecutar correctamente Maltrail, se requierePython 2.7 con el paquete pcapy. No hay otros requisitos, aparte de ejecutar el componente«Sensor y Servidor» con privilegios de root. El siguiente comando instala el paquete python-pcapy en la máquina Ubuntu. También instalará las dependencias necesarias del paquete.
apt-get install git python-pcapy
Puede descargarse delsitio web de corsecuitye instalarse con el siguiente comando. Si elpaquete«python-setuptools» está instalado, instálalo antes de instalar el paquete pcapy. El siguiente comando instala el paquete setuptools en la plataforma Ubuntu.
apt-get install python-setuptools
python setup.py install
Ejecutar el sistema Maltrail
El siguiente comando descarga el último paquete en la máquina Ubuntu y después ejecuta los scripts python del servidor y del sensor en el terminal
git clone https://github.com/stamparm/maltrail.git
cd maltrail/
Iniciar el sensor Maltrail
El siguiente comando inicia el sensor en el terminal.
python sensor.py
Si la lista de Maltrail no está actualizada, se actualizará al ejecutar el sensor en la máquina.
La captura de pantalla anterior muestra que el sensor se está ejecutando correctamente en la máquina.
Iniciar el servidor Maltrail
Para iniciar el «Servidor» enla misma máquina, abre un nuevo terminal y ejecuta lo siguiente:
cd maltrail
python server.py
Como se muestra en la captura anterior, el servidor HTTP se está ejecutando en el puerto 8338. El puerto 8338 debe estar permitido en el cortafuegos si se accede a la interfaz web detrás del mismo.
Panel de control de Maltrail
Accede a la interfaz de informes visitando lapágina http://local-p-ip:8338 (las credenciales por defecto sonadmin:changeme! saved in the maltrail.conf file
) desde tu navegador web. Como se muestra a continuación, al usuario se le presentará la siguiente ventana de autenticación. Introduce las credenciales admin:changeme!
para entrar en el portal web del Matrail.
Una vez dentro del panel de control, al usuario administrador se le presentará la siguiente interfaz de informes.
Probando Maltrail
El siguiente paso de prueba se da en el sitio del proyecto. La dirección IP«136.161.101.53» es una dirección maliciosa, por lo que Maltrail la detecta y la muestra en el Dashboard.
ping -c 5 136.161.101.53
cat /var/log/maltrail/02-10-2018.log
Como se muestra a continuación, ambos ataques (ping a una dirección IP maliciosa) también se muestran en el frontend.
—————————————————————————————
La parte superior del frontend contiene una línea de tiempo deslizante que se activa al hacer clic en la etiqueta de la fecha actual y/o en el icono del calendario. La parte central contiene un resumen de los eventos mostrados. Elcuadro de Eventos representa el número total de eventos en un periodo seleccionado de 24 horas, donde diferentes colores representan diferentes tipos de eventos como los basados en IP, los basados en DNS y los basados en URL. Haz clic en loscuadros para obtener más detalles de cada gráfico.
La parte inferior del frontend contiene una representación condensada de los eventos registrados en forma de tabla paginada.
La configuración del Sensor/Servidor Maltrail
La configuración del sensor del sistema Maltrail está dentro de la sección del archivomaltrail.conf
[Sensor]. The configuration parameters are explained with comments. In this configuration file, user can define setting like update period of static feed, virtual or physical interface of the linux to run Maltrail system etc.
sección del sensor
————————————————————————————–
En la sección del servidor, el usuario puede definir el puerto de escucha y la dirección ip. El usuario puede habilitar el servicio SSL para proteger el tráfico web.
sección del servidor
Almacenamiento de registros
Todos los eventos detectados por los sensores Maltrail se almacenan en el directorio deregistro del servidor(opciónLOG_DIR
dentro de la sección de archivosmaltrail.conf
para establecer laruta del archivo). Todos los eventos detectados se almacenan con fecha.
Barrido de puertos
También detecta demasiados intentos de conexión a determinados puertos TCP. El sistema Maltrail advierte de un posible barrido de puertos porque detecta mecanismos heurísticos.
Falsos positivos
Maltrail es propenso a los «falsos positivos», como todas las demás soluciones de seguridad. En este tipo de casos, Maltrail (especialmente en el caso de las amenazas desuspicious
)registrará el comportamiento de un usuario normal y lo marcará como malicioso y/o sospechoso. Al igual que el motor de búsqueda de Google, también escanea los dominios y la dirección IP. Así, a veces la dirección IP legítima de Google se convertirá en atacante debido a varios intentos en los dominios/direcciones IP legítimas.
Conclusión
Este artículo trata sobre el sistema de detección de tráfico malicioso «Maltrail», que detecta el tráfico utilizando fuentes estáticas y un mecanismo heurístico. Está desarrollado en Python y consta de dos componentes principales «sensor y servidor». Puede ejecutarse en una sola máquina y detectar el tráfico en cualquier interfaz de la máquina. Es útil para proteger la red de los atacantes conocidos en Internet. Actualmente, sólo admite la detección de tráfico. Sin embargo, puede integrarse con otras herramientas de código abierto para realizar el bloqueo de direcciones IP en el cortafuegos iptables.