Перейти к содержимому

Аудит безопасности SaaS-сервиса: изоляция клиентов и доступы

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

Собрать проект Типовой проект — 178 800 ₽

В многоарендном сервисе данные всех клиентов лежат в одной базе и различаются полем «компания». Каждый запрос, каждый отчёт, каждый экспорт и каждая фоновая задача должны учитывать это поле. Достаточно одного забытого фильтра, чтобы клиент увидел чужие заказы в выгрузке или поиске. Такие ошибки не видны в обычной работе, и находят их обычно клиенты.

Мы сами разрабатываем SaaS: Auto555, Homade, A777AA — многоарендные системы с разделением по компании. Изоляция клиентов в них — предмет постоянных проверок и ревью, и этот опыт мы переносим на аудит вашего сервиса.

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

Что ещё важно для SaaS

Как быть с удалением аккаунта?

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

А выгрузка данных клиента?

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

Самопроверка многоарендного сервиса

  • Новые функции проверяются на двух тестовых компаниях до выкладки
  • Вход поддержки в аккаунт клиента записывается в журнал
  • Ключи API можно отозвать, и у каждого свой набор прав
  • Поддомены удалённых клиентов не остаются привязанными к чужим сервисам

Где теряется граница между клиентами

МестоЧто проверяем
Списки и поискФильтр по компании в каждом запросе
Отчёты и экспортСводные данные и файлы выгрузки
Фоновые задачиРассылки, импорт, пересчёты
ФайлыСсылки на документы и изображения
КешОбщий кеш для разных компаний

Возможности

Что проверяем

01

Изоляция данных

Запросы, поиск, отчёты, экспорт и фоновые задачи учитывают компанию.

02

Роли внутри клиента

Владелец, администратор, сотрудник — каждый видит своё.

03

Вход поддержки

Как сотрудники заходят в аккаунты клиентов, журнал и согласие.

04

Интеграции

Ключи API, вебхуки, приглашения, права приложений.

05

Домены и жизненный цикл

Поддомены клиентов, свои домены, удаление аккаунта и выгрузка данных.

Калькулятор

Аудит SaaS-сервиса — расчёт стоимости

Отраслевые модули уже отмечены. Уберите лишнее или добавьте нужное — сумма в счёте будет та же, что в смете.

1

Выберите пакет

2

Добавьте нужное

+ 39 900 ₽
+ 9 900 ₽
+ 9 900 ₽
+ 14 900 ₽
от 14 900 ₽ за роль
от 24 900 ₽ за 50 методов
+ 69 900 ₽
+ 79 900 ₽
+ 49 900 ₽
+ 39 900 ₽
от 24 000 ₽ за 10 ч
+ 14 900 ₽
3

Ваша смета

  • Пакет «Орбита»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 недели. В отчёте — отчёт, который при определённом фильтре собирал данные без учёта компании, и вход поддержки без записи в журнал. После исправлений проверяем эти места ещё раз.

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

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