🧰Архитектура

ASOC состоит из двух основных сущностей - Security Center, который содержит весь основной функционал, а также Auditor - сервис выполнения задач на сканирование.

Вся основная работа с инструментом происходит через Security Center - пользователи могут управлять как уязвимостями, так и сканированиями, через UI, а также через API.

Реализовано 2 механизма авторизации - локальная, а также с помощью провайдеров, поддерживающих протокол OIDC.

Результаты сканирования, полученные в ходе проведения сканирований в пайплайнах разработки, могут быть отправлены в ASOC с помощью API, либо в виде отчетов сканеров, либо в виде найденных уязвимостей.

В Security Center реализована двусторонняя интеграция с Jira, а также и реализована поддержка вебхуков/уведомлений, срабатывающих в случае появления уязвимостей, удовлетворяющих условиям настроенных фильтров.

Security Center взаимодействует с системой контроля версий (VCS) в двустороннем порядке:

  1. Взаимодействие VCS с Security Center при импорте репозиториев и активации вебхуков во время обновлений репозитория.

  2. Взаимодействие Security Center с VCS при работе Quality Gate.

Auditor, будучи сервисом исполнения задач, коммуницирует только с докер-реджистри для скачивания образов со сканерами, а также с VCS для скачивания исходного кода анализируемого проекта.

Компоненты ASOC

Сущность Security Center состоит из следующих компонентов:

  1. Front - Nginx с набором статики и JS скриптов.

  2. Back - API на Django.

  3. Importer - Celery-задача для обработки результатов из загружаемого отчета.

  4. Jira_helper - Celery-задача для реализации двусторонней интеграции с Jira.

  5. PostgreSQL - Основная БД, хранящая все сущности (Продукты, Уязвимости) для ASOC.

  6. Redis/RabbitMQ - брокер сообщений для реализации асинхронных операций внутри ASOC.

  7. DB Helper - сервис для выполнения автоматизации внутри ASOC (дедупликация, автовалидация).

Сущность Auditor состоит из следующих компонентов:

  1. Front - Nginx с набором статики и JS скриптов.

  2. Back - API на Django.

  3. Scanner Worker - сервис, контролирующий запуск докер-контейнеров со сканерами.

  4. PostgreSQL - БД для хранения истории сканирований.

  5. RabbitMQ - брокер сообщений для реализации асинхронных операций внутри Auditor.

  6. Redis - кеширование логов в момент проведения сканирования.

Схема взаимодействия компонентов ASOC

Last updated