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

Безопасность storefront

Зачем нужно

Документ описывает требования безопасности витрины: PII в формах, защита от ботов, headers, CSP, rate limits. Базовые правила платформы — в ../../platform/security-baseline.md.

PII в формах

  • хранится только то, что пользователь явно ввёл и согласился отправить;
  • consent на обработку данных собирается отдельным чекбоксом, версионируется;
  • маркетинговое согласие — отдельный чекбокс, не предвыбран;
  • IP клиента хешируется до сохранения, чистый IP не хранится.

Защита от ботов и спама

  • honeypot-поле в каждой форме;
  • rate limit на endpoint /api/v2/storefront/leads: 5 заявок за 15 минут на IP, 30 на сессию;
  • captcha включается при превышении адаптивного порога;
  • timestamp-валидация: форма должна провисеть минимум 2 секунды.

Headers и CSP

  • HSTS с preload;
  • nonce-based CSP для всех страниц витрины:
    • script-src 'self' 'nonce-{n}' https://cdn.jsdelivr.net;
    • style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
    • img-src 'self' data: https:;
    • connect-src 'self' https://api.systematika.tld https://id.systematika.tld;
    • frame-ancestors 'none';
    • frame-src 'none';
  • Referrer-Policy: strict-origin-when-cross-origin;
  • X-Content-Type-Options: nosniff;
  • Permissions-Policy: camera=(), microphone=(), geolocation=().

Cookies

  • consent cookie фиксирует согласие на аналитические/рекламные cookies;
  • сессионные identity cookies живут на отдельном поддомене и витрине не доступны как Secure HttpOnly.

CSRF

  • формы используют synchronizer token, выданный SSR;
  • AJAX-запросы используют bearer-токены или origin-проверку.

SEO и приватность

  • индексация публичных страниц включена (index, follow);
  • закрытые от индексации страницы (черновики, формы благодарности) отдают noindex, nofollow;
  • robots.txt фиксирует правила.

Аудит

  • публикация страницы, отзыва, факта, redirect — пишется в audit_log;
  • модерация отзыва логируется с автором решения;
  • изменение SEO-параметров логируется.

Защита от утечек

  • автогенерация sitemap не включает черновики;
  • preview-ссылки имеют срок жизни и токен;
  • админка витрины доступна только из приватной сети или по защищённому маршруту identity.

Rate limits API

EndpointЛимит
POST /leads5 / 15min / IP
POST /reviews3 / день / user
GET /catalog600 / min / IP
GET /pages/{slug}без явного лимита, кэшируется CDN

Что запрещено

  • хранить чистый IP клиента;
  • логировать payload форм;
  • использовать сторонние трекинг-скрипты без consent и без CSP-исключения;
  • встраивать чужой контент без frame-src доверенных источников.

Связанные документы