Llega la nueva versión de Suricata 5.0, el sistema de detección de intrusos en la red
La Open Information Security Foundation ha publicado el lanzamiento de Suricata 5.0, el cual es un sistema de detección y prevención de intrusos en la red que proporciona herramientas de inspección para varios tipos de tráfico.
Está basado en un conjunto de reglas desarrolladas externamente para supervisar el tráfico de la red y proporcionar alertas al administrador del sistema cuando se producen eventos sospechosos. En las configuraciones de Suricata, está permitido utilizar la base de datos de firmas desarrollada por el proyecto Snort, así como los conjuntos de reglas Emerging Threats y Emerging Threats Pro . El código fuente del proyecto se distribuye bajo la licencia GPLv2.
Principales novedades de Suricata 5.0
En esta nueva versión se presentan nuevos módulos de análisis y registro para los protocolos RDP, SNMP y SIP escritos en Rust. El módulo para el análisis FTP tiene la capacidad de iniciar sesión a través del subsistema EVE, que proporciona salida de eventos en formato JSON.
Además del soporte para el método de autenticación de cliente TLS JA3 que apareció en la versión anterior, se agrega soporte para el método JA3S , que permite determinar qué software se utiliza para establecer la conexión en función de las características y parámetros de negociación de conexión que se establecen (por ejemplo, le permite determinar el uso de Tor y otras aplicaciones típicas).
JA3 proporciona la capacidad de definir clientes y JA3S – servidores. Los resultados de definición se pueden usar en el lenguaje de reglas y en los registros.
Se ha agregado una capacidad experimental para comparar con una selección de grandes conjuntos de datos, implementada utilizando el nuevo conjunto de datos y las operaciones de datarep . Por ejemplo, la función es aplicable para buscar máscaras en listas negras grandes con millones de entradas.
En el modo de inspección HTTP, todas las situaciones descritas en el conjunto de pruebas Evader de HTTP están completamente cubiertas (por ejemplo, cubre los métodos utilizados para ocultar la actividad maliciosa en el tráfico).
Las herramientas de desarrollo para módulos en el lenguaje Rust se transfieren de las opciones a la categoría de capacidades de personal obligatorias. En el futuro, se planea expandir el uso de Rust en la base del código del proyecto y reemplazar gradualmente los módulos con análogos desarrollados en Rust.
El motor de definición de protocolo se ha mejorado en el campo de aumentar la precisión y el procesamiento de los flujos de tráfico asíncrono.
Se agregó soporte para un nuevo tipo de registros de “anomalías” en el registro EVE, en el que se almacenan los eventos atípicos detectados durante la decodificación de paquetes. EVE también se expande en VLAN e interfaces de captura de tráfico. Opción agregada para guardar todos los encabezados HTTP en las entradas de registro http EVE;
Se ha rescrito el código para capturar el tráfico utilizando el marco de Netmap. Se agregó la capacidad de usar funciones avanzadas de Netmap, como un interruptor virtual VALE .
Todo el código Python usado se prueba para compatibilidad con Python 3.
¿Cómo instalar Suricata en Ubuntu?
Para instalar esta utilidad, lo podremos hacer añadiendo el siguiente repositorio en nuestro sistema. Para ello basta con teclear los siguientes comandos:
sudo add-apt-repository ppa:oisf/suricata-stable sudo apt-get update sudo apt-get install suricata
En caso de tener Ubuntu 16.04 o tener problemas con las dependecias, con el siguiente comando se soluciona:
sudo apt-get install libpcre3-dbg libpcre3-dev autoconf automake libtool libpcap-dev libnet1-dev libyaml-dev zlib1g-dev libcap-ng-dev libmagic-dev libjansson-dev libjansson4
Hecha la instalación, se recomienda desactivar cualquier paquete de funciones offloead en el NIC que Suricata está escuchando.
Pueden desactivar LRO/GRO en la interfaz de red eth0 utilizando el siguiente comando:
sudo ethtool -K eth0 gro off lro off
Suricata soporta una serie de modos de funcionamiento. Podemos ver la lista de todos los modos de ejecución con el siguiente comando:
sudo /usr/bin/suricata --list-runmodes
El modo de ejecución predeterminado utilizado es autofp significa “balanceo automático de carga de flujo fijo”. En este modo, los paquetes de cada flujo distinto se asignan a un solo hilo de detección. Los flujos se asignan a los subprocesos con el número más bajo de paquetes no procesados.
Ahora podemos proceder a iniciar Suricata en modo pcap live , usando el siguiente comando:
sudo /usr/bin/suricata -c /etc/suricata/suricata.yaml -i ens160 --init-errors-fatal