Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API contracts, docs, client examples, and the unit/integration/compatibility test suite for local client and tooling labs without a real vCenter.
3.8 KiB
Language / Язык: English | Русский
Безопасность
Модель угроз лаборатории
Этот проект — локальный / CI лабораторный симулятор. Он не защищён как multi-tenant публичный сервис vCenter. Учётные данные по умолчанию, демо- элементы управления в UI и endpoint'ы совместимости удобны для разработки и намеренно открыты в стандартном стеке Compose.
Не публикуйте порты 443 / 80 в недоверенные сети без дополнительных
средств защиты, которые вы предоставляете самостоятельно.
Учётные данные и секреты
- Пароли хранятся как хэши scrypt (
vsphere_credentials.password_hash). - Session id — это непрозрачные токены (
vmware-api-session-id) со скользящим сроком действия 2 часа, отслеживаемые в PostgreSQL (vsphere_sessions). - Логи маскируют распознанные представления session id и паролей.
- Ответы сессий обновления/загрузки content library раскрывают только endpoint'ы загрузки/скачивания, а не сырые секреты.
Меняйте TICKET_SIGNING_KEY для любой общей лаборатории. Заменяйте seeded-
пароли перед демонстрацией другим людям.
Материалы TLS
docker/tls/ содержит закоммиченный self-signed сертификат для локального
сервиса nginx api-gateway. Он существует, чтобы немодифицированные
TLS-клиенты (pyvmomi, govmomi, провайдер Terraform hashicorp/vsphere) могли
подключаться с установленным insecure/verify=False. Никогда не
используйте эти файлы повторно в production.
Администрирование симулятора
На данный момент нет отдельно аутентифицируемой административной
control plane. Вспомогательные маршруты Web UI под /ui/api/* доступны,
когда процесс достижим по сети, — включая действия reseed и hot-swap.
Считайте сетевую доступность границей доверия.
Авторизация
Мутирующие REST-эндпоинты проверяют привилегии, производные от роли
(app/vsphere/security/authz.py), прежде чем обращаться к инвентарю.
Seeded-принципал readonly@vsphere.local не может включать/создавать/
удалять ВМ (HTTP 403). См. Авторизация.
Симулированные внешние системы
Заменители NSX/Supervisor/vSAN/SAML-OIDC/VECS-сертификатов (см. Покрытие API) сохраняют только локальное состояние симулятора. Они не открывают реальных соединений с внешними IdP, NSX Manager или живым кластером vSAN. Не полагайтесь на симулятор для тестирования защиты от эксфильтрации живых учётных данных против реальных провайдеров.