Фонд открытой информационной безопасности (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