Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
suricata — Движок сетевой IDS/IPS/NSM с открытым исходным кодом для инспекции трафика в реальном времени, обнаружения и предотвращения вторжений, анализа протоколов и охоты за угрозами на основе правил. | Kitploit
Инструменты/GitHubGitHub/oisf/suricata
Оборонительные ИнструментыСниффинг и анализ пакетовСетевая криминалистикаБезопасность SCADA/ICSКонтроль доступа к сетиСетевая безопасностьОбнаружение ВторженийАнти-БотБезопасность Электронной ПочтыАнализ DNSОбнаружение АномалийАнализ Журналов
6.5k1.8k781 месяц назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Топ в Обнаружение Аномалий №3
Топ в Анти-Бот №14
Топ в Оборонительные Инструменты №2
Топ в Анализ DNS №11
Топ в Безопасность Электронной Почты №16
Топ в Обнаружение Вторжений №1
Топ в Анализ Журналов №10
Топ в Контроль доступа к сети №17
Топ в Сетевая криминалистика №5
Топ в Сетевая безопасность №1
Топ в Сниффинг и анализ пакетов №5
Топ в Безопасность SCADA/ICS №17
GitHuboisf/suricata

suricata

Движок сетевой IDS/IPS/NSM с открытым исходным кодом для инспекции трафика в реальном времени, обнаружения и предотвращения вторжений, анализа протоколов и охоты за угрозами на основе правил.

РепозиторийСайт
Поделиться

Suricata

Fuzzing Status codecov

Введение

Suricata — это сетевой движок IDS, IPS и NSM, разработанный OISF и сообществом Suricata.

Ресурсы

  • Главная страница
  • Трекер ошибок
  • Руководство пользователя
  • Руководство разработчика
  • Руководство по установке
  • Форум поддержки пользователей

Внесение вклада

Мы с удовольствием принимаем патчи и другие вклады. Пожалуйста, ознакомьтесь с процессом внесения вклада для получения информации о том, как начать.

Suricata — это сложный программный продукт, работающий в основном с недоверенными входными данными. Неправильная обработка этих данных может иметь серьёзные последствия:

  • в режиме IPS сбой может вывести сеть из строя
  • в пассивном режиме компрометация IDS может привести к потере критически важных и конфиденциальных данных
  • пропущенное обнаружение может привести к незамеченной компрометации сети

Другими словами, мы считаем, что ставки довольно высоки, особенно учитывая, что во многих типичных случаях IDS/IPS будет напрямую доступен атакующему.

По этой причине мы разработали довольно обширный процесс контроля качества (QA). Следствием этого является то, что внесение вклада в Suricata может быть довольно длительным процессом.

На высоком уровне шаги выглядят так:

  1. Проверки на основе GitHub-CI. Они запускаются автоматически при создании pull request.
  2. Ревью разработчиками из команды и сообщества.
  3. Прогоны QA на приватных стендах. Они являются приватными из-за характера тестового трафика.

Обзор этапов QA в Suricata

Члены команды OISF могут отправлять сборки на наш приватный стенд QA. Там выполняется серия тестов сборки и регрессионный набор тестов, чтобы убедиться, что существующие функции не ломаются.

Финальные прогоны QA занимают как минимум несколько часов и обычно выполняются в ночное время. В настоящее время они включают:

  • обширные тесты сборки на различных ОС, компиляторах, уровнях оптимизации, параметрах конфигурации
  • статический анализ кода с помощью cppcheck, scan-build
  • динамический анализ кода с помощью valgrind, AddressSanitizer, LeakSanitizer
  • регрессионные тесты для ранее обнаруженных ошибок
  • проверку выходных данных журналирования
  • тестирование unix-сокетов
  • фаззинг-тесты на основе pcap с использованием ASAN и LSAN
  • тесты IDS и IPS на основе воспроизведения трафика

Помимо этих тестов, в зависимости от типа изменений кода могут дополнительно запускаться вручную:

  • тестирование воспроизведения трафика (multi-gigabit)
  • обработка больших коллекций pcap (многотерабайтных)
  • фаззинг-тестирование (может занять несколько дней или даже недель)
  • тестирование производительности на основе pcap
  • тестирование производительности в реальном времени
  • различные другие ручные тесты на основе оценки предлагаемых изменений

Важно понимать, что почти все перечисленные выше тесты используются в качестве приёмочных. Если что-то падает, устранение проблемы в вашем коде — ваша задача.

Один из этапов QA в настоящее время выполняется после слияния. Мы отправляем сборки в программу Coverity Scan. Из-за ограничений этого (бесплатного) сервиса мы можем отправлять не чаще одного раза в день. Конечно, может случиться так, что после слияния сообщество обнаружит проблемы. В обоих случаях мы просим вас помочь с устранением проблем, если они возникнут.

FAQ

В: Примете ли вы мой PR?

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

В: Когда будет объединён мой PR?

О: Зависит от обстоятельств. Если это крупная функция или изменение с высоким риском, оно, вероятно, попадёт в следующую крупную версию.

В: Почему мой PR был закрыт?

О: Как описано в документации по рабочему процессу GitHub для Suricata, мы ожидаем новый pull request для каждого изменения.

Обычно команда (или сообщество) оставляет отзыв на pull request, после чего ожидается, что он будет заменён улучшенным PR. Поэтому смотрите комментарии. Если вы не согласны с комментариями, мы можем обсудить их и в закрытом PR.

Если PR был закрыт без комментариев, это, скорее всего, связано с неудачным прохождением QA. Если проверки GitHub-CI не прошли, PR следует исправить сразу же. Обсуждать это не нужно, если только вы не считаете, что результат QA ошибочен.

В: Компилятор/анализатор кода/инструмент ошибается, что делать?

О: Чтобы автоматизировать процесс QA, мы не оставляем предупреждения или ошибки. В некоторых случаях это может означать, что мы добавляем подавление, если инструмент это поддерживает (например, valgrind, DrMemory). Некоторые предупреждения можно отключить. В исключительных случаях единственное «решение» — переписать код, чтобы обойти ложное срабатывание статического анализатора. Как бы это ни раздражало, мы предпочитаем такой подход оставлению предупреждений в выводе. Предупреждения часто игнорируются и повышают риск скрытия других предупреждений.

В: Я считаю, что ваш тест QA ошибочен

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

В: Требуете ли вы подписания лицензионного соглашения с контрибьютором?

О: Да, мы делаем это, чтобы сохранить право собственности на Suricata в одних руках — у Open Information Security Foundation. См. http://suricata.io/about/open-source/ и http://suricata.io/about/contribution-agreement/

Скачать инструмент