Tras dos años de desarrollo, la Open Information Security Foundation (OISF) ha publicado la versión 8.0 del sistema de detección y prevención de intrusiones en la red Suricata, que proporciona herramientas para inspeccionar diversos tipos de tráfico. Las configuraciones de Suricata son compatibles con la base de datos de firmas desarrollada por el proyecto Snort, así como con los conjuntos de reglas Emerging Threats y Emerging Threats Pro. El código fuente del proyecto se distribuye bajo la licencia GPLv2.
Cambios importantes:
- Se añadió la capacidad experimental de usar Suricata como firewall. El modo firewall permite usar un dialecto del lenguaje de reglas de inspección de tráfico para filtrar paquetes de red.
- Se ha rediseñado la capacidad de escribir scripts en Lua. El intérprete de Lua 5.4 está integrado en el código base y se ejecuta en un entorno de pruebas que restringe las reglas de Lua (por ejemplo, las reglas no pueden escribir en archivos ni crear sockets de red).
- Se proporciona la capacidad de registrar dinámicamente (en tiempo de ejecución) complementos con analizadores de protocolo, detectores y componentes de registro.
- Se implementaron optimizaciones significativas de rendimiento, acelerando diversos aspectos del motor, como la detección de protocolos, la carga de reglas y la inicialización. Estas mejoras se lograron mediante la predicción de ramificaciones, la optimización de la función hash, el aumento del tamaño del búfer de carga de datos PCAP y la optimización de la sincronización de flujos. El tiempo de inicio de Suricata también se redujo mediante el almacenamiento en caché, la ampliación de la agrupación de puertos y un algoritmo mejorado de sustitución de direcciones IP.
- Los controladores LibHTP, FTP y ENIP, así como el código para analizar tipos MIME, operaciones byte_extract y decodificación base64, se han reescrito en Rust.
- Se agregó soporte para protocolos DoH (DNS sobre HTTPS), LDAP, mDNS (DNS de multidifusión) y Websocket.
- Se agregaron nuevos módulos de decodificación y registro para los protocolos ARP y POP3.
- Proporcionó análisis de tráfico SDP sobre SIP y SIP sobre TCP.
- Se ha ampliado el motor de detección de protocolos y creación de reglas. Ahora se admiten las siguientes palabras clave: LDAP, MIME/EMAIL, vlan.id, DNS, SMTP, FTP, TLS, tcp.wscale, pgsql.query, from_base64, entropy, luaxform y mDNS. Se han añadido reglas transaccionales que permiten describir ambas direcciones de transacción en una sola regla.
Características de Suricata:
- El formato Unified2, también utilizado por el proyecto Snort, se utiliza para generar los resultados de los escaneos, lo que permite el uso de herramientas de análisis estándar como barnyard2. Es compatible con la integración con productos BASE, Snorby, Sguil y SQueRT. Se admite la salida en formato PCAP.
- Compatibilidad con la detección automática de protocolos (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB, etc.), lo que permite que las reglas se apliquen únicamente al tipo de protocolo, sin referencia al número de puerto (por ejemplo, bloquear el tráfico HTTP en un puerto no estándar). Disponibilidad de decodificadores para protocolos HTTP. SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP, LDAP y SSH;
- Un sistema de análisis de tráfico HTTP que utiliza la biblioteca HTP, creada por el autor del proyecto Mod_Security, para analizar y normalizar el tráfico HTTP. Dispone de un módulo para mantener un registro detallado de las transferencias de tránsito HTTP (el registro se guarda en el formato estándar de Apache). Permite la extracción y verificación de archivos transferidos vía HTTP, así como el análisis de contenido comprimido. Es posible la identificación mediante URI, cookies, encabezados, agente de usuario y cuerpo de la solicitud/respuesta.
- Soporte para varias interfaces para interceptación de tráfico, incluidas NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Es posible analizar archivos ya guardados en formato PCAP;
- Alto rendimiento, capacidad de procesar flujos de decenas de gigabits por segundo en equipos convencionales.
- Motor de coincidencia de máscaras de alto rendimiento para grandes conjuntos de direcciones IP. Admite extracción de contenido mediante máscara y expresiones regulares. Extracción de archivos del tráfico, incluyendo su identificación por nombre, tipo o hash.
- Posibilidad de utilizar variables en reglas: puedes guardar información de un flujo y luego usarla en otras reglas;
- Uso del formato YAML en archivos de configuración, que combina claridad con facilidad de procesamiento de máquina;
- Apoyo total IPv6;
- Motor incorporado para desfragmentación y reensamblaje automático de paquetes, lo que permite el procesamiento correcto de flujos, independientemente del orden en que llegan los paquetes;
- Soporte para protocolos de tunelización: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- Soporte de decodificación de paquetes: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, ARP, PPPoE, Raw, SLL, VLAN;
- Modo de registro para claves y certificados utilizados en conexiones basadas en TLS;
- La capacidad de escribir scripts en Lua para el análisis de tráfico avanzado y la implementación de características adicionales para las que las reglas estándar son insuficientes.
Fuente: opennet.ru
