В этой статье будет рассмотрена настройка сервиса CloudFlare для сайта. Плюсы CloudFlare:
- удобная настройка: при подключении CloudFlare берет текущие DNS-записи у домена и полностью копирует их к себе;
- защита сайта и кеширование;
- собственная система статистики и мониторинга посещений;
- множество дополнительных приложений;
- бесплатный SSL.
У CloudFlare множество полезных инструментов, с подробным списком можно ознакомиться на официальном сайте компании.
Создание аккаунта Cloudflare
Основная цель статьи - осветить базовую настройку подключения сервиса CloudFlare для Вашего сайта, тем самым обезопасив Ваш ресурс от всевозможных атак злоумышленников. Имеются как платные, так и бесплатные тарифы (подробнее можно узнать здесь). В статье будет рассмотрена настройка бесплатного тарифа. Для начала необходимо зарегистрироваться на сайте, нажав кнопку "Sign Up":

Здесь нужно заполнить регистрационные данные и нажать кнопку "Create Account":

Затем нужно ввести домен, который хотим обезопасить. В примере рассматривается домен cuteandfunnyanimals.ru. После его добавления нужно нажать кнопку "Add site":

Теперь нужно выбрать тарифный план и нажать на кнопку "Confirm plan":

На следующей странице видно, что CloudFlare успешно опознал домен и скопировал все DNS-записи. Значок оранжевого облака говорит о том, что весь трафик теперь идет через Cloudflare, однако настройка еще не закончена:

Для продолжения нужно нажать "Continue":

Сейчас CloudFlare просит сменить DNS-сервера (далее по тексту - NS-записи) нашего домена, представленные в пункте 1, на его NS-записи, указанные в пункте 2.

В рассматриваемом примере это:
hera.ns.cloudflare.com
piotr.ns.cloudflare.com
Настройки DNS
Теперь нужно в панели управления регистратора домена сменить NS-записи домена. Если домен регистрировался через Beget, то сменить их можно в разделе DNS панели управления:

После подтверждения изменений раздел DNS будет выглядеть следующим образом:

Подробнее о работе с этим разделом Вы можете прочитать в нашей статье.
После изменения записей возвращаемся на Cloudflare и подтверждаем внесенные изменения, нажав на кнопку "Done, check nameservers".

SSL и шифрование
Как было отмечено в начале статьи, CloudFlare единоразово предоставляет бесплатный автоматически продлевающийся SSL-сертификат, позволяющий Вашему сайту функционировать по протоколу HTTPS. Следующий шаг помогает настроить подходящий метод шифрования для корректного функционирования протокола HTTPS и будет рассмотрен немного позже.
Пользователи, которым на текущий момент не требуется работа сайта по защищенному протоколу, могут пропустить данный шаг, нажав кнопку "Set up later" и перейдя к следующему шагу. Вернуться к пропущенному шагу и настроить SSL-сертификат на CloudFlare Вы всегда можете, перейдя в раздел "SSL/TLS" в панели управления Cloudflare.
Помимо настройки самого метода шифрования, используемого на сайте, имеется возможность настроить другие параметры, например, сжатие с помощью алгоритма Brotli. Подробнее о представленных на Cloudflare инструментах Вы можете прочитать на самом сервисе, нажав на "Help":

Перед настройкой шифрования рекомендуется ознакомиться с нашей статьей, в которой описаны основные моменты подключения SSL к сайту, а также решение возможных проблем.
Нас интересуют два метода шифрования - Flexible и Full:
При методе Flexible шифрование данных происходит только между сервером CloudFlare и браузером пользователя, обеспечивая, таким образом, только частичное шифрование данных от конечного сервера до браузера:

Методы Full и Full (Strict) отличаются только требованиями к проверяемому SSL-сертификату. Само же шифрование обеспечивается между браузером, сервером CloudFlare и конечным сервером, на котором находятся файлы Вашего сайта:

Подробнее обо всех методах шифрования Вы можете прочитать в официальной документации сервиса.
- Для подключения метода Flexible достаточно выбрать этот режим и ознакомиться с действиями, описанными в статье по подключению SSL, в разделе "Возможные проблемы при подключении SSL".
- Для подключения метода Full необходимо создать запрос в произвольной форме (тикет) через раздел "Поддержка", чтобы:
- Произвести установку самоподписанного SSL-сертификата, необходимого для режима Full;
- Узнать SSL IP-адрес сервера, чтобы заменить его в разделе "DNS" CloudFlare.

В ответном сообщении сотрудники технической поддержки уведомят Вас, что сертификат установлен, а также сообщат необходимый нам SSL IP.
Возвращаемся к CloudFlare. Продолжаем, нажав на кнопку "Done".
После полного делегирования домена на NAME-сервера CloudFlare, на которое понадобится около 24-72 часов (в зависимости от интернет-провайдера), все запросы будут полностью проксироваться через CloudFlare. Когда процесс делегирования домена успешно завершится, в личном кабинете CloudFlare должно отображаться, что сайт полностью активирован на CloudFlare:

До этого Вы будете наблюдать аналогичную страницу, в которой продублированы инструкции по смене NS-записей домена на NS-записи CloudFlare (т.е. инструкции о делегировании домена на NAME-сервера CloudFlare), а также есть возможность произвести проверку NS-записей домена повторно. В этом нет необходимости, так как процесс автоматизирован.

Направимся в раздел "DNS", чтобы изменить IP-адрес в A-записи домена на SSL IP, полученный ранее. Изменения необходимо вносить в поле "Content":

Дополнительно подтверждать изменения не требуется - они сохраняются автоматически.
В разделе "SSL/TLS" на вкладке "Overview" Вы можете настроить метод шифрования, если ранее Вы пропустили этот шаг, просмотреть статистику переданного трафика за последние 24 часа с градацией по существующим версиям криптографических протоколов (TLS v.1.0, TLS v.1.1 и т.д.). На вкладке "Edge Certificates" Вы можете просмотреть установленные сертификаты и настроить автоматическую переадресацию всех запросов с протокола HTTP на HTTPS:

Изменив переключатель с "Off" на "On" в поле "Always Use HTTPS".
Также в этом разделе возможно настроить автоматическую перезапись ссылок с протокола HTTP на HTTPS, решив проблему со смешанным содержимым, аналогично изменив положение тумблера с "Off" на "On" в "Automatic HTTPS Rewrites":

Режим "Under Attack"
Также на странице "Overview" в разделе "Quick Actions" Вы можете включить режим "Under Attack", а также настроить уровень проверки в случае, когда на Ваш сайт осуществляется большое количество запросов в связи с DDoS-атакой:

Посетителям будет показываться пятисекундная заглушка Cloudflare. В это время происходит проверка с помощью JavaScript - вредоносный посетитель/бот или нет:

Данный режим стоит отключить после окончания атаки. Отслеживать статистику запросов Вы можете в разделе "Analytics" Cloudflare.
Режим разработки
Также в разделе "Quick Actions" Вы можете включить т.н. "Режим разработки" - "Development Mode", при котором происходит временное отключение кэша Cloudflare. Это необходимо, например, для отслеживания изменений в реальном времени на сайте во время проведения на нем каких-либо работ. Режим разработки длится 3 часа, о чем сообщается на странице "Overview":

Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Бегета – ждем вас в нашем сообществе в Telegram.