8 июля 2025 года организация OISF (Open Information Security Foundation) представила выпуск системы обнаружения и предотвращения сетевых вторжений Suricata 8.0, которая предоставляет инструменты и средства инспектирования различных видов трафика. В конфигурациях Suricata допустимо задействование базы сигнатур, развиваемой проектом Snort, а также наборов правил Emerging Threats и Emerging Threats Pro. Исходные тексты проекта распространяются под лицензией GPLv2.
Suricata — это многофункциональная и мощная система обнаружения вторжений в сеть (IDS), система предотвращения вторжений (IPS) и инструмент мониторинга сетевой безопасности (NSM). Разработанная Фондом открытой информации безопасности (OISF), Suricata известна своей высокой производительностью и масштабируемостью, что делает её популярной среди специалистов по безопасности для мониторинга и защиты сетевых инфраструктур.
По информации OpenNET, особенности проекта Suricata:
использование для вывода результатов проверки унифицированного формата Unified2, также применяемого проектом Snort, что позволяет использовать стандартные инструменты для анализа, такие как barnyard2. Возможность интеграции с продуктами BASE, Snorby, Sguil и SQueRT. Поддержка вывода в формате PCAP;
поддержка автоматического определения протоколов (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB и т. п.), позволяющая оперировать в правилах только типом протокола, без привязки к номеру порта (например, блокировать HTTP трафик на нестандартном порту). Наличие декодировщиков для протоколов HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP, LDAP и SSH;
система анализа HTTP‑трафика, использующая для разбора и нормализации HTTP‑трафика библиотеку HTP, созданную автором проекта Mod_Security. Доступен модуль для ведения подробного лога транзитных HTTP пересылок (лог сохраняется в стандартном формате Apache). Поддерживается извлечение и проверка файлов, передаваемых по протоколу HTTP, а также разбор сжатого контента. Возможность идентификации по URI, Cookie, заголовкам, user‑agent, телу запроса/ответа;
поддержка различных интерфейсов для перехвата трафика, в том числе NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Возможен анализ уже сохранённых файлов в формате PCAP;
высокая производительность, способность обрабатывать на обычном оборудовании потоки в десятки гигабит в секунду.
высокопроизводительный механизм сопоставления по маске с большими наборами IP‑адресов. Поддержка выделения контента по маске и регулярным выражениям. Выделение файлов из трафика, в том числе их идентификация по имени, типу или хэшу.
возможность использования переменных в правилах: можно сохранить информацию из потока и позднее использовать её в других правилах;
использование формата YAML в файлах конфигурации, сочетающего наглядность с лёгкостью машинной обработки;
полная поддержка IPv6;
встроенный движок для автоматической дефрагментации и пересборки пакетов, позволяющий обеспечить корректную обработку потоков, независимо от порядка поступления пакетов;
поддержка протоколов туннелирования: Teredo, IP‑IP, IP6-IP4, IP4-IP6, GRE;
поддержка декодирования пакетов: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, ARP, PPPoE, Raw, SLL, VLAN;
режим ведения лога ключей и сертификатов, фигурирующих в соединениях на базе TLS;
возможность написания скриптов на языке Lua для расширенного анализа трафика и реализации дополнительных возможностей, для которых недостаточно стандартных правил.
Основные изменения и доработки в Suricata 8.0 :
добавлена экспериментальная возможность использования Suricata в качестве межсетевого экрана. Режим межсетевого экрана позволяет использовать диалект языка правил инспектирования трафика для фильтрации сетевых пакетов;
переработана возможность написания скриптов на языке Lua. В состав кодовой базы интегрирован интерпретатор Lua 5.4, запускаемый в sandbox‑окружении, ограничивающем правила на языке Lua (например, из правил не может осуществляться запись в файлы или создаваться сетевые сокеты);
предоставлена возможность динамической (во время работы) регистрации плагинов с парсерами протоколов, детекторами и компонентами для ведения логов;
проведены значительные оптимизации производительности, позволившие ускорить различные аспекты работы движка, включая определение протоколов, загрузку правил и инициализацию. Ускорение достигается благодаря предсказанию переходов, оптимизации хэш‑функций, увеличению размера буферов загрузки данных в формате PCAP и переработке синхронизации потоков. Также удалось сократить время запуска Suricata, используя кэширование, расширенную группировку портов и улучшенный алгоритм подстановки IP‑адресов;
на языке Rust переписаны обработчики LibHTP, FTP, ENIP, а также код разбора MIME‑типов, операции byte_extract и декодирования base64;
добавлена поддержка протоколов DoH (DNS over HTTPS), LDAP, mDNS (Multicast DNS) и Websocket;
добавлены новые модули декодирования и ведения логов для протоколов ARP и POP3;
обеспечен разбор трафика SDP поверх SIP и SIP поверх TCP;
расширены возможности движка определения протоколов и построения правил. Для правил реализованы ключевые слова LDAP, MIME/ EMAIL, vlan.id, DNS, SMTP, FTP, TLS, tcp.wscale, pgsql.query, from_base64, entropy, luaxform и mDNS. Добавлены транзакционные правила, позволяющие описать оба направления транзакции в одном правиле.
Разработчиками проекта представлено руководство по апгрейду с Suricata 7.0 (выпущена два года назад) до новой версии.
Источник: habr.com