Перейти к основному содержаниюРоль агента qudata
Агент qudata — привилегированный сервис на стороне хостера. Он получает задания от оркестратора, кэширует доверенные образы, запускает micro vm и проводит аппаратную аттестацию окружения. Его задача — минимизировать доверие к хосту, делегируя контроль безопасности аппаратным механизмам и проверенным компонентам.
Основные обязанности:
- Приём политик и задач по mTLS, валидация сообщений.
- Кэширование immutable-образов и проверка их подписи.
- Подготовка и запуск micro vm/cvm, управление RW-оверлеями и LUKS-томами.
- Формирование
TPM quote, сбор телеметрии и отчётности.
- Мониторинг системных вызовов, применение eBPF-фильтров и политик ограничения.
- Управление GPU/CPU ресурсами, режимами GPU (MIG, persistence, compute-only).
Архитектура и ключевые компоненты
Приём заданий (Receiver)
- Постоянное mTLS-соединение с оркестратором.
- Проверка схем сообщений и цифровых подписей.
- Очередь задач с приоритетами и автоматическим повтором.
Менеджер образов (Image Cache / Verifier)
- Локальное хранилище подписанных immutable-образов.
- Проверка подписи и хэшей каждого слоя перед запуском.
- Управление read-only root и изолированными RW-оверлеями.
Пайплайн запуска micro vm
- Получение задания и политики безопасности (ожидаемые PCR, версии драйверов, режимы GPU).
- Подбор подходящего профиля оборудования (CPU, GPU, NUMA, hugepages).
- Генерация временных ключей, подготовка RW-оверлея и шифрованного тома.
- Запуск micro vm через минимальный гипервизор.
- Настройка сети (VPN/tap), ограничение доступа к устройствам.
- Взаимодействие с TPM, получение
quote, ожидание подтверждения от клиента/сервера.
- Передача зашифрованного DEK и монтирование зашифрованных томов внутри инстанса.
Безопасность времени выполнения (Runtime Security)
- SecurityMonitor отслеживает системные вызовы и сетевые паттерны.
- eBPF-слой собирает телеметрию и фильтрует подозрительные действия.
- Seccomp, cgroups и AppArmor/SELinux профили ограничивают доступ.
- Watchdog завершает micro vm при попытках обхода ограничений.
Управление вычислительными ресурсами
- Инициализация и проверка версий GPU-драйверов.
- Настройка режимов GPU, проверка целостности прошивок.
- Учёт использования GPU/CPU и отправка метрик в биллинг.
Телеметрия и логирование
- Сбор здоровья узла, загрузки, ошибок и событий безопасности.
- Шифрование логов и отправка по mTLS с возможностью агрегирования.
- Локальная ротация журналов с опцией хранения только хэшей.
Обновления и конфигурация
- Rolling-обновления с цифровой подписью и возможностью отката.
- Централизованное управление конфигурацией и feature flags.
- Изоляция высокопривилегированных компонентов.
Компонент очистки (Garbage Collector)
- Удаление устаревших образов, освобождение квот GPU/CPU.
- Безопасное уничтожение временных ключей и очищение дисков.
Защита агента
- Минимизация привилегий и изоляция критичных модулей.
- Подпись бинарей и проверка целостности на каждом запуске.
- Привязка конфигурации к TPM (Measured Boot).
- Сетевые политики: вход только по доверенным сертификатам, исходящий трафик через VPN/прокси.
- Секреты хранятся в TPM или оперативной памяти и уничтожаются после использования.
- Контроль целостности конфигураций и бинарей через подписанные манифесты.
Правила эксплуатации
- Устанавливайте агент только из подписанных пакетов.
- Конфигурация берётся из централизованного хранилища; локальные изменения ограничены политикой.
- Агент обязан отправлять heartbeat и критические события; отсутствие heartbeat переводит узел в статус «недоступен».
- Rolling-обновления обязательны; ручной откат допускается только с подписанным manifest.
- Ключи DEK генерируются и хранятся исключительно в памяти, TPM используется для envelope encryption.
- При потере связи агент приостанавливает новые задания и завершает конфиденциальные инстансы согласно политике.
Соблюдение этих требований гарантирует, что узел останется доверенным и будет стабильно получать задания из маркетплейса qudata.ai.