Ya fue liberada la nueva version de Suricata 6.0
Después de un año de desarrollo, la Open Information Security Foundation (OISF) dio a conocer mediante una publicación de blog, el lanzamiento de la nueva version de Suricata 6.0, el cual es un sistema de prevención y detección de intrusiones en la red que proporciona un medio para inspeccionar varios tipos de tráfico.
En esta nueva edición se presentan diversas mejoras bastante interesantes, tales como el soporte para HTTP/2, mejoras a diversos protocolos, mejoras de rendimiento, entre otros cambios mas.
Para quienes desconocen de suricata, deben saber que este software 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 6.0
En esta nueva version de Suricata 6.0 podremos encontrar el soporte inicial para HTTP/2 con el cual se introducen innumerables mejoras como el uso de una única conexión, la compresión de cabeceras, entre otras cosas.
Además de que se incluyo la compatibilidad con los protocolos RFB y MQTT, incluida la definición de protocolos y las capacidades de registro.
También el rendimiento de registro fue significativamente mejorado a través del motor EVE, que proporciona salida JSON de eventos. La aceleración se logra gracias al uso del nuevo generador de sumideros JSON, escrito en el lenguaje Rust.
Se aumentó la escalabilidad del sistema de registro EVE e implementó la capacidad de mantener un archivo de registro del hotel para cada transmisión.
Además, Suricata 6.0 introduce un nuevo lenguaje de definición de reglas que agrega soporte para el parámetro from_end en la palabra clave byte_jump y el parámetro bitmask en byte_test. Además de que la palabra clave pcrexform se ha implementado para permitir que las expresiones regulares (pcre) capturen una subcadena.
La capacidad de reflejar las direcciones MAC en el registro EVE y aumentar el detalle del registro DNS.
De los demás cambios que se destacan de esta nueva version:
- Conversión de urldecode agregada. Se agregó la palabra clave byte_math.
- Capacidad de registro para el protocolo DCERPC.La capacidad de definir condiciones para volcar información en el registro.
- Mejora del rendimiento del motor de flujo.
- Soporte para identificar implementaciones SSH ( HASSH ).
- Implementación del decodificador de túnel GENEVE.
- Código de Rust reescrito para manejar ASN.1 , DCERPC y SSH. Rust también admite nuevos protocolos.
- Proporcionar la capacidad de usar cbindgen para generar enlaces en Rust y C.
- Se agregó soporte de complemento inicial.
Finalmente si quieres conocer mas al respecto, puedes consultar los detalles dirigiéndote al siguiente enlace.
¿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 dependencias, 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