Suricata 8 получает обновление с брандмауэром, улучшенной производительностью и новыми протоколами

сурикат

Фонд открытой информационной безопасности (OISF) несколько дней назад объявил о выпуске новой версии Suricata 8.0, которая знаменует собой значительный скачок в функциональности, производительности и безопасности этой системы обнаружения и предотвращения вторжений (IDS/IPS).

После двух лет разработки Suricata позиционируется как более надежное и гибкое решение с экспериментальными возможностями брандмауэра, более безопасной средой Lua, оптимизированным движком и расширенной поддержкой новых протоколов.

Основные новости Suricata 8.0

Одной из отличительных особенностей является новый режим брандмауэрачто позволяет использовать формализованный диалект языка правил Фильтрация пакетов в реальном времени от Suricata. Хотя эта функция считается экспериментальной, она знаменует собой начало более тесной интеграции активного обнаружения и предотвращения угроз.

Этот новый брандмауэр реализует политику отбрасывания по умолчанию, оценивает правила на основе «перехватов» состояния протокола и требует явного определения того, какой трафик разрешен.

Еще одна новая функция Suricata 8.0 заключается в том, что теперь включает в себя Lua 5.4, встроенный по умолчанию, Это обеспечивает согласованность во всех средах. Кроме того, Lua работает в безопасной «песочнице», которая предотвращает такие высокорисковые действия, как:

  • Запись в файлах.
  • Открытие сокетов или доступ к операционной системе.
  • Загрузка сторонних модулей.

Кроме того, правила на основе Lua включены по умолчанию и могут быть расширены с использованием безопасных библиотек, документированных OISF.

Улучшения производительности и архитектуры

Механизм обнаружения Suricata получил несколько оптимизаций:

  • Улучшение прогнозирования ветвлений и хеш-функции.
  • Более быстрое чтение PCAP с большими буферами.
  • Более быстрый запуск благодаря улучшенной группировке портов и кэшированию шаблонов.
  • Оптимизация синхронизации потока и повторная сборка.

Suricata 8.0 тоже позволяет динамическую регистрацию плагинов и анализаторов протоколов, упрощение пользовательских расширений без изменения основного исходного кода.

Переход на Rust: больше безопасности и производительности

Кроме того, в Suricata 8.0 несколько критически важных модулей были переписаны на Rust для повышения безопасности и надёжности системы. В их числе:

  • LibHTP (разбор HTTP).
  • Поддержка FTP, ENIP, MIME, base64, byte_extract.
  • Декодеры для SIP, MQTT, RFB и SNMP.
  • Команда suricatasc также была перенесена в Rust.

Кроме того, Suricata 8.0 также включает поддержку нескольких новых протоколов и функций анализа:

  • DNS через HTTPS (DoH)
  • LDAP
  • mDNS (многоадресный DNS)
  • POP3 (с декодером и регистратором)
  • WebSocket
  • SDP по SIP и SIP по TCP
  • ARP (новый декодер и регистратор)

Новые правила и обнаружение

Новая версия включает расширенный набор ключевых слов и возможностей для написания более сложных и эффективных правил:

  • Правила транзакций: позволяют описать оба направления транзакции в одном правиле.
  • Новые ключевые слова: энтропия, from_base64, luaxform, tcp.wscale, pgsql.query, mDNS, требует.
  • Поддержка данных JSON в наборах данных для расширения возможностей оповещений.
  • Улучшенная поддержка обнаружения на основе отсутствия, vlan.id, TLS, FTP, SMTP, LDAP, EMAIL и т. д.

Что касается расширений, Suricata 8.0 была улучшена следующим образом:

  • Публичный API для пользовательского ведения журнала выходных данных.
  • Плагины для Napatech, PF_RING (теперь как внешние плагины).
  • Первоначальная поддержка nDPI в качестве дополнения.
  • Подробные счетчики для политик исключений.
  • Статистика по пропущенным повторным сборкам и проигнорированным правилам.
  • Новые метрики для управления памятью, использования BPF и отбрасывания пакетов.
  • Более подробная информация о выходных схемах EVE.

Наконец, если вы заинтересованы в том, чтобы узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.

Загрузка и доступность

Suricata 8.0 уже доступна в официальном репозитории. Исходный код можно получить на GitHub или в составе пакетов, распространяемых OISF для различных платформ.

Чтобы установить эту утилиту, мы можем сделать это, добавив в нашу систему следующий репозиторий. Для этого просто введите следующие команды:

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

Если у вас есть проблемы с зависимостями, с помощью следующей команды это решается:

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

Установка завершена, рекомендуется отключить любой пакет функций offloead на сетевом адаптере, который слушает Суриката.

Они могут отключить LRO / GRO на сетевом интерфейсе eth0 с помощью следующей команды:

sudo ethtool -K eth0 gro off lro off

Meerkat поддерживает несколько режимов работы. Мы можем увидеть список всех режимов выполнения с помощью следующей команды:

sudo /usr/bin/suricata --list-runmodes

По умолчанию используется режим работы autofp, что означает «автоматическая балансировка нагрузки с фиксированным потоком». В этом режиме пакеты из каждого отдельного потока назначаются одному потоку обнаружения. Потоки назначаются потокам с наименьшим количеством необработанных пакетов.

Теперь мы можем перейти к запустить Suricata в режиме реального времени pcap, используя следующую команду:

sudo /usr/bin/suricata -c /etc/suricata/suricata.yaml -i ens160 --init-errors-fatal