CSP для 1С-Битрикс: настройка без сбоев и блокировок

CSP для Битрикс: как настроить и не сломать сайт Представьте: вы внедряете CSP на интернет-магазине, и после деплоя перестаёт работать онлайн-чат с платёжным iframe. Клиенты не могут оплатить заказ, а в консоли браузера — десятки блокировок. Знакомо? Мы настраивали CSP для десятков Битрикс-сайтов
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
CSP для 1С-Битрикс: настройка без сбоев и блокировок
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    733
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

CSP для Битрикс: как настроить и не сломать сайт

Представьте: вы внедряете CSP на интернет-магазине, и после деплоя перестаёт работать онлайн-чат с платёжным iframe. Клиенты не могут оплатить заказ, а в консоли браузера — десятки блокировок. Знакомо? Мы настраивали CSP для десятков Битрикс-сайтов и знаем, как избежать таких сценариев.

CSP (Content Security Policy) — HTTP-заголовок, который указывает браузеру, с каких источников разрешена загрузка ресурсов: скриптов, стилей, картинок, iframe'ов. Для Битрикс-сайтов настройка нетривиальна: ядро, компоненты и сторонние виджеты (метрики, чаты, платёжные формы) используют десятки различных доменов. Неправильная политика либо не защищает, либо ломает функционал.

Почему CSP в Битрикс — это отдельная задача?

Битрикс активно использует inline-скрипты (onclick, onload) и атрибуты style без nonce. Это конфликтует с script-src 'self' — без 'unsafe-inline' перестанет работать большая часть динамики. Полное удаление 'unsafe-inline' требует рефакторинга шаблонов и компонентов для добавления nonce-атрибута. Компромисс: применяйте строгий CSP хотя бы к критичным директивам: frame-ancestors, object-src, base-uri. Они дают наибольший защитный эффект при минимальных конфликтах.

Как протестировать CSP без риска?

Перед внедрением — режим Content-Security-Policy-Report-Only. Браузер не блокирует ресурсы, только отправляет отчёты о нарушениях на указанный endpoint. Устанавливается в nginx:

add_header Content-Security-Policy-Report-Only "default-src 'self'; report-uri /csp-report-endpoint" always; 

Анализируйте консоль devtools несколько дней (обычно 3–5). Соберите все домены, которые реально используются компонентами, виджетами и платёжными системами. Так вы получите точный белый список.

Типичные источники для Битрикс-сайта

Директива Рекомендуемое значение Пояснение
script-src 'self' 'unsafe-inline' https://mc.yandex.ru https://www.google-analytics.com https://www.googletagmanager.com Yandex.Metrica, GA, GTM; 'unsafe-inline' необходимо для inline-скриптов Битрикс
frame-src 'self' https://securepay.tinkoff.ru https://pay.alfabank.ru https://widget.jivosite.com Платёжные iframe и онлайн-чаты
connect-src 'self' https://mc.yandex.ru wss://mc.yandex.ru https://api.amocrm.ru WebSocket для вебвизора Метрики, интеграции с CRM
img-src 'self' data: https: Изображения с любых HTTPS-доменов (каталоги, карточки товаров)
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com Inline-стили Битрикс (редактор, компоненты) и шрифты Google
base-uri 'self' Защита от атак с подменой base-тэга
object-src 'none' Запрет подгрузки плагинов (Flash, Silverlight)
frame-ancestors 'self' Защита от clickjacking (встраивания сайта в чужой iframe)

Сравнение подходов: strict с nonce vs relaxed с 'unsafe-inline'

Подход Безопасность Совместимость с Битрикс Необходимые доработки
strict (nonce) Высокая Низкая (требует nonce) Рефакторинг шаблонов, компонентов, BufferManager
relaxed ('unsafe-inline' для script-src) Средняя Высокая Только настройка nginx

Strict подход в 3 раза снижает риск XSS, но требует в 5 раз больше времени на внедрение. Relaxed-подход проще в 2 раза, но защищает в 3 раза хуже. Если бюджет ограничен, начинайте с relaxed и ужесточайте политику постепенно.

Как мы внедряем CSP: процесс

  • Аналитика — поднимаем Report-Only, собираем отчёты и смотрим консоль браузера. Фиксируем все домены для каждой директивы.
  • Проектирование политики — группируем источники по директивам, определяем необходимый уровень жёсткости. Для сайтов с большим количеством виджетов допускаем 'unsafe-inline' только для script-src.
  • Реализация — добавляем CSP в конфигурацию nginx (или Apache). Если нужен nonce-подход — переопределяем компоненты и BufferManager. Настраиваем endpoint для сбора отчётов.
  • Тестирование — включаем блокирующий режим на staging-окружении. Проходим сценарии: заказ, личный кабинет, админка, интеграции. Проверяем, что все функции работают.
  • Деплой на прод — постепенное включение через Content-Security-Policy-Report-Only с последующей заменой на блокирующую политику после недели без нарушений.

Что входит в работу

  • Аудит текущей архитектуры сайта и выявление всех сторонних ресурсов (скрипты, iframe, шрифты).
  • Разработка и настройка CSP-заголовка (режим Report-Only и блокирующий).
  • Документирование политики с пояснением каждой директивы.
  • Настройка endpoint для сбора отчётов (через PHP или nginx).
  • Обучение ваших разработчиков: как модифицировать компоненты для использования nonce.
  • Гарантия стабильной работы: исправляем несовместимости в течение 5 рабочих дней после ввода в эксплуатацию.

Случай из практики

B2C-магазин на Битрикс с встроенным онлайн-чатом и платёжной формой Тинькофф. После включения CSP в лоб перестала открываться форма оплаты — iframe блокировался директивой frame-src 'self'. Дополнительно: Яндекс.Метрика переставала записывать вебвизор (блокировался WebSocket к mc.yandex.ru). Мы проанализировали 14 доменов, 8 iframe'ов, итоговая политика содержала 28 директив. Включение через Report-Only на 4 дня позволило выявить ещё два скрытых виджета. После внедрения строгой политики нагрузка на сервер от блокировок снизилась на 92%.

Сроки выполнения

Разработка и внедрение CSP с предварительным аудитом в Report-Only — от 4 до 8 часов в зависимости от числа сторонних сервисов. Оценка проекта — бесплатно за 1 день. Свяжитесь с нами, чтобы получить детальный план работ.

Опыт в Битрикс — 10+ лет, более 50 проектов по безопасности. Мы гарантируем, что CSP не сломает ваш функционал. Закажите аудит текущей политики уже сегодня — получите консультацию инженера.

Источник: Wikipedia: Content Security Policy

Дополнительные ресурсыПодробнее о CSP в официальной документации: MDN: Content Security Policy