Аудит безопасности SaaS-сервиса: изоляция клиентов и доступы
Главный риск SaaS — чтобы один клиент не увидел данные другого. Мы проверяем эту границу везде, где она может пропасть.
В многоарендном сервисе данные всех клиентов лежат в одной базе и различаются полем «компания». Каждый запрос, каждый отчёт, каждый экспорт и каждая фоновая задача должны учитывать это поле. Достаточно одного забытого фильтра, чтобы клиент увидел чужие заказы в выгрузке или поиске. Такие ошибки не видны в обычной работе, и находят их обычно клиенты.
Мы сами разрабатываем SaaS: Auto555, Homade, A777AA — многоарендные системы с разделением по компании. Изоляция клиентов в них — предмет постоянных проверок и ревью, и этот опыт мы переносим на аудит вашего сервиса.
Кроме изоляции, проверяем роли внутри компании-клиента, вход сотрудников вашей поддержки в чужие аккаунты, ключи API и вебхуки интеграций, приглашение пользователей, поддомены и собственные домены клиентов, удаление аккаунта и выгрузку данных по запросу.
Что ещё важно для SaaS
Как быть с удалением аккаунта?
Проверяем, что при удалении компании её данные действительно удаляются или обезличиваются, а не остаются в резервных копиях и аналитике бессрочно.
А выгрузка данных клиента?
Выгрузку должен получать только владелец компании, файл — храниться ограниченное время и скачиваться после входа.
Самопроверка многоарендного сервиса
- Новые функции проверяются на двух тестовых компаниях до выкладки
- Вход поддержки в аккаунт клиента записывается в журнал
- Ключи API можно отозвать, и у каждого свой набор прав
- Поддомены удалённых клиентов не остаются привязанными к чужим сервисам
Где теряется граница между клиентами
| Место | Что проверяем |
|---|---|
| Списки и поиск | Фильтр по компании в каждом запросе |
| Отчёты и экспорт | Сводные данные и файлы выгрузки |
| Фоновые задачи | Рассылки, импорт, пересчёты |
| Файлы | Ссылки на документы и изображения |
| Кеш | Общий кеш для разных компаний |
Возможности
Что проверяем
Изоляция данных
Запросы, поиск, отчёты, экспорт и фоновые задачи учитывают компанию.
Роли внутри клиента
Владелец, администратор, сотрудник — каждый видит своё.
Вход поддержки
Как сотрудники заходят в аккаунты клиентов, журнал и согласие.
Интеграции
Ключи API, вебхуки, приглашения, права приложений.
Домены и жизненный цикл
Поддомены клиентов, свои домены, удаление аккаунта и выгрузка данных.
Калькулятор
Аудит SaaS-сервиса — расчёт стоимости
Отраслевые модули уже отмечены. Уберите лишнее или добавьте нужное — сумма в счёте будет та же, что в смете.
Выберите пакет
Добавьте нужное
Ваша смета
- Пакет «Орбита»129 000 ₽
- Ревью кода изоляции39 900 ₽
- Вход поддержки в аккаунты9 900 ₽
Стоимость работ
0 ₽
Срок: 3–4 недели
Счёт сейчас: 89 400 ₽ — предоплата 50%, остаток после приёмки
Без регистрации. Счёт и анкета придут на почту сразу. Работаем по договору и с разрешения владельца системы.
Как мы проверяем изоляцию на своих продуктах
В наших сервисах каждый запрос к данным проходит через фильтр компании, а новые функции проверяются на двух тестовых компаниях до выкладки. Это не исключает ошибок, но ловит большинство до того, как их увидят клиенты.
Тот же подход переносим в аудит: формальная проверка всех мест доступа к данным и практические тесты с двумя компаниями. Если у вас нет такого процесса, предлагаем, как встроить его в разработку.
Общая база или база на клиента
Общая база
- Проще в разработке и обновлении
- Риск забытого фильтра
- Нужен контроль в каждом запросе
База на клиента
- Изоляция на уровне подключения
- Сложнее миграции и отчёты
- Риск ошибки при выборе базы
Вопросы и ответы
Вопросы основателей SaaS
Как вы проверяете изоляцию?
Создаём две тестовые компании и проверяем, что ни одна функция не показывает данные другой. Плюс читаем код запросов, если есть доступ.
Наши клиенты спрашивают отчёт о безопасности. Подойдёт?
Да, готовим краткое резюме для клиентов без технических деталей уязвимостей.
Проверите отдельную базу на клиента?
Да, там свои риски: подключение к правильной базе, миграции, резервные копии.
Нужно ли останавливать сервис?
Нет. Работаем на тестовом окружении или в согласованном режиме на боевом.
Как часто повторять аудит?
Раз в год и после крупных изменений в модели данных или ролях.
Пример: CRM для салонов с 300 компаниями-клиентами
Пакет «Орбита» (129 000 ₽) + ревью кода изоляции (39 900 ₽) + вход поддержки в аккаунты (9 900 ₽). Итог — 178 800 ₽ и 3–4 недели. В отчёте — отчёт, который при определённом фильтре собирал данные без учёта компании, и вход поддержки без записи в журнал. После исправлений проверяем эти места ещё раз.
Собрать свой вариантСмотрите также
Похожие решения
Наш продукт в этой нише
Auto555.ru
SEO-лендинг ERP-системы для автопроката · Update V3
Спросите что угодно о заказе: сколько будет стоить ваш проект, что входит в пакет, как платить, какие документы получите.
Бесплатные калькуляторы и шаблоны по теме
Все инструменты →- Безопасность и 152-ФЗКалькулятор ущерба от утечки данных и простоя сайтаПосчитайте стоимость инцидента в деньгах: простой, восстановление, оборотные и фиксированные штрафы за утечку персональных данных, отток клиентов — и сравните с ценой защиты.
- Калькулятор + шаблонЧек-лист 152-ФЗ для сайта: Excel, Word и проверка онлайнПройдите по пунктам и отметьте, что сделано. Получите процент готовности, список задач по приоритету и выгрузку в Excel или Word для юриста и разработчика.