Требования¶
Вычислительные ресурсы¶
Расчёт мощности, значения из поставляемых чартов и ориентировочные конфигурации для пилота и промышленной эксплуатации вынесены на отдельную страницу: Расчёт ресурсов.
Коротко, чтобы прикинуть до чтения: для ознакомительной установки со всем Hub и DomainScope без сканеров-обёрток достаточно 4 ядер, 8 ГиБ памяти и 60 ГиБ диска. OpenVAS требует существенно больше — прежде всего диска под базы описаний уязвимостей.
Операционная система¶
Компоненты поставляются контейнерными образами на базе Alpine Linux и не предъявляют требований к конкретному дистрибутиву узла — достаточно работающего Docker Engine или Kubernetes. Ниже перечислены варианты, на которые ориентирована поставка.
| Система | Версия | Пригодность |
|---|---|---|
| Ubuntu | 22.04 LTS, 24.04 LTS | Пригодна для промышленной эксплуатации |
| Debian | 12 | Пригодна для промышленной эксплуатации |
| RHEL, Rocky, AlmaLinux | 9 | Пригодна для промышленной эксплуатации |
| macOS | 14 и новее | Только для ознакомления |
| Windows | — | Не поддерживается |
Испытаний совместимости с конкретными сборками мы не проводили и не заявляем. Требование одно: поддерживаемая версия Docker Engine либо Kubernetes.
Kubernetes¶
- k3s v1.30+ (рекомендуется для on-premise одно-нодовых кластеров)
- Vanilla k8s v1.28+ — поддерживается
- OpenShift — не проверялось
Программное обеспечение¶
| Software | Минимум | Где нужно |
|---|---|---|
| Docker Engine | 24.0+ | Compose deploy, dev |
| Docker Compose | v2.20+ (plugin) | Compose deploy |
| Helm | 3.13+ | K8s deploy |
| kubectl | соответствует k8s | K8s deploy |
make |
GNU 4.0+ | Bare-metal/dev |
| Go | 1.26+ | Только для сборки из исходников |
| Bun | 1.0+ | Только для сборки frontend из исходников |
| Git | 2.30+ | Для CI и сборки |
Сетевые требования¶
Порты, открытые наружу (production)¶
| Порт | Назначение | Куда смотрит |
|---|---|---|
| 443 | Веб-UI и API (через nginx/traefik) | Все пользователи |
| 80 | HTTP → редирект на 443 | Все пользователи |
Внутренние порты (между сервисами)¶
| Порт | Сервис | Кто обращается |
|---|---|---|
| 5432 | PostgreSQL Hub | backend, worker |
| 5432 | PostgreSQL DomainScope | DomainScope. Отдельный экземпляр, с базой Hub не разделяется |
| 8082 | Backend Hub | frontend, внешние клиенты, загружающие отчёты |
| 3000 | Frontend | обратный прокси |
| 8083 | Провайдер SSO, если разворачивается рядом | backend, браузер через обратный прокси |
| 8084 | Grafana, если разворачивается | администратор |
| 9390 | Управляющий интерфейс OpenVAS | DomainScope |
| 8080 | Служба OWASP ZAP | DomainScope |
В образе backend слушает порт
8080, а поставляемый чарт переопределяет его на8082. Если разворачиваете вручную — сверяйтесь со значениемSERVER_PORT.
Исходящий трафик¶
| Адресат | Зачем | Можно ли через прокси |
|---|---|---|
| Docker Hub / GHCR | Образы | Да (HTTPS_PROXY) |
| Keycloak realm | OIDC discovery | Если Keycloak внешний |
| Jira instance | Создание задач | Да |
| Telegram Bot API | Уведомления | Да |
| Mattermost webhook | Уведомления | Да |
| NetBox | Sync периметра | Да |
| LLM провайдер | AI-триаж | Да (LLM_BASE_URL) |
| Nuclei templates | Обновление | Да |
| OpenVAS feeds | Обновление CVE-базы | Да |
Air-gapped окружение: возможно, но требует ручной загрузки образов в private-registry (например, Harbor) и зеркалирования Nuclei/OpenVAS feeds.
Доменные имена и TLS¶
Production¶
Для боевого стенда понадобятся следующие FQDN (примеры для домена hub.example.com):
| FQDN | Назначение |
|---|---|
hub.example.com |
Основной UI Hub |
keycloak.hub.example.com |
Keycloak (или путь /auth на основном домене) |
openvas.hub.example.com (опц.) |
OpenVAS Web UI |
domainscope.hub.example.com (опц.) |
DomainScope API |
Сертификаты¶
- Let's Encrypt — поддерживается через cert-manager в K8s или certbot в bare-metal
- Внутренний CA — поддерживается; примонтируйте корневые сертификаты в
/etc/ssl/certsи установитеSSL_CERT_DIR(Go),NODE_EXTRA_CA_CERTS(frontend build) - Self-signed — допустимо только для dev. На production будут проблемы с OIDC discovery и webhook delivery.
Postgres¶
- PostgreSQL 15 и новее. Поставляемые манифесты разворачивают версию 15; на более старых версиях миграции не проверялись.
- Расширение
uuid-osspвключается самой миграцией — заранее ничего делать не нужно. - Сессия базы работает в UTC, все колонки времени — с часовым поясом.
- Рекомендуемые параметры для промышленной эксплуатации (отправная точка, а не результат измерений):
shared_buffers = 2GB
effective_cache_size = 6GB
maintenance_work_mem = 512MB
work_mem = 32MB
max_connections = 200
- Регулярный
VACUUM ANALYZE— желательно через autovacuum (включён по умолчанию)
Инфраструктура резервного копирования¶
Для production обязательны:
- Снэпшоты PostgreSQL — ежедневно, ретенция минимум 14 дней
- Volume snapshots для
storage/(отчёты, артефакты) — ежедневно - Secret backup — Vault snapshots
- Backup-тест — раз в квартал восстановите из backup на staging и проверьте, что Hub стартует и видит данные