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

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

Системные требования

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

SecurityFlow работает в Kubernetes площадки заказчика. Базы данных, реестр образов и хранилище резервных копий живут на отдельных виртуальных машинах рядом с кластером. Сервер лицензий работает у SecurityFlow, ставить его не нужно.

Ниже - типовой состав площадки и требования к каждой его части. Число узлов и их размер зависят от потока сканирований: формулы и готовые варианты - в разделе Расчёт ресурсов.

Состав площадки

Роль Узлов vCPU RAM Диски Что работает
Мастер Kubernetes 3 4 8 GiB 100 GB SSD control plane и etcd
Узел app 3 16 (12 при 30 проектах и меньше) 32 GiB (24) ОС 100 GB + данные 200 GB, SSD Core, Radar back, брокеры, Redis, ingress
Узел scan от 2 16 48 GiB ОС 100 GB + Docker 200 GB, SSD воркеры сканирования и контейнеры сканеров
ВМ PostgreSQL 3 8 (4) 32 GiB (16) ОС 50 GB + PGDATA + WAL 50 GB + etcd 20 GB, SSD две базы: Core и Radar
ВМ реестра образов 1 4 8 GiB ОС 30 GB + 200 GB SSD образы платформы и сканеров
Служебная ВМ 1 4 (2) 8 GiB (4) ОС 50 GB + резервные копии + media 100 GB NFS для файлов Core, репозиторий резервных копий

Размер PGDATA и области резервных копий считается от числа проектов - см. Расчёт ресурсов.

Хосты нужны чистые: Linux и SSD. Балансировщик в состав не входит: вход на платформу даёт внешний прокси площадки.

Архитектура процессора

Все узлы кластера - x86-64 (amd64). Образы бэкенда Core и воркеров Core (sf-core-back, sf-core-importer, sf-core-db-helper, sf-core-jira-helper) выпускаются под amd64.

Kubernetes

Требование Значение Зачем
Мастера 3, etcd на SSD кворум etcd 2 из 3; etcd требует fsync p99 < 10 мс
Шифрование etcd encryption at rest включено секреты платформы хранятся в Kubernetes Secrets
RBAC без wildcard-доступа к secrets доступ к секретам - только тем, кому он нужен
Пулы узлов app - без taint; scan - taint dedicated=scanners:NoSchedule сканирование не отнимает ресурсы у Core
Pod Security Admission уровень privileged для пространства Radar воркер сканирования запускает Docker-in-Docker в привилегированном контейнере
Namespaces securityflow-core, securityflow-radar Core и Radar разделены
Ingress ingress-nginx, по реплике на узел app вход с внешнего прокси
Версия Kubernetes согласуется с командой SecurityFlow при подготовке площадки -

Настройки ingress-nginx:

Параметр Значение Почему
client-max-body-size 100m Core принимает отчёт целиком в память и передаёт его через брокер. Лимит тела обязан быть ниже max_message_size RabbitMQ (128 МиБ), иначе отчёт принимается и теряется при постановке в очередь
proxy-read-timeout 300s долгие запросы API и загрузка крупных отчётов

Хранилище

Распределённое хранилище и CSI площадки не нужны.

Что Тип Объём Чем обслуживается
Тома RabbitMQ Core локальный PV на узле app 30 GiB на реплику, 3 реплики local-path-provisioner
Тома RabbitMQ Radar локальный PV 10 GiB на реплику, 3 реплики local-path-provisioner
Тома Redis локальный PV 5 GiB на реплику, 3 реплики local-path-provisioner
Файлы Core (media): аватары и изображения в уязвимостях RWX 20 GiB NFS со служебной ВМ, NFS-провизионер
Docker в поде воркера emptyDir на локальном SSD узла scan диск Docker узла -

Локальные тома брокеров

Локальный PV привязывает под к своему узлу. При потере узла app том брокера на нём удаляется вручную, после чего новая реплика поднимается на другом узле и догоняет кворум. Данные в брокерах одноразовые: очереди и живые логи сканов.

Внешние компоненты

Компонент Версия Назначение Требования
PostgreSQL 15 и выше, проверено на 17 две базы: Core и Radar 3 узла с Patroni и etcd (кворум 2 из 3), HAProxy и keepalived с общим адресом, синхронная реплика на один узел
PgBouncer - пул соединений обязателен: у Core нет своего пула, у Radar пул в каждом процессе API. Без PgBouncer в пик открывается больше сотни соединений
RabbitMQ проверено на 3.13 два брокера: Core и Radar 3 реплики каждый, quorum queues в брокере Core
Redis проверено на 7 живые логи сканов Radar 3 реплики
Реестр образов Nexus образы платформы и сканеров не меньше 8 GiB RAM и всегда 4 GB свободного места, иначе база Nexus переходит в режим только чтения
NFS - RWX-том media экспорт со служебной ВМ
pgBackRest - резервные копии PostgreSQL репозиторий на служебной ВМ, см. Резервное копирование
Сервер лицензий у SecurityFlow активация и сверка лицензии исходящий HTTPS до securityflow.ru:443

Docker для сканеров ставить на узлы не нужно: он входит в образ воркера сканирования (Docker 29.5.1, режим Docker-in-Docker).

Не нужны: Vault или другое хранилище секретов, S3 или MinIO, СХД площадки, раннеры CI площадки, отдельный кластер БД под Radar.

Сеть

Кратко - что открыть:

  • вход пользователей и CI на внешний прокси по HTTPS 443;
  • исходящий HTTPS из кластера до securityflow.ru:443;
  • доступ узлов scan к системам контроля версий (SSH 22 или HTTPS 443) и к реестру образов;
  • доступ узлов app к служебной ВМ по NFS 2049 и к PostgreSQL 5432;
  • доступ команды SecurityFlow к kube-apiserver 6443 и реестру образов площадки на время установки и обновлений.

Полная матрица потоков - в разделе Сетевое взаимодействие.

Что даёт площадка

Площадка Команда SecurityFlow
Хосты по расчёту ресурсов: Linux, SSD образы платформы и сканеров в реестре площадки
DNS-имена для Core и Radar и TLS-сертификаты на них развёртывание PostgreSQL, реестра, NFS и резервного копирования
Внешний прокси, который терминирует TLS и передаёт запросы в ingress развёртывание Core и Radar, секреты
Исходящий HTTPS до securityflow.ru:443 первичная настройка и проверка
SSH и sudo на хосты для первичной установки, NTP обновления
Разрешение privileged-подов в пространстве Radar
Сетевые доступы из раздела Сетевое взаимодействие
Согласованные RPO и RTO - см. Резервное копирование

Рабочее место пользователя

Интерфейсы Core и Radar - веб-приложения: на рабочее место ничего не устанавливается. Нужен браузер с доступом к адресам Core и Radar по HTTPS.

Язык интерфейса - русский по умолчанию, доступны английский и узбекский.

Для загрузки отчётов из CI и quality gate раннерам нужен доступ к Core по HTTPS. Security checker поставляется образом под amd64 и arm64 - см. Security checker.