INTEGRITY Документация

Требуйте HTTPS и шифруйте весь трафик (тарифы Free, Pro и Business)

HTTPS в Cloudflare предполагает два отдельных соединения: от посетителя к Cloudflare и от Cloudflare к вашему исходному серверу. Для сквозной безопасности оба соединения должны быть зашифрованы. В этом руководстве рассмотрены пять этапов:

  1. Настройте режим шифрования SSL/TLS.
  2. Перенаправляйте все запросы HTTP на HTTPS.
  3. Усильте защиту настройки HTTPS, задав минимальные версии TLS и используя HSTS.
  4. Отслеживайте сторонние скрипты на своих страницах.
  5. Проверьте конфигурацию.

Базовый сценарий работы доступен на тарифах Free, Pro и Business.

Настройка режима шифрования SSL/TLS

Режим шифрования SSL/TLS определяет, как Cloudflare подключается к серверу источника. Для сквозного шифрования используйте Full (strict) : шифрует оба соединения и проверяет ваш исходный сертификат. Подробное сравнение всех доступных режимов см. в Режимы шифрования.

Проверка текущего режима

  1. На панели управления Cloudflare перейдите к разделу Обзор SSL/TLS страницу.

    Перейдите в Обзор ↗
  2. Проверьте текущий режим шифрования, отображаемый на странице.

    • Если режим уже Full (strict), перейдите к Перенаправление всех запросов HTTP на HTTPS.
    • Если режим не Full (strict), перейдите к следующему разделу, чтобы установить исходный сертификат (если требуется) и изменить режим.

Установка сертификата Cloudflare Origin CA

Если у вашего исходного сервера нет действующего SSL-сертификата, установите бесплатный сертификат Cloudflare Origin CA. Сертификаты Origin CA действительны сроком до 15 лет и являются доверенными для Cloudflare, поэтому после установки такого сертификата вы можете установить режим шифрования Full (strict).

Если у вашего исходного сервера уже есть действующий сертификат от публично доверенного удостоверяющего центра, перейдите к Установите режим шифрования Full (strict).

1. Создание сертификата Origin CA

  1. Перейдите в Origin Server страницу.

    Перейдите в Origin Server ↗
  2. На Origin Certificates вкладке выберите Create Certificate.

  3. Выберите один из вариантов:

    • Создание закрытого ключа и CSR с помощью Cloudflare: Тип приватного ключа может быть RSA или ECC.
    • Использовать мой закрытый ключ и CSR: Вставьте ваш Certificate Signing Request (CSR) в текстовое поле.
  4. Укажите имена хостов, включая wildcard-адреса, которые должен защищать сертификат с помощью SSL-шифрования. По умолчанию в список включены апекс зоны и wildcard-имя первого уровня.

  5. Выберите Действительность сертификата период.

  6. Выберите Создание.

  7. Выберите Формат ключа:

    • Серверы, использующие OpenSSL (например, Apache и NGINX), обычно ожидают файлы PEM (ASCII в кодировке Base64), но также работают с двоичными файлами DER.
    • Серверам на Windows и Apache Tomcat требуется формат PKCS#7 (.p7b файл).
  8. Скопируйте подписанный Origin Certificate и Приватный ключ в отдельные файлы. По соображениям безопасности вы не можете увидеть Приватный ключ после того как вы покинете этот экран.

  9. Выберите OK.

2. Установите сертификат на ваш origin-сервер

  1. Загрузите сертификат Origin CA на исходный веб-сервер.

  2. Обновите конфигурацию веб-сервера, чтобы использовать этот сертификат. Инструкции по установке для конкретного сервера см. Origin CA certificates.

  3. (Требуется для некоторых серверов) Загрузите Корневой сертификат CA Cloudflare к вашему исходному серверу.

  4. Включение SSL и порта 443 на вашем исходном веб-сервере.

Установите режим шифрования Full (strict)

После установки действительного сертификата на исходном сервере задайте режим шифрования Full (strict) выполнив шаги ниже.

Чтобы изменить режим шифрования в панели управления:

  1. На панели управления Cloudflare перейдите к разделу Обзор SSL/TLS страницу.

    Перейдите в Обзор ↗
  2. Выберите режим шифрования.

Чтобы изменить режим шифрования через API, отправьте PATCH запрос с ssl в качестве имени настройки в пути URI, а также value параметр, установленный в нужное вам значение (off, flexible, full, strict, или origin_pull).

Перенаправление всех запросов HTTP на HTTPS

Даже при наличии действующего edge-сертификата посетители всё ещё могут обращаться к ресурсам по незащищённым HTTP-соединениям. Устранить это помогают две настройки, работающие вместе:

  1. Always Use HTTPS перенаправляет HTTP-запросы на HTTPS
  2. Automatic HTTPS Rewrites устраняет ссылки на смешанный контент в HTML вашей страницы

Включите Always Use HTTPS

Always Use HTTPS перенаправляет все HTTP-запросы на HTTPS до того, как они достигнут вашего исходного сервера.

  1. На панели управления Cloudflare перейдите к разделу Обзор SSL/TLS страницу.

    Перейдите в Обзор ↗
  2. Убедитесь, что ваш режим шифрования SSL/TLS не установлен в значение Off. Когда режим шифрования установлен на Off, опция Always Use HTTPS не отображается в dashboard.

  3. Перейдите в Edge Certificates ↗ страницу.

  4. Включите Always Use HTTPS.

  1. Убедитесь, что ваш режим шифрования SSL/TLS не установлен в значение Off.

  2. Отправьте PATCH запрос с always_use_https в качестве имени настройки в пути URI, а также value параметр со значением "on".

Включите Automatic HTTPS Rewrites

Automatic HTTPS Rewrites предотвращает ошибки смешанного контента, переписывая HTTP-адреса ресурсов в HTML вашей страницы на HTTPS. Это полезно для сайтов, где вы не контролируете все адреса ресурсов, например для контента, размещённого в CMS, или встроенных сторонних ресурсов.

  1. На панели управления Cloudflare перейдите к разделу Edge Certificates страницу.

    Перейдите в Edge Certificates ↗
  2. Для Automatic HTTPS Rewrites, переключите тумблер в положение Включено.

Отправьте PATCH запрос с automatic_https_rewrites в качестве имени настройки в пути URI, а также value параметр со значением "on".

Усиление защиты конфигурации HTTPS

После настройки режима шифрования и перенаправления HTTP-трафика усильте конфигурацию: задайте минимальную версию TLS, включите HTTP Strict Transport Security (HSTS) и включите TLS 1.3.

Установите минимальную версию TLS

TLS 1.0 и 1.1 содержат известные уязвимости и больше не считаются безопасными. Если задать минимальную версию TLS 1.2, соединения от клиентов со старыми протоколами будут блокироваться. Рекомендации по выбору версии см. в Протоколы TLS.

  1. На панели управления Cloudflare перейдите к разделу Edge Certificates страницу.

    Перейдите в Edge Certificates ↗
  2. Для Minimum TLS Version, выберите TLS 1.2.

Отправьте PATCH запрос с min_tls_version в качестве имени настройки в пути URI, а также value параметр со значением "1.2".

Включите TLS 1.3

TLS 1.3 обеспечивает более быстрое установление соединения и более высокий уровень безопасности по сравнению с TLS 1.2.

  1. На панели управления Cloudflare перейдите к разделу Edge Certificates страницу.

    Перейдите в Edge Certificates ↗
  2. Для TLS 1.3, переключите тумблер в положение Включено.

Отправьте PATCH запрос с tls_1_3 в качестве имени настройки в пути URI, а также value параметр со значением "on". Чтобы также включить 0-RTT (Zero Round Trip Time Resumption), установите значение "zrt".

Включите HSTS

HTTP Strict Transport Security (HSTS) добавляет заголовок ответа, который указывает браузерам подключаться к вашему сайту только по HTTPS, даже если ссылка или редирект пытаются направить их по HTTP. HSTS защищает от атак с понижением версии протокола.

Прежде чем включить HSTS, убедитесь в выполнении следующих предварительных условий:

  1. На панели управления Cloudflare перейдите к разделу Edge Certificates страницу.

    Перейдите в Edge Certificates ↗
  2. Для Строгая транспортная безопасность HTTP (HSTS), выберите Включение HSTS.

  3. Ознакомьтесь с диалоговым окном и выберите Понятно.

  4. Выберите Далее.

  5. Настройте параметры HSTS:

    • Max Age Header: Выберите длительность (начните с 6 месяцев и увеличьте до 12 месяцев после подтверждения стабильности).
    • Apply HSTS policy to subdomains (includeSubDomains): Включите, если все ваши поддомены поддерживают HTTPS. После включения этой функции поддомены без HTTPS станут недоступны.
    • Preload: Включайте только после того, как Max Age Header установлен на 12 месяцев. Включение в Preload предотвращает атаки понижения версии протокола при первом посещении. Отправьте домен на hstspreload.org ↗ после включения preload.
    • No-Sniff Header: Отправляет X-Content-Type-Options: nosniff заголовок. Включите, чтобы запретить браузерам выполнять MIME-сниффинг.
  6. Выберите Save.

Отправьте PATCH запрос с security_header в качестве имени настройки в пути URI и укажите value объект, включающий ваши настройки HSTS.

Проверьте свои наборы шифров

Наборы шифров Cloudflare по умolчанию обеспечивают надёжное шифрование для большинства сайтов. Менять их нужно только в том случае, если это прямо предписано аудитом безопасности или требованиями по соответствию.

Подробнее о наборах шифров по умолчанию и их настройке см. в Наборы шифров. Настройки шифров для конкретных требований compliance см. в Настройка наборов шифров через API.

Отслеживайте сторонние скрипты с помощью клиентской защиты

HTTPS шифрует данные при передаче, но сторонние скрипты, загружаемые вашими страницами, всё равно могут похищать данные из браузера. Защита на стороне клиента отслеживает эти скрипты и уведомляет вас о неожиданных добавлениях.

Включите мониторинг скриптов

  1. В панели управления Cloudflare перейдите в раздел Security Настройки страницу.

    Перейдите в Настройки ↗
  2. (Необязательно) Отфильтруйте по Злоупотребление на стороне клиента.

  3. Включите Непрерывный мониторинг скриптов.

Просмотрите обнаруженные ресурсы

После включения мониторинга Cloudflare может потребоваться некоторое время, чтобы сформировать список обнаруженных скриптов на вашем домене.

  1. На панели управления Cloudflare перейдите к разделу Web assets страницу.

    Перейдите в Web assets ↗
  2. Выберите Ресурсы на стороне клиента на вкладке.

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

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

Проверка конфигурации

После завершения предыдущих этапов убедитесь, что конфигурация HTTPS работает как ожидается.

Используйте Automatic SSL/TLS

Функция Cloudflare Automatic SSL/TLS анализирует ваш исходный сервер и выбирает наиболее безопасный режим шифрования из поддерживаемых. Если в вашей зоне используется Automatic SSL/TLS (значение по умолчанию для новых зон), Cloudflare автоматически подбирает режим и не переключится на менее безопасный, даже если сертификат на исходном сервере истечёт.

Чтобы проверить, использует ли ваша зона Automatic SSL/TLS:

  1. На панели управления Cloudflare перейдите к разделу Обзор SSL/TLS страницу.

    Перейдите в Обзор ↗
  2. Проверьте, Automatic SSL/TLS или Собственный SSL/TLS выбрано. Если выбран Custom и вы хотите, чтобы Cloudflare управлял режимом автоматически, выберите Automatic SSL/TLS.

Проверка с помощью внешних инструментов

Используйте SSL Labs Server Test ↗ для проверки конфигурации HTTPS за пределами сети Cloudflare. Введите домен и изучите отчёт. Оценка A или A+ означает, что конфигурация TLS, цепочка сертификатов и поддержка протоколов соответствуют текущим стандартам безопасности.

Чтобы проверить поддерживаемые версии TLS, отправьте запрос на свой веб-сайт или в приложение, указав версию TLS.

Например, чтобы проверить TLS 1.1, используйте curl команду ниже. Замените www.example.com с вашим доменом и именем хоста Cloudflare.

curl https://www.example.com -svo /dev/null --tls-max 1.1

Если тестируемая версия TLS блокируется Cloudflare, рукопожатие TLS не завершается и возвращается ошибка:

* error:1400442E:SSL routines:CONNECT_CR_SRVR_HELLO:tlsv1 alert

SSL/TLS

Client-side security