Зачем нужен сертификат Origin Server от Cloudflare и как его настроить

Написано

в

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

Многие владельцы сайтов ограничиваются обычным сертификатом Let’s Encrypt на сервере и считают настройку завершённой. Однако если весь трафик проходит исключительно через Cloudflare, существует более удобное решение — Origin Server Certificate. Это специальный сертификат, предназначенный только для соединения между Cloudflare и origin-сервером.

В этой статье рассмотрим, зачем нужен Origin Certificate, чем он отличается от обычного SSL-сертификата и как создать бесплатный сертификат в панели Cloudflare.

Как работает HTTPS при использовании Cloudflare

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

Получается следующая схема:

Посетитель
      │
      │ HTTPS
      ▼
 Cloudflare
      │
      │ HTTPS
      ▼
 Origin Server

Для браузера используется сертификат, выпущенный доверенным центром сертификации. Обычно этим занимается сам Cloudflare, автоматически выпуская Universal SSL.

Для второго соединения — между Cloudflare и сервером — можно использовать:

  • сертификат Let’s Encrypt;
  • коммерческий сертификат;
  • Origin Certificate, выпущенный Cloudflare.

Последний вариант является наиболее удобным, если сервер не должен обслуживать HTTPS-запросы напрямую из Интернета.

Что такое Origin Server Certificate

Origin Server Certificate — это SSL/TLS-сертификат, который выпускается самим Cloudflare исключительно для защиты соединения между сетью Cloudflare и вашим сервером.

Его ключевая особенность заключается в том, что он доверяется только инфраструктурой Cloudflare. Если кто-то попытается открыть IP-адрес сервера напрямую, браузер сообщит о недоверенном сертификате.

Именно поэтому Origin Certificate нельзя использовать вместо обычного SSL-сертификата для сайтов, доступных без Cloudflare.

Преимущества Origin Certificate

Использование Origin Certificate дает несколько преимуществ:

Во-первых, отсутствует необходимость регулярно продлевать сертификат. При создании можно выбрать срок действия до 15 лет.

Во-вторых, не требуется устанавливать ACME-клиент, такой как Certbot, и настраивать автоматическое обновление сертификатов.

В-третьих, сертификат идеально подходит для режима Full (strict), который обеспечивает полную проверку TLS между Cloudflare и origin-сервером.

Кроме того, сертификат можно выпустить сразу для нескольких имён хостов, например:

https://hush-zurich.ch/
https://www.hush-zurich.ch/

Ограничения Origin Certificate

Несмотря на удобство, Origin Certificate подходит не для всех сценариев.

Не стоит использовать его, если:

  • сервер должен быть доступен напрямую по HTTPS;
  • балансировщик подключается к серверу без Cloudflare;
  • требуется доверенный публичный сертификат.

Во всех этих случаях лучше использовать Let’s Encrypt или сертификат другого публичного удостоверяющего центра.

Настройка режима Full (strict)

Перед созданием сертификата рекомендуется убедиться, что в Cloudflare выбран режим Full (strict).

На странице SSL/TLS → Overview отображается текущий режим шифрования.


Этот режим означает, что Cloudflare:

  • подключается к серверу только по HTTPS;
  • проверяет наличие сертификата;
  • проверяет срок его действия;
  • проверяет соответствие имени хоста;
  • отклоняет соединение при ошибках проверки.

Это наиболее безопасный вариант работы Cloudflare.

Переход в раздел Origin Server

Для создания собственного сертификата необходимо открыть раздел:

SSL/TLS
    └── Origin Server

Именно здесь осуществляется выпуск сертификатов для origin-серверов.

 

Если сертификаты еще не выпускались, список будет пустым.

Для создания нового сертификата необходимо нажать кнопку:

Create Certificate

После этого откроется мастер создания сертификата.

Какие параметры рекомендуется выбрать

В большинстве случаев менять параметры не требуется.

Cloudflare автоматически предлагает оптимальные значения.

Рекомендуется оставить:

  • Generate private key and CSR with Cloudflare;
  • тип ключа ECC (если отсутствуют требования к RSA);
  • срок действия 15 years;
  • список имён:
    • example.com;
    • *.example.com.

Такой сертификат подойдет практически для любого современного веб-сервера.

После нажатия Create Certificate Cloudflare один раз покажет:

  • сертификат;
  • приватный ключ.

Очень важно сохранить приватный ключ. После закрытия окна Cloudflare больше не позволит его просмотреть.

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

После создания сертификата необходимо сохранить два файла.

Например:

/etc/ssl/cloudflare/origin.crt
/etc/ssl/cloudflare/origin.key

После этого остаётся указать пути к ним в конфигурации веб-сервера.

Для Apache используются директивы:

SSLCertificateFile /etc/ssl/cloudflare/origin.crt
SSLCertificateKeyFile /etc/ssl/cloudflare/origin.key

Для Nginx:

ssl_certificate     /etc/ssl/cloudflare/origin.crt;
ssl_certificate_key /etc/ssl/cloudflare/origin.key;

После перезапуска веб-сервера Cloudflare сможет установить защищенное соединение с origin-сервером.

Edge Certificates и Origin Certificates — в чём разница

Многие пользователи путают эти два типа сертификатов.

Edge Certificate устанавливается на стороне Cloudflare и используется браузерами посетителей.

Origin Certificate устанавливается только на вашем сервере и используется исключительно для соединения между Cloudflare и origin-сервером.

Это хорошо видно в панели управления.

 

Таким образом одновременно работают два независимых сертификата:

  • Edge Certificate защищает соединение браузер → Cloudflare.
  • Origin Certificate защищает соединение Cloudflare → origin-сервер.

Благодаря такому разделению Cloudflare может независимо управлять сертификатами на своей стороне, не затрагивая настройки вашего сервера.

Что будет дальше

После установки Origin Certificate рекомендуется выполнить еще один шаг, который значительно повышает безопасность сервера. По умолчанию любой клиент может попытаться подключиться к вашему origin-серверу напрямую, если знает его IP-адрес. Чтобы исключить такую возможность, Cloudflare поддерживает механизм Authenticated Origin Pulls.

Он позволяет веб-серверу проверять клиентский сертификат Cloudflare. В результате HTTPS-соединения будут приниматься только от прокси-серверов Cloudflare, а любые прямые подключения к origin-серверу будут отклоняться еще на этапе TLS-рукопожатия.

В следующей части статьи будет рассмотрена настройка Authenticated Origin Pulls, а также конфигурация Apache с использованием директивы SSLVerifyClient и Nginx с использованием ssl_verify_client, позволяющая реализовать эту дополнительную защиту.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *