SecurityFlow Кабинет лицензий , откроется в новой вкладке

Документация / Руководство по установке / Подготовка

Сетевое взаимодействие

Обновлено 20 октября 2026

Пользователи, CI и внешние системы приходят на платформу через внешний прокси площадки по HTTPS. Внутри кластера компоненты общаются по HTTP и протоколам брокеров. Наружу платформа обращается к серверу лицензий, к системам контроля версий и к тем интеграциям, которые вы включили.

Порты компонентов

Компонент Порт Протокол
Фронт Core (sf-core-front) 80 HTTP
Core web: интерфейс и API (sf-core-back, MODE=web) 8000 HTTP
Core: приём отчётов (sf-core-back, MODE=importer) 8001 HTTP
Фронт Radar (sf-radar-front) 8080 HTTP
Radar back (sf-radar-back) 8090 HTTP
RabbitMQ Core, RabbitMQ Radar 5672 AMQP
Redis Radar 6379 Redis
PostgreSQL (общий адрес HAProxy) 5432 PostgreSQL
NFS на служебной ВМ 2049 NFS

Входящие потоки

Откуда Куда Порт Протокол Зачем
Браузеры пользователей внешний прокси → Core, Radar 443 HTTPS интерфейсы и API
CI-раннеры: Security checker, загрузка отчётов внешний прокси → Core 443 HTTPS, Authorization: Token POST /api/v1/scan/import/, POST /api/v1/ci/pipelines/run/, чтение настроек, ассетов, находок и аудитов - см. Security checker
GitLab, GitHub, Bitbucket, Azure Repos внешний прокси → Core 443 HTTPS вебхуки /api/v1/version-control/<тип>/webhook/<токен>/ - см. Системы контроля версий
Реестр контейнеров GitLab внешний прокси → Core 443 HTTPS вебхук /api/v1/container-registry/gitlab/webhook/<токен>/
Jira внешний прокси → Core 443 HTTPS вебхук /api/v1/jira-helper/jira-event/<токен>/ - см. Jira

Если вебхуки и CI не нужны, достаточно доступа пользователей.

Потоки внутри площадки

Откуда Куда Порт Протокол Зачем
Внешний прокси ingress-nginx по договорённости с площадкой HTTP TLS снимается на прокси
ingress-nginx фронт Core; фронт Radar 80; 8080 HTTP маршрут по имени хоста
Фронт Core Core web; приём отчётов 8000; 8001 HTTP /api/v1/, /admin/, /oauth2/callback - на 8000; /api/v1/scan/import/ - на 8001
Фронт Radar Radar back 8090 HTTP /api/v1/, /admin/
Процессы sf-core-back, sf-core-db-helper PostgreSQL, база Core 5432 PostgreSQL данные Core
Процессы sf-core-back, sf-core-importer, sf-core-db-helper, sf-core-jira-helper RabbitMQ Core 5672 AMQP очереди задач и тела отчётов
Radar back PostgreSQL, база Radar 5432 PostgreSQL джобы, пайплайны, логи завершённых джоб
Radar back, воркеры Radar RabbitMQ Radar 5672 AMQP pipeline_queue, utils_queue
Radar back, воркер сканирования Redis 6379 Redis живые логи джоб
Воркеры Radar Radar back 8090 HTTP, Authorization: Bearer <токен Radar> статусы пайплайнов и джоб, логи, настройки очистки. Адрес - переменная AUDITOR_HOST
Core web, Core worker Radar back 8090 или адрес Radar HTTP(S), Authorization: Bearer <токен Radar> запуск пайплайнов пачками по 100 ассетов, проверка связи, просмотр джоб и пайплайнов из Core
Воркер сканирования Core, "Внутренний URL приложения" 80 или 443 HTTP(S), Authorization: Token отчёт сканера POST api/v1/scan/import/, ответ 202, таймаут 20 с
Docker в поде воркера реестр образов площадки порт реестра HTTPS или HTTP образы сканеров и служебный образ UTILITY_IMAGE
Узлы app служебная ВМ 2049 NFS файлы Core (media)

Воркеры Radar к PostgreSQL не подключаются: всё, что им нужно, они получают через API Radar back.

Исходящие потоки

Откуда Куда Порт Протокол Зачем Нужно, когда
Core web, Core worker securityflow.ru 443 HTTPS активация POST /api/v1/license/activate/ и сверка лицензии POST /api/v1/license/status/: по расписанию раз в 300 с и при работе пользователей, не чаще раза в 60 с на процесс всегда
Контейнеры джоб в узлах scan системы контроля версий 22 или 443 SSH или HTTPS клонирование репозитория джобой Code Downloader. Порт зависит от адреса репозитория сканирование кода
Контейнеры джоб в узлах scan gitlab.com, github.com 22 SSH Code Downloader при каждом запуске заполняет known_hosts командой ssh-keyscan для этих двух хостов всегда, если команда джобы не изменена - см. Закрытый контур
Контейнеры джоб в узлах scan цели сканирования: домены, хосты, облачные API зависит от джобы зависит от джобы DAST, проверка периметра, облачные проверки если такие джобы используются
Core web, Core worker API GitLab, GitHub, Bitbucket, Azure Repos 443 HTTPS импорт репозиториев, проверка интеграции; комментарии и статусы quality gate - только GitLab, GitHub, Bitbucket если настроена интеграция с VCS
Core worker API реестра контейнеров GitLab 443 HTTPS список новых тегов образов если настроена интеграция с реестром
sf-core-jira-helper Jira 443 HTTPS синхронизация задач, проверка учётных данных, справочники проекта. Core web обращается к Jira только через очередь Jira-помощника если настроена интеграция с Jira
Core worker URL уведомлений из настройки HTTP(S) POST JSON уведомления если настроены уведомления
Core web OIDC-провайдер 443 HTTPS /.well-known/openid-configuration, обмен кода на токен если настроен вход через SSO
Команда SecurityFlow kube-apiserver; реестр образов площадки 6443; порт реестра HTTPS установка и обновления на время работ
Команда SecurityFlow хосты площадки 22 SSH первичная установка на время установки

Для узлов scan исходящий трафик ограничивают системами контроля версий, реестром образов и Core. Если используются DAST и проверки периметра, добавьте в разрешения цели сканирования.

Закрытый контур

Кроме образов сканеров (о них - ниже), код платформы обращается во внешнюю сеть в трёх местах. Каждое закрывается настройкой.

Обращение Откуда Как закрыть
securityflow.ru:443 Core Нужно для активации. Если связь пропала после активации, Core продолжает работать до окончания срока лицензии: срок проверяется локально по подписи ключа. Сверка без ответа сервера лицензию не снимает
Служебный образ alpine с Docker Hub воркер сканирования Задайте переменную UTILITY_IMAGE воркера: копия alpine во внутреннем реестре. Воркер скачивает этот образ при чтении каждого отчёта, через него же читает артефакты и копирует файлы между томами
ssh-keyscan gitlab.com и github.com джоба Code Downloader Измените "Команду запуска" джобы в Radar: уберите эти строки или замените хосты на свою систему контроля версий. Меняйте джобу после создания токена Radar: до этого Radar при старте пересоздаёт джобы из каталога

Образы сканеров берутся только из реестра, указанного в джобе. Укажите в джобах образы из реестра площадки - см. Первичная настройка.

Отдельные сканеры сами обращаются к внешним сервисам. По командам джоб из каталога Radar:

Джоба Внешнее обращение
Vulners Trivy ставит плагин с github.com при запуске; использует API Vulners с ключом VULNERS_API_KEY
Snyk Go, Snyk Iac, Snyk Nodejs, Snyk Python сервис Snyk с токеном SNYK_TOKEN
Prowler AWS API AWS
AI SAST команда по умолчанию запускает локальную модель; варианты с внешними LLM-провайдерами есть в команде закомментированными
Semgrep набор правил задаёт переменная SEC_SEMGREP_CONFIG, по умолчанию p/default - набор из реестра правил Semgrep, в образе сканера правил нет. Для закрытого контура укажите путь к локальным правилам
Trivy Code Dependencies, Trivy Image Dependencies Trivy скачивает базу уязвимостей при запуске, если она не подготовлена заранее
Nuclei Scan, Nuclei Scan CVE шаблоны nuclei-templates; если их нет в образе, Nuclei скачивает их при запуске

Проверьте источник правил и баз для каждого сканера, который вы включаете в последовательности.

Сервер лицензий и белый список

На сервере лицензий может быть включён белый список адресов. Тогда в нём должен быть внешний адрес, с которого кластер выходит в интернет: иначе сервер отвечает 403 и активация не проходит. Адрес сообщите команде SecurityFlow.

DNS

Имя Где разрешается Что это
Имена Core и Radar, например core.example.ru, radar.example.ru DNS площадки адреса на внешнем прокси
Сервисы интерфейса и API и приёма отчётов Core в пространстве Core фронт Core передаёт на них запросы API на порт 8000 и отчёты на порт 8001. Имена задаются при установке - см. Маршрутизация запросов
Сервис Radar back в пространстве Radar фронт Radar передаёт на него запросы API на порт 8090; воркеры обращаются к нему по адресу из AUDITOR_HOST
"Внутренний URL приложения" Core из пространства Radar адрес, на который воркер отправляет отчёты
Системы контроля версий, реестр образов, цели сканирования из узлов scan клонирование, образы, сканирование
securityflow.ru из кластера сервер лицензий

TLS

  • TLS терминирует внешний прокси площадки. Внутри кластера трафик идёт по HTTP.
  • Переменная DOMAIN Core должна начинаться с https://: тогда cookie получают признак Secure и адрес попадает в доверенные для CSRF. Подробнее - Безопасная конфигурация.
  • Core проверяет сертификат Radar, если в настройках Radar в Core включено "Проверять SSL".
  • Воркер проверяет сертификат Core при отправке отчёта, если не задан HTTP_SSL_SKIP_VERIFY.

Проверка связности

Доступ к серверу лицензий из кластера. Ответ 200 и PEM-ключ - доступ есть; 403 - адрес кластера не в белом списке.

kubectl -n securityflow-core run net-check --rm -it --restart=Never \
  --image=registry.example.ru/<образ с curl> -- \
  curl -sS -o /dev/null -w '%{http_code}\n' https://securityflow.ru/api/public-key

Доступ к Core и Radar через прокси:

curl -sS -o /dev/null -w '%{http_code}\n' https://core.example.ru/admin/login/
curl -sS https://radar.example.ru/api/v1/health-check/

Ожидаемый результат: 200 и {"is_healthy":true}.

Связь Core с Radar проверяется в интерфейсе Core: "Radar" → "Настройки" → "Статус подключения". Связь воркеров с Radar back - на странице Мониторинг и журналы.