
Матрица доступов веб-студии — это реестр, который показывает, какой человек, роль или сервис имеет какие права в системе клиента, зачем они нужны, кто их одобрил и когда их следует пересмотреть или отозвать.
Она не содержит сами пароли, приватные ключи, токены и recovery-коды. Эти секреты находятся в защищённом хранилище. Матрица содержит ссылку или идентификатор записи и управляет ответственностью вокруг неё.
Главный принцип:
Каждый доступ выдаётся конкретному субъекту, для определённой задачи, с минимальными достаточными правами и понятным событием отзыва.
Для веб-студии это особенно важно: компрометация одной общей учётной записи может затронуть не собственный продукт, а домены, серверы, почту, платежи и данные нескольких клиентов.
Безопасная схема состоит из десяти правил:
Матрица помогает увидеть избыточные права, но безопасность возникает только вместе с процессом выдачи, хранения, использования, журналирования и отзыва.
Таблица отвечает только на вопрос «какой секрет ввести». Она редко отвечает:
Общий логин также разрушает атрибуцию: в журнале виден admin, но не видно конкретного человека.
Если система не поддерживает индивидуальные аккаунты, это фиксируется как риск. Временная мера может включать ограниченный круг пользователей, защищённое хранилище, MFA, журнал выдачи и план миграции. Нельзя делать вид, что риск исчез.
Студии часто защищают административную панель CMS, но забывают системы с ещё большим влиянием.
Минимальный перечень:
Приоритет определяется влиянием. Возможность изменить DNS или восстановить почту владельца часто опаснее права редактировать страницу сайта.
Для каждого объекта запишите:
Практичный принцип для клиентских систем:
Конкретная схема зависит от договора и возможностей платформы, но владелец должен быть явным.
Не пытайтесь применить одинаковые названия ролей ко всем сервисам. Используйте внутреннюю шкалу влияния и сопоставляйте её с реальными ролями платформы.
| Уровень | Назначение | Примеры возможностей | Типичный режим |
|---|---|---|---|
| L0 — наблюдение | Диагностика без изменений | Чтение статуса, логов, отчётов | Повседневно для поддержки |
| L1 — операция | Ограниченное безопасное действие | Перезапуск разрешённой задачи, редактирование контента | По должностной роли |
| L2 — администрирование | Изменение конфигурации сервиса | Пользователи CMS, deploy, настройки приложения | Ограниченному кругу |
| L3 — привилегированный | Контроль инфраструктуры или данных | root, БД admin, DNS admin, секреты production | По необходимости и с усиленным контролем |
| L4 — владение/восстановление | Передача собственности и полный recovery | Owner облака, регистратор, платёжный владелец | У клиента или уполномоченного руководителя |
L4 не означает «самый опытный разработчик». Это возможность изменить владельца, оплату, recovery и судьбу всего объекта.
Если платформа позволяет, администратор использует:
NIST SP 800-53 связывает принцип минимальных привилегий с использованием непривилегированного доступа для обычных функций и ограничением привилегированных аккаунтов определёнными людьми или ролями. Для небольшой студии это можно реализовать без сложной IAM-платформы: не работать постоянно под root и не выдавать владельца всем разработчикам.
Пример, который нужно адаптировать:
| Роль | Наблюдение | CMS | Deploy | Сервер | DNS/домен | Секреты | Пользователи |
|---|---|---|---|---|---|---|---|
| Аккаунт-менеджер | Да | Нет или чтение | Нет | Нет | Чтение сроков | Нет | Нет |
| Контент-менеджер | Статус | Редактор | Нет | Нет | Нет | Нет | Нет |
| Разработчик | Да | По проекту | На staging/по процессу | Ограниченно | Нет | Только нужные проекту | Нет |
| Дежурный инженер | Да | Операционная роль | По playbook | Диагностика/локализация | Чтение | Аварийно по процедуре | Нет |
| DevOps/администратор | Да | По необходимости | Да | Администратор | По отдельному одобрению | Нужные инфраструктуре | Ограниченно |
| Технический директор | Да | Администратор | Одобрение | Привилегированно | Администратор при делегировании | Управление коллекциями | Да |
| Клиент-владелец | Отчёты | По договорённости | Нет | По договорённости | Owner | Владеет recovery | Одобряет критические роли |
| Автоматизация | Только API | Нет | Узкая сервисная роль | Узкая команда/API | Нет | Только свой токен | Нет |
«По необходимости» должно быть расшифровано в карточке конкретной системы. Такая фраза без владельца и срока не ограничивает ничего.
Одна строка описывает связь субъекта и системы.
| ID | Клиент/проект | Система | Среда | Субъект | Тип | Роль платформы | Уровень | Цель | MFA | Одобрил | Vault ref | Выдан | Истекает/пересмотр | Событие отзыва | Статус |
|---|---|---|---|---|---|---|---|---|:---:|---|---|---|---|---|---|
| ACC-0001 | | | production | | human/service/emergency | | L0-L4 | | | | | YYYY-MM-DD | | | active |
| Поле | Что записывать |
|---|---|
ID |
Неизменяемый идентификатор выдачи |
| Клиент/проект | Связь с паспортом проекта |
| Система | Регистратор, CMS, сервер, репозиторий и т. п. |
| Среда | Production, staging, общая платформа |
| Субъект | Конкретный человек, группа или сервис |
| Тип | Human, service, emergency, vendor |
| Роль платформы | Фактическое название роли |
| Уровень | Внутренняя классификация влияния |
| Цель | Конкретная рабочая необходимость |
| MFA | Да, нет, недоступно; метод при необходимости |
| Одобрил | Владелец системы или данных |
Vault ref |
Ссылка/ID, но не значение секрета |
| Выдан | Дата активации |
| Истекает/пересмотр | Срок временного права или review |
| Событие отзыва | Увольнение, смена роли, окончание договора |
| Статус | Запрошен, активен, приостановлен, отозван |
Дополнительные поля для высокого риска:
# Матрица доступов: [клиент / проект]
## Владельцы
- Бизнес-владелец клиента:
- Технический владелец клиента:
- Владелец доступа в студии:
- Security-контакт:
- Дата последнего review:
## Системы
| Система | Owner | Администраторы | Рабочие роли | Сервисные аккаунты | MFA | Vault | Recovery | Риск |
|---|---|---|---|---|:---:|---|---|---|
| Регистратор | | | | | | | | |
| DNS | | | | | | | | |
| Хостинг/облако | | | | | | | | |
| CMS | | | | | | | | |
| Репозиторий | | | | | | | | |
| CI/CD | | | | | | | | |
| Бэкапы | | | | | | | | |
| Мониторинг | | | | | | | | |
## Открытые действия
| Действие | Причина | Владелец | Срок | Проверка готовности |
|---|---|---|---|---|
| | | | | |
Запрос содержит:
Плохой запрос:
Дайте полный доступ Васе, он будет помогать.
Рабочий запрос:
Выдать Анне роль редактора CMS production для публикации согласованного контента по проекту WEB-0042. Без управления пользователями, модулями и PHP. Пересмотр при завершении контентного договора.
Доступ одобряет владелец системы, данных или уполномоченная им роль. Запрашивающий не должен единолично утверждать собственные привилегированные права.
Для L3/L4 полезно второе подтверждение или явная проверка владельца клиента, особенно для:
Предпочтительный порядок:
Пользователь подтверждает:
Проверяйте не только недостаток, но и избыток прав.
В момент выдачи должно быть понятно, что прекратит доступ:
Если событие отзыва неизвестно, право почти наверняка проживёт дольше необходимости.
Используется человеком. Даёт атрибуцию и независимый отзыв.
Требования:
Упрощает массовое управление, если платформа поддерживает её.
Проверяйте:
Используется автоматизацией, а не человеком.
Для него фиксируются:
Не используйте личный аккаунт разработчика в CI/CD. После его увольнения pipeline либо продолжит работать под чужой личностью, либо внезапно остановится.
Break-glass доступ нужен, если обычная IAM-система или MFA недоступна, а промедление создаёт серьёзное влияние.
Он должен:
Аварийный аккаунт не должен становиться удобным обходом обычного процесса.
MFA значительно снижает риск атак, основанных только на украденном или повторно используемом пароле. CISA и OWASP рекомендуют включать многофакторную аутентификацию там, где она доступна.
Но нужно управлять всем жизненным циклом:
Два знания — например пароль и PIN — не всегда являются двумя независимыми факторами. При выборе метода учитывайте возможности платформы и риск. Для привилегированных систем предпочтительнее устойчивые к фишингу методы, если они поддерживаются и команда умеет ими управлять.
OWASP рекомендует централизовать хранение, выдачу, аудит, ротацию и управление жизненным циклом секретов, а также применять точное разграничение прав.
Практические правила:
Маскирование строки в интерфейсе не делает её несекретной.
Безопасная базовая модель:
Один root-пароль для всей команды удобен до первого инцидента или увольнения.
Создайте роли по фактическим действиям:
Контент-менеджеру не нужны права устанавливать плагины или выполнять PHP. Разработчику не всегда нужна возможность экспортировать клиентскую базу. Аккаунт-менеджеру обычно достаточно просмотра состояния и истории.
Старые пользователи CMS — частый забытый доступ. Включите их в offboarding и регулярную сверку.
Эти системы образуют цепочку владения.
Если злоумышленник контролирует почту владельца, он может восстановить доступ к регистратору. Контроль DNS позволяет перенаправить сайт и почту. Поэтому:
Не просите клиента переслать пароль от регистратора в мессенджер. Запросите создание делегированной роли или проведите контролируемую передачу в защищённое хранилище, если платформа не поддерживает роли.
CI/CD часто имеет путь к production и секретам.
Минимальные меры:
OWASP отдельно обращает внимание на то, что CI/CD следует защищать как production и не допускать утечки секретов через вывод pipeline.
Для диагностики подрядчиком или редкой административной работы:
Временный общий пароль, который забыли сменить, — постоянный скрытый доступ.
Создайте единый чек-лист, который запускается кадровым или управленческим событием. Конкретный целевой срок устанавливается по риску и процедурам студии; для привилегированного доступа отзыв должен происходить без неоправданной задержки.
Удаление сотрудника из одного корпоративного чата не завершает offboarding.
При завершении поддержки:
Нельзя просто отправить архив с паролями и считать передачу безопасной.
Полный реестр объектов, момент смены ответственности и критерии приёмки приведены в чек-листе передачи сайта другой студии.
NIST CSF рекомендует пересматривать права периодически и при смене роли или уходе человека, а ненужные права — быстро отзывать.
Review проводится по риску. Для критических систем он может быть чаще, чем для доступа на чтение.
Вопросы владельцу:
Результат review — не галочка, а список: подтвердить, понизить, отозвать, заменить или расследовать.
Не ограничивайтесь сменой пароля.
Безопасный порядок зависит от системы, но обычно включает:
Не удаляйте журналы и не переписывайте историю в попытке «быстро почистить», если они нужны расследованию. Для серьёзного события привлекайте профильных специалистов.
В каталоге клиентских сайтов хранится:
В матрице хранится:
В менеджере секретов хранится:
В Helpdesk хранится:
Так каждая система выполняет одну роль и не дублирует чувствительные данные.
Внешнему мониторингу обычно достаточно публичного URL и ожидаемого результата. Ему не нужны:
Для heartbeat или внутреннего показателя используйте отдельный ограниченный токен, endpoint или агент с минимальными правами. Он должен передавать только нужный сигнал и не давать возможности выполнять несвязанные административные команды.
Для синтетической пользовательской проверки создавайте отдельную тестовую учётную запись:
Pingvera позволяет наблюдать сайт с минимальным доступом:
Матрица должна отражать доступ сотрудников к самому аккаунту мониторинга и управление каналами. Человек, способный удалить проверку или отключить алерт, влияет на обнаружение инцидента, даже если у него нет доступа к production.
Сократите радиус риска: оставьте мониторингу только необходимые функции, а доступ сотрудников к проектам и уведомлениям зафиксируйте по ролям. Настроить проверки в Pingvera.
Нельзя надёжно отозвать одного человека и понять автора изменения. Создавайте индивидуальные аккаунты.
Ускорение первой задачи создаёт постоянный большой риск. Определите роли и процедуру повышения.
Слабый процесс восстановления обходит сильный вход. Проверьте всю цепочку.
Offboarding ломает автоматизацию или оставляет скрытую личную зависимость. Используйте сервисную идентичность.
Смена роли и завершение проекта происходят сейчас. Используйте событийные триггеры плюс календарный review.
Активные сессии, API-ключи и SSH-доступ могут продолжать работать. Проверяйте все способы входа.
Это обход процесса. Разберите, каких рабочих прав или инструментов не хватает.
Синтетический пользователь должен иметь минимальную роль и отдельный безопасный набор данных.
Для них убрать лишних владельцев и личные recovery-каналы.
В предназначенном для секретов защищённом хранилище с разграничением доступа, MFA, журналом и управляемым восстановлением. В матрице и каталоге хранится только ссылка или идентификатор.
Только как зафиксированное ограничение, если платформа не поддерживает индивидуальные роли. Сократите пользователей, включите доступные меры защиты, журналируйте выдачу и запланируйте замену.
В типичной клиентской модели владельцем должен оставаться сам клиент или явно уполномоченная им организация, а студия получает делегированный доступ. Конкретное решение закрепляется договором и данными регистратора.
Не по умолчанию. Выдайте права для конкретной задачи, используйте непривилегированный доступ и контролируемое повышение. Постоянный root должен быть исключением.
Не применяйте слепую ротацию без учёта платформы и зависимости. Сильные уникальные секреты меняются при компрометации, передаче, требованиях системы и по принятой политике; сервисные секреты по возможности ротируются автоматически. MFA и отзыв лишних прав не менее важны.
Хранить как чувствительные секреты с ограниченным доступом. Не размещать в той же открытой карточке, где указаны логин и инструкция. Продумать резерв и отзыв при смене сотрудника.
Для внешних проверок он не нужен. Внутренний сигнал получает отдельный минимальный механизм. Если конкретная интеграция требует больше прав, это фиксируется, обосновывается и пересматривается.
Исполнитель отзывает, а владелец процесса или другой уполномоченный человек сверяет фактическое состояние и доказательство. Для критических систем полезен независимый контроль.
Безопасный доступ — это не секретная строка, а управляемый жизненный цикл:
запрос → одобрение → минимальная роль → защищённая выдача → проверка → review → отзыв
Матрица делает этот цикл видимым. Она показывает лишние права, личные зависимости, забытые сервисные аккаунты и непонятное владение до того, как они проявятся в инциденте.
Начните с домена, DNS, корпоративной почты, облака и менеджера секретов. Именно эти системы часто позволяют восстановить или захватить остальные.
Следующая учебная ступень: «Как передать сайт другой студии без потери контроля: безопасный offboarding».
Pingvera следит за сайтами клиентов «снаружи и изнутри» — доступность из регионов, формы, оплата, домен, SSL, сервер — и предупреждает в Telegram, email и Max раньше, чем напишет клиент.
Попробовать Pingvera бесплатноЧитайте также: Каталог клиентских сайтов: шаблон для студии · Blameless postmortem для веб-студии: шаблон · SLA технической поддержки сайта: шаблон студии · Поддержка 10, 50 и 100 сайтов: система студии · Бесплатно проверить сайт.