**Language / Язык:** [English](../security.md) | [Русский](security.md) # Безопасность ## Модель угроз лаборатории Этот проект — **локальный / 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). См. [Авторизация](domains/authz.md). ## Симулированные внешние системы Заменители NSX/Supervisor/vSAN/SAML-OIDC/VECS-сертификатов (см. [Покрытие API](api-coverage.md)) сохраняют только локальное состояние симулятора. Они не открывают реальных соединений с внешними IdP, NSX Manager или живым кластером vSAN. Не полагайтесь на симулятор для тестирования защиты от эксфильтрации живых учётных данных против реальных провайдеров.