Перейти к содержанию

Security Hub

Security Hub — платформа управления уязвимостями. Она принимает результаты работы сканеров безопасности, сводит их в единый список находок, убирает дубликаты, ведёт каждую находку по жизненному циклу от обнаружения до закрытия, следит за сроками устранения и передаёт работу в трекер задач и каналы оповещения.

Сканеры находят проблемы, но каждый — в своём формате, в своей консоли и со своим представлением о том, что считать одной и той же проблемой. Один и тот же CVE на одном и том же порту, найденный тремя разными инструментами, — это три записи в трёх интерфейсах. Security Hub — то место, где это становится одной записью с историей, ответственным и сроком.

Что входит в решение

Компонент Назначение
Hub Приём находок, дедупликация, триаж, SLA, RBAC, веб-интерфейс, REST API
DomainScope Непрерывное обследование внешнего периметра: поддомены, DNS, открытые порты, TLS, веб-уязвимости
Сканеры-обёртки Готовые к развёртыванию сборки OpenVAS, OWASP ZAP и сканера конфигураций инфраструктуры (IaC)
Плагины Расширения в изолированной среде: обогащение находок из CMDB, дополнительные источники находок, каналы уведомлений

Hub работает и сам по себе: если у вас уже есть сканеры и CI, достаточно научить их выгружать отчёты в формате SARIF. DomainScope и сканеры-обёртки — для случая, когда обследование периметра нужно построить с нуля.

С чего начать

Что Security Hub делает

Принимает находки из любого сканера, который умеет SARIF 2.1.0. Это стандартный формат, который поддерживают распространённые инструменты статического анализа, сканеры зависимостей, контейнеров и конфигураций. Загрузка — один HTTP-запрос из вашего CI. Помимо SARIF поддерживается прямой приём формата выгрузки SonarQube. Подробнее: Загрузка SARIF.

Убирает дубликаты. Одна и та же уязвимость, найденная разными сканерами, становится одной находкой с несколькими источниками — при этом видно, какой сканер что сообщил. Идентичность находки определяется правилом и местоположением, а не именем сканера. Подробнее: Жизненный цикл находки.

Ведёт находку по статусам и следит за сроками. Десять статусов от «новая» до «исправлена», отдельно — «принятый риск» и «не будет исправлено» с датой пересмотра. Таймер SLA считает время до нарушения срока, ставится на паузу, когда находка ожидает внешнего события, и возобновляется с того же места.

Передаёт работу дальше. Задачи в Jira (с двусторонней синхронизацией статуса), уведомления в Telegram, Mattermost, MAX и по электронной почте.

Помогает с триажем. Опциональный разбор находки языковой моделью с проверкой гипотез в изолированной песочнице: модель предлагает вердикт «ложное срабатывание / подтверждено», а не просто пересказывает описание. Функция выключена по умолчанию и требует доступа к внешнему или локальному LLM-сервису. Подробнее: AI-триаж и песочница.

Разграничивает доступ. Вход через ваш провайдер SSO (одновременно можно подключить несколько), роли и права на уровне проектов и продуктов, отдельные сервисные учётные записи с ключами для CI.

Чего Security Hub не делает

  • Не является сканером сам по себе. Hub обрабатывает то, что нашли другие. Обследование периметра выполняет DomainScope — отдельный сервис в составе решения; сканирование кода, зависимостей и образов остаётся за вашими инструментами в CI.
  • Не заменяет трекер задач. Работа по устранению ведётся в Jira; Hub создаёт и синхронизирует задачи, но не является системой управления задачами.
  • Не управляет установкой обновлений. Hub фиксирует, что уязвимость устранена, по результату следующего сканирования — он не ставит патчи и не меняет конфигурацию ваших систем.

Документация API

В каждом развёрнутом экземпляре Hub доступен интерактивный интерфейс Swagger UI со списком всех эндпоинтов:

https://<адрес-вашего-hub>/swagger/index.html

Краткий справочник по внешним интеграционным эндпоинтам — REST API.

Соглашения документации

  • <в угловых скобках> — подставьте своё значение (адрес, токен, домен).
  • Примеры доменов, адресов и учётных записей вымышленные.
  • Значения по умолчанию приводятся из исходного кода; если Helm-чарт задаёт другое значение, указаны оба.