Добро пожаловать в документацию по бэкенд-части нашего проекта, написанной на C++ с использованием фреймворка Pistache. В данной документации описываются функциональные возможности и использование маршрутов (routes) в нашем API. Наш API предоставляет широкий спектр возможностей для управления событиями, правилами, индикаторами компрометации (IoC), а также статистическими данными, что делает его мощным инструментом для мониторинга и администрирования различных аспектов систем безопасности.
Ключевые возможности #
События (Events) #
API предоставляет маршруты для получения, поиска, удаления и проверки событий определенного типа. Вы можете легко получить все события заданного типа, найти конкретное событие по его ID или другим параметрам, а также удалить все события указанного типа. Такая гибкость и мощный функционал обеспечивают эффективное управление событиями.
Правила (Rules) #
Маршруты для управления правилами позволяют выполнять широкий спектр операций, включая отображение всех правил, поиск по различным критериям, добавление, обновление и удаление правил, а также изменение их статуса. Эти функции позволяют эффективно управлять правилами и обеспечивают высокий уровень контроля и настройки системы безопасности.
Угрозы (IOC — Indicators of Compromise) #
API для индикаторов компрометации включает маршруты для загрузки новых IoC, фильтрации по временным периодам, получения всех IoC или их подмножеств по типу или статусу, а также изменения статуса IoC. Это позволяет администраторам системы и аналитикам безопасности легко управлять и реагировать на угрозы.
Статистика (Statistics) #
Система предоставляет доступ к различным статистическим данным, включая информацию о пакетах, оповещениях, загрузке процессора и использовании памяти, а также данные для гистограмм. Эти данные критически важны для мониторинга производительности системы и выявления потенциальных проблем.
Управление Suricata #
API включает маршруты для управления процессом Suricata, позволяя запускать, останавливать и перезагружать Suricata, а также обновлять правила. Это обеспечивает высокий уровень контроля за работой системы обнаружения вторжений.
Наш API разработан с учетом высокой производительности и масштабируемости, что делает его подходящим для использования в крупных и сложных инфраструктурах. В следующем разделе документации мы подробно рассмотрим каждый маршрут и приведем примеры его использования.
Маршруты API #
События (Events) #
GET /events/:event_type— Получить все события заданного типа(:event_type)GET /events/count/:event_type— Получить количество событий заданного типа(:event_type)GET /events/:event_type/:event_id— Найти событие заданного типа(:event_type)поevent_idGET /events/search/:flow_id— Найти событие заданного типа(:event_type)поflow_idDELETE /events/delete/:event_type— Удалить все события заданного типа(:event_type)GET /events/find/:event_type— Найти события заданного типа по параметрамGET /events/check/:event_type— Получить все события заданного типа за определенный период времениGET /events/fast— Вывести содержимое файлаfast.log
Правила (Rules) #
GET /rules— Отобразить все правилаGET /rules/:sid— Найти правило с заданнымsidGET /rules/action/:action— Найти правило с заданнымactionGET /rules/status/:status— Найти правило с заданнымstatusGET /rules/protocol/:proto— Найти правило с заданнымprotoGET /rules/search— Найти правило по заданным параметрамPOST /rules/toggle/— Изменить статус правилаPOST /rules/add/— Добавить правилоPOST /rules/validate/— Подтвердить правилоPOST /rules/delete/— Удалить правилоPOST /rules/update/— Обновить правилаGET /rules/additional/status/— Получить статус дополнительных правилPOST /rules/additional/update/— Обновить дополнительные правилаPOST /validate_rule_endpoint— Валидация правилGET /suricata/reload/— Перезагрузить SuricataGET /rules/reload/blocking— Перезагрузить правила с блокировкойGET /rules/reload/nonblocking— Перезагрузить правила без блокировкиGET /rules/duplicated/:sid— Найти дублирующиеся правила
Управление Suricata (Suricata Management) #
GET /suricata/start/— Запустить SuricataGET /suricata/stop/— Остановить SuricataGET /suricata/update/— Обновить правила
Индикаторы компрометации (Threats / IoC) #
GET /ioc/download/— Скачать свежие IoCGET /ioc/filter/:n_days— Выбрать правила за периодn_daysGET /ioc/— Отобразить все IoCGET /ioc/ioc_type/:ioc_type— Получить IoC указанного типаGET /ioc/ioc_id/:id— Получить IoC с заданнымidGET /ioc/ioc_status/:status— Отобразить все IoC с заданным статусомPOST /ioc/toggle/— Изменить статус IoCGET /ioc/fetch/— Создать файлы правил IoCGET /ioc/rules/status/— Получить статусы правил IoCPOST /ioc/rules/modify/— Изменить статусы правил IoC
Статистика (Stats) #
GET /stats/— Получить статистические данныеGET /stats/pkts/— Получить статистику по пакетамGET /stats/alerts/— Получить статистику по оповещениямGET /stats/cpu/— Получить статистику по процессоруGET /stats/vm/— Получить статистику по виртуальной памятиGET /stats/pm/— Получить статистику по памятиGET /stats/histogramm/— Получить данные для гистограммGET /suricata/running/— Проверить состояние процесса SuricataGET /stats/update/— Обновить статистику
Эта документация поможет вам легко интегрировать и использовать API для управления системой безопасности, предоставляя мощные инструменты для мониторинга, анализа угроз и управления правилами.