62 000 строк на Rust, новый файрвол и свежие буферы: что реально поменялось в Suricata 8?
NewsMakerРелиз 8.0 позволяет собирать систему под себя.
Вышел стабильный релиз Suricata 8.0 — системы обнаружения вторжений и анализа сетевого трафика с открытым исходным кодом, разрабатываемой фондом OISF. Это первое крупное обновление за два года после выхода Suricata 7.0. Версия 8 знаменует собой серьёзный шаг в развитии проекта, с акцентом на производительность, расширенные возможности детектирования, безопасность и поддержку новых протоколов.
Одно из ключевых улучшений — ускорение работы движка. Повышена эффективность загрузки правил, улучшено чтение PCAP-файлов, оптимизирована инициализация благодаря переработке алгоритмов группировки портов и кешированию MPM. Благодаря этим изменениям обработка сетевого трафика стала быстрее и стабильнее.
В плане безопасности особое внимание уделено переводу критичных компонентов на язык Rust : переписаны библиотеки для обработки FTP, MIME, ENIP и HTTP (LibHTP). Это снижает риски уязвимостей за счёт отказа от небезопасного C-кода. Расширена поддержка протоколов: добавлены ARP, DoH, LDAP, mDNS, POP3, SDP и WebSocket.
Улучшена система правил. Введены новые ключевые слова (например,
Поддержка Lua получила переработку: теперь Lua 5.4 встроен в проект, работает в изолированной песочнице и доступен по умолчанию. Это повышает безопасность выполнения пользовательских скриптов и исключает доступ к системным ресурсам. Однако такие изменения делают невозможной загрузку внешних Lua-библиотек и доступ к модулю
Suricata теперь легче интегрировать как библиотеку: разработчики могут использовать собственные потоки и пакеты, а также настраивать вывод логов на низком уровне. Поддержка плагинов расширилась: появились примеры динамической регистрации новых парсеров (включая SNMP) и плагинов приложений. Захват трафика через Napatech и PF_RING также вынесен в виде отдельных модулей.
Журналирование стало точнее. Теперь логи фиксируют исключения и применённые политики, расширена статистика по памяти и переполнениям, появились новые схемы вывода в формате EVE. Пользователи могут отключать нулевые счётчики и адаптировать структуру логов под свои нужды.
Кодовая база активно «Rust-ифицируется»: только в этом релизе было добавлено более 62 тысяч строк на Rust . В общей сложности изменено 2090 файлов, из них 470 — с кодом на Rust и 1294 — на C. Поддержка Rust обновлена до версии 1.75.0.
Для пользователей PF_RING важное изменение: теперь этот механизм захвата подключается как плагин и требует изменения конфигурации.

Вышел стабильный релиз Suricata 8.0 — системы обнаружения вторжений и анализа сетевого трафика с открытым исходным кодом, разрабатываемой фондом OISF. Это первое крупное обновление за два года после выхода Suricata 7.0. Версия 8 знаменует собой серьёзный шаг в развитии проекта, с акцентом на производительность, расширенные возможности детектирования, безопасность и поддержку новых протоколов.
Одно из ключевых улучшений — ускорение работы движка. Повышена эффективность загрузки правил, улучшено чтение PCAP-файлов, оптимизирована инициализация благодаря переработке алгоритмов группировки портов и кешированию MPM. Благодаря этим изменениям обработка сетевого трафика стала быстрее и стабильнее.
В плане безопасности особое внимание уделено переводу критичных компонентов на язык Rust : переписаны библиотеки для обработки FTP, MIME, ENIP и HTTP (LibHTP). Это снижает риски уязвимостей за счёт отказа от небезопасного C-кода. Расширена поддержка протоколов: добавлены ARP, DoH, LDAP, mDNS, POP3, SDP и WebSocket.
Улучшена система правил. Введены новые ключевые слова (например,
tcp.wscale
, pgsql.query
, from_base64
, entropy
), а также поддержка трансакционных правил и возможность выявлять отсутствие буферов. Добавлены новые буферы и ключевые слова для анализа DNS, SMTP, TLS, FTP , MIME и других протоколов . Появился экспериментальный режим файрвола — теперь Suricata может работать в режиме межсетевого экранирования с политиками по умолчанию и формализованной логикой правил. Поддержка Lua получила переработку: теперь Lua 5.4 встроен в проект, работает в изолированной песочнице и доступен по умолчанию. Это повышает безопасность выполнения пользовательских скриптов и исключает доступ к системным ресурсам. Однако такие изменения делают невозможной загрузку внешних Lua-библиотек и доступ к модулю
os
. Suricata теперь легче интегрировать как библиотеку: разработчики могут использовать собственные потоки и пакеты, а также настраивать вывод логов на низком уровне. Поддержка плагинов расширилась: появились примеры динамической регистрации новых парсеров (включая SNMP) и плагинов приложений. Захват трафика через Napatech и PF_RING также вынесен в виде отдельных модулей.
Журналирование стало точнее. Теперь логи фиксируют исключения и применённые политики, расширена статистика по памяти и переполнениям, появились новые схемы вывода в формате EVE. Пользователи могут отключать нулевые счётчики и адаптировать структуру логов под свои нужды.
Кодовая база активно «Rust-ифицируется»: только в этом релизе было добавлено более 62 тысяч строк на Rust . В общей сложности изменено 2090 файлов, из них 470 — с кодом на Rust и 1294 — на C. Поддержка Rust обновлена до версии 1.75.0.
Для пользователей PF_RING важное изменение: теперь этот механизм захвата подключается как плагин и требует изменения конфигурации.