Общие вопросы
Поддерживается ли коммерческое использование?
Да.
Suri Oculus можно:
- использовать в коммерческих и корпоративных средах;
- включать в инфраструктуры компаний и сервис-провайдеров;
- применять в консалтинге и аудитах безопасности.
Ограничения зависят от конкретного компонента и лицензии, но коммерческое использование не запрещено.
Открытый или закрытый код?
Проект использует гибридную модель:
- часть компонентов и интерфейсов доступна открыто;
- ключевые модули (например, AI-логика и C++-извлечение признаков) распространяются в бинарном виде.
Это сделано осознанно:
- для защиты интеллектуальной собственности;
- для возможности дальнейшего коммерческого развития.
Можно ли использовать в production?
Да, но с пониманием ограничений.
На текущий момент:
- система стабильно работает в режиме детектирования;
- подходит для production-сред с умеренной нагрузкой;
- AI-модули предназначены для поддержки аналитика, а не для автоматического блокирования.
Рекомендация:
- использовать Suri Oculus как наблюдательный и аналитический слой;
- не строить критические автоматические блокировки без дополнительной валидации.
Для кого предназначен проект (SOC, SMB, homelab)?
Проект ориентирован на:
- SOC / Blue Team — как дополнительный инструмент анализа и корреляции;
- SMB / небольшие инфраструктуры — где нет бюджета на тяжёлые SIEM;
- homelab / инженеров и исследователей — для изучения сетевого трафика и аномалий.
Suri Oculus не пытается заменить SIEM уровня Splunk, но закрывает разрыв между «сырыми логами Suricata» и дорогими enterprise-решениями.
Чем Suri Oculus отличается от «чистого» Suricata?
Suricata — это IDS/IPS-движок. Он анализирует трафик и пишет события в логи.
Suri Oculus — это надстройка и система управления вокруг Suricata.
Ключевые отличия:
- централизованное управление Suricata (конфигурация, режимы, правила);
- хранение и обработка событий через Redis вместо прямой работы с
eve.json; - веб-интерфейс для анализа, фильтрации и визуализации;
- AI-модули для выявления аномалий (Flow, DNS, TLS, HTTP и др.);
- ориентация на работу на слабом и среднем железе.
Проще говоря: Suricata — сенсор, Suri Oculus — система наблюдения и анализа.
Установка и системные требования
Какой режим SELinux рекомендуется?
Рекомендуемый режим:
- Permissive — для первого запуска и отладки;
- Enforcing — после настройки политик.
Причина:
- Suricata, Redis и собственные сервисы требуют корректных правил;
- автоматических SELinux-политик проект намеренно не навязывает.
В production:
- Enforcing + кастомные правила — правильный вариант;
- Permissive — допус
Нужен ли Docker?
Нет.
Docker:
- не обязателен;
- не используется по умолчанию;
- не является частью архитектуры.
Suri Oculus ориентирован на:
- нативную установку;
- systemd-сервисы;
- минимальный runtime-overhead.
Docker можно использовать только по желанию, например для тестирования.
Можно ли запускать на слабом железе / роутерах?
Да, с оговорками.
Подходит:
- мини-ПК;
- старые серверы;
- слабые x86-роутеры.
Что можно отключить:
- AI-модули;
- сложную визуализацию;
- долгосрочное хранение данных.
Не подходит:
- ARM-роутеры без нормального user-space;
- устройства с <1 ГБ RAM;
- environments без Redis и systemd.
Подход проекта — работать даже там, где SIEM не запускается вообще.
Минимальные требования к CPU / RAM / диску
Минимум для рабочей системы (детектирование + веб-интерфейс):
- CPU: 2 ядра x86_64
- RAM: 2 ГБ (4 ГБ — комфортно)
- Диск: от 10 ГБ
- Сеть: 1 Gbps (без deep packet capture)
Рекомендовано для AI-анализа:
- 4+ ядер CPU;
- 8 ГБ RAM;
- SSD.
Важно: система масштабируется по нагрузке, а не по формальным требованиям.
Какие ОС поддерживаются (Fedora, RHEL, Debian)?
Официально и фактически поддерживаются:
- Fedora (основная dev-платформа);
- RHEL / Rocky / Alma (production-ориентированные системы);
- Debian / Debian-based (включая Ubuntu — без специфических зависимостей).
Требования:
- systemd;
- современное ядро Linux;
- стандартный user-space (glibc, iproute2 и т.п.).
Экзотические дистрибутивы возможны, но не тестируются и не поддерживаются.
Архитектура и компоненты системы
Можно ли отключить AI-модули?
Да, полностью.
Возможные режимы работы:
- Suricata + визуализация (без AI);
- Suricata + AI-анализ;
- аналитика без активного AI-детекта.
AI-модули:
- не влияют на работу базовой системы;
- не являются обязательными;
- не участвуют в блокировании трафика.
Это осознанное решение: AI — помощник аналитика, а не «чёрный ящик».
Где хранятся логи и модели?
Логи Suricata:
- не используются напрямую в виде
eve.json; - данные пишутся и обрабатываются через Redis;
- при необходимости возможна выгрузка в файл.
AI-модели:
- хранятся локально на сервере;
- загружаются Python-модулями при старте;
- не требуют внешнего доступа или облака.
Никакие данные не отправляются наружу.
Как взаимодействуют C++ и веб-интерфейс?
Связка выглядит так:
Backend на C++:
- управляет Suricata;
- принимает события;
- пишет данные в Redis;
- предоставляет REST-эндпоинты.
Web-интерфейс:
- работает напрямую с REST API;
- читает агрегированные данные из backend;
- не взаимодействует с C++ напрямую.
C++ используется там, где критичны:
- производительность;
- минимальные задержки;
- работа на слабом железе.
Зачем Redis и что в нём хранится?
Redis используется не как кэш, а как рабочее хранилище.
В Redis хранятся:
- события Suricata (Flow, DNS, HTTP, TLS и др.);
- агрегированные статистики;
- временные состояния и счётчики;
- данные для AI-анализа;
- результаты аномалий и метки.
Причины выбора Redis:
- высокая скорость;
- минимальная нагрузка на диск;
- удобство работы с потоковыми и временными данными;
- возможность работать без тяжёлых БД.
Это ключевой элемент производительности системы.
Из каких компонентов состоит система?
Suri Oculus состоит из набора специализированных компонентов, каждый из которых решает свою задачу:
-
Suricata — сетевой IDS/IPS-движок, источник событий и телеметрии;
-
daemonmove — собственный сервис-парсер логов:
- принимает события Suricata;
- нормализует и фильтрует данные;
- управляет потоком событий;
- записывает обработанные данные в Redis;
-
Backend (C++) — управление Suricata и системой в целом:
- конфигурация;
- режимы работы;
- REST API;
-
Redis — центральное рабочее хранилище:
- события;
- агрегаты;
- временные состояния;
- данные для аналитики и AI;
-
AI-backend (Python / FastAPI) — анализ поведения и аномалий;
-
Web-интерфейс (HTML + чистый JavaScript) — визуализация и аналитика;
-
oculus tools — набор вспомогательных CLI-инструментов:
- обслуживание данных;
- автоматизация типовых операций.
Архитектура построена так, чтобы:
- не зависеть от формата
eve.json; - минимизировать нагрузку на диск;
- работать устойчиво под нагрузкой;
- масштабироваться по частям, а не целиком.
AI анализ и обнаружение аномалий
Есть ли false positives?
Да, как и в любой системе аномального анализа.
Важно понимать:
- AI ищет отклонения, а не «атаки»;
- аномалия ≠ инцидент;
- часть срабатываний требует интерпретации аналитиком.
Подход проекта:
- показывать причину и контекст аномалии;
- давать возможность сравнивать периоды;
- не принимать автоматических решений за пользователя.
Требуется ли обучение на своих данных?
Рекомендуется, но не строго обязательно.
Варианты использования:
- предобученные модели — для быстрого старта;
- дообучение на локальных данных — для повышения точности;
- полное переобучение — для специфических сетей.
Чем стабильнее и «чище» исходный трафик, тем лучше качество детекта.
Какие модели используются?
В основе используются неконтролируемые модели обнаружения аномалий, ориентированные на работу без разметки.
На текущий момент:
- Isolation Forest и родственные подходы;
- статистические и поведенческие профили;
- собственное извлечение признаков (частично реализовано на C++).
Выбор сделан в пользу моделей, которые:
- не требуют размеченных датасетов;
- устойчивы к шуму;
- работают на ограниченных ресурсах.
Какие типы данных анализируются (Flow, DNS, TLS и т.д.)?
AI-модули анализируют поведенческие и сетевые признаки, полученные из событий Suricata.
Поддерживаемые типы данных:
-
Flow — сетевые потоки (объёмы, направления, длительность, частота);
-
DNS — запросы, ответы, поведение доменов;
-
TLS — характеристики рукопожатий, версии, JA-подобные признаки;
-
HTTP — методы, заголовки, паттерны запросов;
-
Meta-данные — агрегированные и временные признаки поведения.
Анализ строится не на сигнатурах, а на отклонениях от нормального поведения.
Безопасность, приватность и данные
Логи шифруются или нет?
По умолчанию:
-
логи не шифруются на уровне приложения.
Причины:
- минимальные накладные расходы;
- высокая производительность;
- простота интеграции.
Рекомендуемый подход:
- шифрование диска (LUKS);
- контроль доступа к хосту;
- изоляция сети и сервисов.
При необходимости шифрование может быть реализовано на уровне инфраструктуры, а не приложения.
Какие данные хранятся и как долго?
Типы хранимых данных:
- события Suricata (Flow, DNS, HTTP, TLS и др.);
- агрегированные статистики;
- результаты AI-анализа и метки аномалий;
- служебные состояния системы.
Срок хранения:
- настраивается администратором;
- зависит от политики очистки Redis;
- не жёстко зашит в систему.
По умолчанию система не предполагает бесконечное хранение данных.
Можно ли использовать в изолированной сети?
Да.
Система рассчитана на работу:
- в закрытых сегментах;
- в изолированных (air-gapped) сетях;
- без доступа в интернет.
Единственное требование — локальный доступ администратора к хосту.
Есть ли облачные компоненты?
Нет.
Suri Oculus — полностью on-premise система:
- без SaaS;
- без обязательных облачных сервисов;
- без внешних зависимостей по сети.
Даже AI-анализ выполняется локально.
Отправляются ли данные куда-либо?
Нет.
Suri Oculus:
- не отправляет телеметрию;
- не использует внешние API;
- не передаёт данные разработчику или третьим сторонам.
Все данные остаются внутри вашей инфраструктуры.
Лицензирование, поддержка и развитие проекта
Можно ли участвовать в развитии проекта?
Да.
Возможные формы участия:
- тестирование и обратная связь;
- предложения по архитектуре и функциональности;
- публикация кейсов использования;
- вклад в документацию и переводы.
Проект ориентирован на профессиональное сообщество, а не на массовый open-source ради галочки.
Как часто выходят обновления?
Обновления выходят по мере готовности, а не по жёсткому расписанию.
Типы обновлений:
- исправления и улучшения;
- оптимизация производительности;
- новые модули и аналитика;
- доработка интерфейса и документации.
Проект развивается итеративно, с фокусом на стабильность.
Планируются ли платные функции?
Да, в перспективе.
Рассматриваются:
- расширенные AI-модули;
- дополнительные аналитические возможности;
- функции для корпоративных и распределённых сред;
- приоритетная поддержка.
Базовая функциональность проекта при этом не планируется к закрытию.
Есть ли коммерческая поддержка?
На данный момент — ограниченно.
Поддержка возможна в формате:
- консультаций;
- помощи с внедрением;
- адаптации под конкретную инфраструктуру;
- анализа производительности и данных.
Полноценная enterprise-поддержка будет зависеть от спроса и развития проекта.
Какая лицензия используется?
Suri Oculus использует гибридную модель лицензирования.
- открытые компоненты распространяются под свободными лицензиями;
- ключевые модули (AI-анализ, C++-извлечение признаков, некоторые сервисы) распространяются в бинарном виде;
- Suricata используется на условиях своей лицензии.
Это позволяет:
- сохранять открытость экосистемы;
- защищать интеллектуальную собственность;
- развивать проект в коммерческом направлении.
Не нашли нужную информацию?
Задайте вопрос.