Защищённая передача данных
Публичный сайт Cartiva работает по HTTPS. Соединение между браузером и сервером шифруется, чтобы затруднить перехват и подмену данных при передаче. На публичных адресах настроено перенаправление с HTTP на HTTPS. Защитные заголовки браузера дополняют защищённое соединение.
Пароли и ключи интеграций
Пароли пользователей хранятся в виде криптографических хешей с индивидуальной солью. Для новых паролей используется scrypt: сервер проверяет соответствие пароля хешу, а не хранит исходный пароль для последующего чтения.
Для секретов подключённых сервисов применяется отдельный механизм шифрования AES-256-GCM. Он защищает чувствительные ключи интеграций при хранении. Это не означает, что всё содержимое базы зашифровано одним способом: для паролей, ключей и сетевой передачи используются разные механизмы.
Данные своего магазина
Данные обрабатываются на серверной стороне с проверкой рабочей области, магазина и прав пользователя. Знание номера заказа или внутреннего идентификатора само по себе не даёт доступа к административным действиям.
Сотрудникам следует выдавать только необходимые права. Подключения доставки, оплаты и других сервисов привязываются к соответствующему магазину. Проверки на сервере помогают отделять данные разных продавцов и ограничивать доступ к закрытым настройкам.
Нагрузка и автоматические атаки
Ограничения частоты запросов помогают сдерживать перебор и массовые повторные обращения. Для чувствительных операций предусмотрены отдельные лимиты, а размеры входящих запросов ограничиваются. Эти меры снижают влияние части автоматических атак и чрезмерной нагрузки на приложение.
Противодействие DDoS включает сетевой уровень и защиту самого приложения. В Cartiva ограничения запросов и контроль входящих данных помогают уменьшать нагрузку на приложение. Возможности этих мер зависят от характера и масштаба атаки: крупная сетевая атака может повлиять на доступность сервиса.
Серверы и контроль доступности
Работа магазинов опирается на серверную инфраструктуру, доступ к которой необходим для обслуживания платформы. Проверки доступности отслеживают основные сервисы и помогают обнаруживать сбои. Ошибки журналируются для последующего разбора.
При выпуске изменений проверяются сборка приложения, состояние сервисов и доступность публичных адресов. Серверное хранение дополняется контролем доступа: сведения из административного кабинета выдаются после проверки полномочий пользователя.
Защита содержимого и внешних запросов
Пользовательский HTML проходит очистку. Политика безопасности содержимого ограничивает загрузку ресурсов, а серверная обработка внешних адресов проверяет допустимость запросов. Это помогает противодействовать внедрению опасного содержимого и обращениям к внутренним ресурсам через внешние ссылки.
Платёжные события и повторные запросы проверяются отдельно: сообщение от внешнего сервиса должно пройти предусмотренные проверки до изменения состояния заказа. Такие механизмы защищают не только доступ, но и целостность данных магазина.
Обновления и проверки
Изменения проходят проверку типов, сборку и профильные тесты. В проекте предусмотрены проверки зависимостей и поиск случайно добавленных секретов. Обнаруженные риски разбираются с учётом их влияния на магазины и подключённые сервисы.
Безопасность требует постоянного внимания. Новая функция или интеграция добавляет новые данные и связи, поэтому вместе с ней проверяются права доступа, обработка входящих данных и сценарии ошибок.
Если вы заметили проблему
Сообщите в личную поддержку из кабинета или напишите на kairoxrf@yandex.ru. Укажите время, адрес страницы, магазин и шаги, после которых возникла проблема. Если сообщение касается уязвимости, отправьте его лично, без публикации в общем чате.
Не пересылайте пароль, коды входа, закрытые ключи и полные данные покупателя. Для проверки сначала достаточно описания и обезличенного примера. Используйте уникальный пароль и своевременно отключайте доступ сотрудников, которые больше не работают с магазином.