Ubunlog Darkcrizt  

Suricata 8 se renueva con firewall, mejoras de rendimiento y más protocolos

Suricata

La Open Information Security Foundation (OISF) dio a conocer hace pocos días el lanzamiento dela nueva versión de Suricata 8.0, una versión que marca un gran salto en funcionalidad, rendimiento y seguridad para este sistema de detección y prevención de intrusiones (IDS/IPS).

Tras dos años de desarrollo, Suricata se posiciona como una solución más robusta y flexible, con capacidades experimentales de cortafuegos, un entorno Lua más seguro, un motor optimizado y amplio soporte para nuevos protocolos.

Principales novedades de Suricata 8.0

Una de las funciones destacadas es el nuevo modo firewall, que permite usar un dialecto formalizado del lenguaje de reglas de Suricata para filtrar paquetes en tiempo real. Aunque se considera experimental, esta funcionalidad marca el inicio de una integración más estrecha entre detección y prevención activa de amenazas.

Este nuevo firewal mplementa una política de descarte por defecto, además de que evalúa reglas según «ganchos» del estado del protocolo y requiere definir explícitamente qué tráfico está permitido.

Otra de las novedades que presenta Suricata 8.0, es que ahora incluye Lua 5.4 integrado por defecto, lo que garantiza coherencia en todos los entornos. Además, Lua se ejecuta en un sandbox de seguridad que impide acciones de alto riesgo como:

  • Escritura en archivos.
  • Apertura de sockets o acceso al sistema operativo.
  • Carga de módulos de terceros.

Ademas de ello, las reglas basadas en Lua están habilitadas por defecto, y se pueden extender mediante bibliotecas seguras documentadas por la OISF.

Mejoras de rendimiento y arquitectura

El motor de detección de Suricata ha recibido múltiples optimizaciones:

  • Predicción de ramificaciones y mejora de funciones hash.
  • Lectura PCAP más rápida con búferes más grandes.
  • Inicio más ágil con agrupación de puertos mejorada y almacenamiento en caché de patrones.
  • Optimización de sincronización de flujos y reensamblaje.

Suricata 8.0 también permite el registro dinámico de plugins y analizadores de protocolo, facilitando extensiones personalizadas sin modificar el código fuente principal.

Conversión a Rust: más seguridad y rendimiento

Por otra parte, en Suricata 8.0, varios módulos críticos fueron reescritos en Rust para mejorar la seguridad y la robustez del sistema. Entre ellos:

  • LibHTP (análisis HTTP).
  • Soporte para FTP, ENIP, MIME, base64, byte_extract.
  • Decodificadores para SIP, MQTT, RFB y SNMP.
  • El comando suricatasc también fue migrado a Rust.

Además de ello, Suricata 8.0 también incluye compatibilidad con múltiples nuevos protocolos y funciones de análisis:

  • DNS sobre HTTPS (DoH)
  • LDAP
  • mDNS (DNS de multidifusión)
  • POP3 (con decodificador y logger)
  • WebSocket
  • SDP sobre SIP, y SIP sobre TCP
  • ARP (nuevo decodificador y logger)

Nuevas reglas y detección

La nueva versión incluye un conjunto ampliado de palabras clave y capacidades para escribir reglas más complejas y eficientes:

  • Reglas transaccionales: permiten describir ambas direcciones de una transacción en una sola regla.
  • Nuevas palabras clave: entropy, from_base64, luaxform, tcp.wscale, pgsql.query, mDNS, requires.
  • Compatibilidad con datos JSON en conjuntos de datos para enriquecer alertas.
  • Soporte mejorado para detección basada en absent, vlan.id, TLS, FTP, SMTP, LDAP, EMAIL, y más.

Por la parte de las extensiones, en Suricata 8.0 se mejora con:

  • API pública para el registro de salida personalizada.
  • Plugins para Napatech, PF_RING (ahora como plugins externos).
  • Soporte inicial de nDPI como complemento.
  • Contadores detallados para políticas de excepción.
  • Estadísticas sobre reensamblajes omitidos y reglas ignoradas.
  • Nuevas métricas para manejo de memoria, uso de BPF y caída de paquetes.
  • Mayor detalle en los esquemas de salida EVE.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Descarga y disponibilidad

Suricata 8.0 ya está disponible desde el repositorio oficial. El código fuente puede obtenerse en GitHub o mediante los paquetes distribuidos por la OISF para distintas plataformas.

Para instalar esta utilidad, lo podremos hacer añadiendo el siguiente repositorio en nuestro sistema. Para ello basta con teclear los siguientes comandos:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update
sudo apt-get install suricata

En caso de 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

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.