Защита сайта от DDoS-атак

В этой статье будет рассмотрена настройка сервиса 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":

Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел "Помощь и поддержка".

Теги:

73
34132