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

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