Модель безопасности выделенного физического узла

Чётко определите границы безопасности облачного Mac

Каждый заказ соответствует одному выделенному физическому компьютеру с чётким сроком аренды, а не виртуальной машине. ZoomMini отвечает за работу физического узла и консоли, клиент — за системные аккаунты, настройки приложений, код, секреты и резервные копии. Чёткие границы позволяют проверять и отзывать права.

  • 1 заказ — 1 выделенный физический компьютер
  • Удалённые точки входа, системные права и секреты приложений управляются раздельно
  • Все узлы работают 365 дней в году
ГРАНИЦА БЕЗОПАСНОСТИ Представление изоляции заказа
Физический уровень Выделенный Mac mini В течение срока заказа системная среда не используется совместно с другими клиентами
Уровень доступа Консоль и удалённое подключение Состояние устройства, адрес и инструкции по подключению
Системный уровень Аккаунты и права Клиент настраивает уникальные аккаунты и минимальные права
Уровень рабочих нагрузок Код, ключи и сборка Клиент контролирует хранение, ротацию и перенос
Границы можно однозначно определить ФИЗИЧЕСКИЙ УРОВЕНЬ / ДОСТУП / РАБОЧИЕ НАГРУЗКИ
Модель изоляции

Физическая изоляция устраняет конкуренцию за ресурсы, но изоляцию прав настраивает клиент

Выделенный физический компьютер размещает рабочие нагрузки клиента в чётких границах устройства. Однако выделенное устройство не означает автоматическую безопасность всех аккаунтов, удалённых точек входа и учётных данных приложений. Исполняемая модель изоляции объединяет физический, управляющий, системный уровни и уровень рабочих нагрузок.

Граница физического узла

Каждый действующий заказ соответствует одному выделенному физическому компьютеру и определённому сроку аренды. Это не общая виртуальная машина: процессор, память и локальное хранилище не распределяются между другими клиентами через многопользовательские виртуальные сеансы.

  • Объект границыЗаказ, устройство, узел, срок аренды
  • Где проверитьДетали экземпляра в консоли
  • Действие клиентаПодтвердить идентификатор устройства и даты начала и окончания аренды

Граница удалённого доступа

Консоль используется для просмотра состояния устройства и данных подключения; VNC, демонстрация экрана и SSH — для входа в систему. Сеанс консоли и сеанс операционной системы относятся к разным уровням прав: их следует защищать отдельно и не использовать слабые общие учётные данные.

  • Графические операцииИспользуйте VNC или демонстрацию экрана
  • Автоматизированные задачиВ первую очередь используйте контролируемые ключи SSH
  • Обработка инцидентовСначала ограничьте точки входа, затем проверьте системные сеансы

Граница системных прав

Удалённый адрес не должен автоматически предоставлять все системные права. Права администратора, обычные аккаунты разработчиков, CI runner и временные аккаунты для диагностики следует разделять, выдавать по задаче и своевременно отзывать после её завершения.

  • АдминистраторТолько для изменений на системном уровне
  • Аккаунт разработчикаДля повседневной интерактивной работы
  • RunnerТолько каталоги и команды, необходимые для сборки
Контроль доступа

Сделайте каждый вход отслеживаемым, ограничиваемым и отзывным

Цель контроля доступа — не добавить шаги входа, а дать команде ответы на три вопроса: кто входил на устройство, какие права использовал и утратил ли доступ после ухода из проекта.

  1. 01

    Назначайте сотрудникам уникальные аккаунты

    Не позволяйте нескольким людям постоянно пользоваться одним системным аккаунтом. Уникальный аккаунт связывает историю терминала, владельца файлов, действия runner и записи диагностики с конкретным сотрудником и позволяет отдельно отозвать доступ при его уходе из команды.

  2. 02

    Для SSH в первую очередь используйте аутентификацию по ключу

    Используйте разные ключи для разных сотрудников и автоматизированных задач, фиксируя назначение ключа и его владельца. Храните закрытые ключи только на контролируемых устройствах или в системе ключей; не передавайте их через тикеты, электронную почту, чаты или репозитории кода.

  3. 03

    Выдавайте минимальные права для каждой задачи

    Обычная сборка не должна постоянно выполняться с правами администратора. Ограничьте для CI runner рабочие каталоги, область репозиториев и необходимые команды; при временном повышении прав сначала подтвердите цель изменения, а после завершения верните исходные права.

  4. 04

    Ротируйте учётные данные с учётом рисков и изменений команды

    Команда должна регулярно ротировать системные пароли, ключи SSH и токены репозиториев согласно внутренней политике. При уходе сотрудника, передаче устройства, раскрытии ключа или обнаружении необычного входа выполняйте ротацию немедленно, не дожидаясь планового срока.

  5. 05

    Удаляйте неактуальные точки входа

    Удаляйте неиспользуемые открытые ключи, аккаунты, регистрации runner, сохранённые данные удалённого рабочего стола и автоматизированные задачи. Простое отключение аккаунта сотрудника при сохранении общего токена оставляет неотслеживаемый постоянный путь доступа.

Защита данных

Контроль над кодом и ключами остаётся у клиента

ZoomMini предоставляет устройство и удалённую точку входа. Клиент решает, какие код, артефакты сборки, тестовые данные и секреты размещать на устройстве, а также отвечает за проверку, резервное копирование и перенос до окончания срока аренды.

Каналы передачи

Для удалённых операций выбирайте VNC, демонстрацию экрана или SSH в зависимости от задачи. Перед подключением проверяйте адрес и сведения об устройстве в консоли; при первом подключении по SSH проверяйте отпечаток хоста. При его изменении прекратите подключение и выясните причину.

Проверить
Узел, адрес, отпечаток хоста, аккаунт
Избегать
Принимать подключение напрямую после пропуска проверки личности

Код и секреты

Учётные данные репозитория, материалы подписи, ключи развёртывания и сервисные токены клиент управляет самостоятельно. Используйте контролируемую систему ключей для внедрения по задаче, задавайте область действия и способ отзыва, не записывайте секреты в систему контроля версий.

Проверить
Назначение, область действия, владелец, способ ротации
Избегать
Открытые настройки, ключи в скриптах, общие токены

Обезличивание журналов

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

Рекомендуется сохранить
Время, код ошибки, версию, шаги воспроизведения
Обязательно удалить
Пароли, закрытые ключи и полные секреты

Перенос до окончания срока аренды

До истечения срока перенесите код, артефакты сборки, журналы и рабочие данные и убедитесь, что резервные копии читаются. Затем отзовите токены репозитория, учётные данные развёртывания и регистрацию runner, удалив ненужные локальные копии.

Критерии завершения
Данные перенесены, резервная копия проверена, доступ отозван
Где проверить
Состояние устройства и срок окончания в консоли
Порядок действий до окончания срока

Не считайте «скопировано» равным «перенос завершён»

1. ИнвентаризацияПеречислите код, артефакты, кэш, журналы и секреты
2. КопированиеПеренесите их в целевое хранилище или новую среду под контролем клиента
3. ПроверкаПроверьте целостность файлов и выполните необходимые тесты восстановления
4. ОтзывРотируйте токены, отвяжите runner и удалите удалённые права
Безопасность CI/CD

Сборочный компьютер может работать постоянно, но секреты не должны постоянно оставаться открытыми

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

01

Доступ к репозиторию

Токен должен охватывать только необходимые репозитории и операции. Runner, выполняющий только получение кода, не должен иметь административных прав, а временные задачи — повторно использовать долгосрочный токен выпуска.

Ограничение области
02

Сборка и тестирование

Runner использует отдельный аккаунт и рабочий каталог. Источник зависимостей должен быть проверяемым, а скрипты сборки не должны выводить секреты из переменных среды или заголовков запросов.

Изолированный аккаунт
03

Материалы подписи

Сертификаты подписи и связанные закрытые ключи храните в контролируемой системе ключей и внедряйте только в задачи, которым нужна подпись. После завершения задачи удаляйте временные файлы и переменные среды процесса.

Внедрение по необходимости
04

Учётные данные выпуска

Разделяйте токены выпуска и репозитория; конвейер тестирования не должен наследовать права выпуска в рабочую среду. При изменении команды или проекта возможность отзыва должна быть независимой и не затрагивать другие задачи.

Независимый отзыв
Проверка перед отправкой

Ищите пути раскрытия секретов в скриптах и журналах

Проверьте, выводит ли скрипт сборки переменные среды, не отображаются ли при ошибках полные команды, не содержит ли каталог кэша файлы учётных данных и не попали ли конфигурационные файлы в архив артефактов. Если секрет попал в журнал, удалите журнал и ротируйте соответствующие учётные данные.

pipeline-security-check
$ git grep -nE "TOKEN|PRIVATE_KEY|PASSWORD" -- .
$ find build/ -type f -name "*.env" -o -name "*.key"
$ security find-identity -v -p codesigning
$ launchctl list | grep runner

Результаты проверки:
✓ В репозитории открытые секреты не обнаружены
✓ Архив сборки не содержит файлов с учётными данными
✓ runner использует отдельный системный аккаунт
✓ Материалы подписи внедряются контролируемым процессом
Состояние работы

Описывайте работу сервиса через чёткие цели и записи событий

Целевой показатель доступности сервиса ZoomMini — 99,9%. Все узлы работают 365 дней в году; история работы отображается по дням, а отметки событий указывают на изменения, требующие проверки, и не означают автоматически недоступность в течение всего дня.

Целевой показатель доступности 99,9% Применяется к статистике и проверкам в соответствии с условиями сервиса
Ежедневное состояние за последние 90 дней Каждая полоса состояния соответствует 1 дню
Запись нормальной работы Отметка события

Если клиент считает, что сервис не достиг цели, отправьте тикет через консоль с идентификатором заказа, узлом, затронутым периодом, воспроизводимым проявлением и обезличенными журналами. Соответствующие условиям запросы рассматриваются по условиям сервиса с компенсацией сервисными кредитами.

Просмотреть условия сервиса и критерии проверки
Обработка инцидентов безопасности

Сначала ограничьте дальнейший доступ, затем сохраните необходимые доказательства

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

  1. 01

    Определите масштаб аномалии

    Зафиксируйте время обнаружения, идентификатор устройства, узел, подозрительный аккаунт, связанные процессы и затронутые рабочие нагрузки. Разделяйте аномалии консоли, системных аккаунтов, токенов репозитория и поведения приложения, не смешивая разные уровни прав.

    РезультатИсходная временная шкала и затронутые объекты
  2. 02

    Ограничьте дальнейший доступ

    Приостановите подозрительные автоматизированные задачи, отзовите аномальные сеансы, отключите связанные аккаунты или открытые ключи и ограничьте высокорисковые токены. Не позволяйте известному аномальному доступу расширяться ради сохранения исходной картины; зафиксируйте время и исполнителя каждого ограничения.

    РезультатСписок отозванных точек входа и приостановленных задач
  3. 03

    Сохраните необходимые журналы

    Сохраните связанные с инцидентом записи входа, историю команд, вывод runner, сведения о процессах и коды ошибок. Перед экспортом обезличьте данные; не отправляйте пароли, закрытые ключи, полные платёжные данные или не относящуюся к инциденту персональную информацию.

    РезультатОбезличенные журналы и сведения для воспроизведения
  4. 04

    Уведомите службу поддержки

    Через тикет в консоли или по адресу support@zoommini.com отправьте идентификатор заказа, узел, время события, выполненные ограничения и обезличенные журналы. Если риск сохраняется, укажите в теме «Инцидент безопасности» для быстрой маршрутизации.

    РезультатОписание инцидента, готовое для расследования
  5. 05

    Ротируйте секреты и проверьте восстановление

    С учётом масштаба воздействия ротируйте системные учётные данные, ключи SSH, токены репозитория, ключи runner, материалы подписи и учётные данные развёртывания. Перед возобновлением задач убедитесь, что старые данные недействительны, новые права минимальны, а аномальные процессы отсутствуют.

    РезультатЗапись ротации и результаты проверки восстановления
В обращении укажите

Информация, с которой поддержка сразу начнёт поиск причины

Идентификатор заказаДля определения соответствующего физического узла
Узел и устройствоДля проверки границ среды, где произошёл инцидент
Время проблемыУкажите часовой пояс и время первого обнаружения
Шаги воспроизведенияОпишите условия срабатывания и ожидаемый результат
Выполненные действияПеречислите отключение, отзыв и ротацию
Обезличенные журналыСохраните коды ошибок, не прикладывая секреты
Зоны ответственности

ZoomMini обеспечивает инфраструктуру, клиент контролирует рабочие нагрузки

Чёткие зоны ответственности сокращают ожидание и повторные проверки при диагностике. Физический узел, консоль и предоставление устройства входят в зону ZoomMini; аккаунты, приложения, код, секреты и резервные копии внутри системы контролирует клиент.

Сравнение ответственности ZoomMini и клиента за защиту данных и безопасность
Область контроля Отвечает ZoomMini Отвечает клиент Что рекомендуется проверить
Физический узел Соответствие устройства и заказа в режиме выделенного использования, базовая работа узла и состояние устройства в консоли. Использование устройства по назначению заказа, управление рабочими нагрузками и перенос данных в течение срока аренды. Идентификатор устройства, узел, даты начала и окончания аренды.
Аккаунт консоли Доступ к аккаунту, управление заказами, состояние экземпляра и вход для создания тикетов. Защита учётных данных, выявление аномального доступа и своевременное обновление или отзыв прав. Недавние входы, изменения заказа, история тикетов.
Удалённое подключение Сведения о подключении и состоянии соответствующего устройства в консоли. Проверка адреса и отпечатка хоста, защита удалённых учётных данных и настройка доверенного клиента. Узел, адрес, отпечаток, аккаунт подключения.
Системные аккаунты Доступная графическая среда macOS и командная строка. Создание уникальных аккаунтов, минимальные права, ротация учётных данных и удаление аккаунтов ушедших сотрудников. Список аккаунтов, список открытых ключей, права администратора.
Приложения и CI/CD Работа сервисов физического узла и консоли. Управление Xcode, зависимостями, runner, скриптами, правами репозитория и процессом выпуска. Аккаунт runner, рабочий каталог, область токена.
Код и ключи Не принимает решения за клиента о хранении, выдаче прав и ротации кода и секретов. Использование контролируемой системы ключей и отказ от открытой записи в скриптах, репозиториях и журналах. Назначение секрета, область действия, владелец, способ отзыва.
Журналы и поддержка Диагностика проблем физического узла и консоли по данным тикета. Предоставление точного времени, шагов воспроизведения и обезличенных журналов без секретов. Код ошибки, версия, временная шкала, выполненные действия.
Резервное копирование и перенос Отображение срока аренды заказа и устройства в консоли. Разработка стратегии резервного копирования, проверка восстановления и перенос данных до окончания срока аренды. Целостность резервной копии, тест восстановления, отзыв токенов.
Зона работы ZoomMini

Физический узел и консоль

Выделенный физический компьютер заказа, базовая работа узла, состояние устройства, управление заказом и обработка тикетов поддержки.

Зона контроля клиента

Системные аккаунты и рабочие нагрузки

Права операционной системы, удалённые учётные данные, настройки приложений, код, ключи, конвейеры сборки, обезличивание журналов, резервное копирование и перенос.

Общая зона работы

Расследование инцидента и проверка восстановления

Клиент предоставляет заказ, узел, временную шкалу и обезличенные журналы; ZoomMini определяет состояние инфраструктуры в пределах своей зоны, а обе стороны отдельно проверяют свои уровни прав.

Следующий шаг

Сначала определите границы, затем перенесите рабочие нагрузки на выделенный узел

Выбрав подходящую модель и срок аренды, настройте среду по списку: уникальный аккаунт, ключ SSH, минимальные права, контролируемое внедрение ключей и перенос до окончания срока.