Смягчение DDoS-атаки сайта с помощью CloudFlare

CloudFlare – это компания, предоставляющая сервисы CDN (Content Delivery Network, или сеть доставки контента) и распределённые DNS для обратных прокси-серверов веб-сайтов. CloudFlare предоставляет разнообразные сервисы (как бесплатные, так и платные) для повышения безопасности, скорости и доступности сайта. В этом руководстве показано, как использовать свободный клиентский сервис CloudFlare для защиты веб-сервера от HTTP DDoS-атак путём включения режима I’m Under Attack Mode. Этот режим безопасности может смягчить DDoS-атаку, внедряя промежуточную страницу, которая требует подтвердить соединение, прежде чем передать его на веб-сервер.

Требования

Для выполнения инструкций нужно иметь:

  • Веб-сервер.
  • Зарегистрированное доменное имя, направленное на веб-сервер.
  • Доступ к панели управления регистратора домена.

Кроме того нужно зарегистрироваться на CloudFlare. Имейте в виду: в руководстве используются серверы имён (nameservers) CloudFlare.

Настройка домена для использования CloudFlare

Прежде чем начать пользоваться функциями CloudFlare, нужно настроить домен для использования DNS CloudFlare.

Добавьте сайт и просканируйте DNS-записи.

После авторизации на экране появится страница Get Started with CloudFlare. Здесь можно добавить свой сайт на CloudFlare:

Add Websites
Create and manage your websites on CloudFlare.
[…]

Введите доменное имя сайта и нажмите кнопку Begin Scan, после чего на экране появится страница с сообщением «We’re scanning your DNS records». На сканирование уйдёт около минуты. После завершения сканирования нажмите Continue.

Следующая страница покажет результаты сканирования DNS-записей. Убедитесь, что в списке присутствуют все существующие DNS-записи, так как именно их CloudFlare будет использовать для разрешения запросов к домену. В данном примере в качестве домена используется cockroach.nyc.

Обратите внимание: столбец Status для записей A и CNAME, направленных на веб-сервер, должен содержать облако оранжевого цвета с проходящей сквозь него стрелкой. Это значит, что трафик будет проходить через обратный прокси-сервер CloudFlare прежде чем достичь целевого сервера.

Затем выберите план CloudFlare. В этом руководстве используется Free plan.

Изменение сервера имён

Следующая страница покажет таблицу текущих серверов имён домена и серверов, которыми их нужно заменить. Два их них должны быть заменены серверами CloudFlare, а остальные записи следует удалить.

Чтобы изменить серверы имён, откройте панель управления доменом и внесите изменения в DNS, предложенные CloudFlare. В целом, этот процесс варьируется в зависимости от регистратора домена.

Внеся все необходимые изменения на веб-сервер, нажмите Continue. На замену серверов имён может уйти до 24 часов, но, как правило, это занимает несколько минут. Подождите, пока серверы имён обновятся. В это время на экране будет показана страница Overview, сообщающая о статусе Pending. Этот статус значит, что CloudFlare ждёт, когда серверы имён обновятся. Когда обновление серверов будет окончено, на странице будет показан статус Active. Если же вы нажали Recheck Nameservers или открыли панель инструментов CloudFlare, система проверит, обновились ли серверы имён.

После обновления серверов имён домен будет использовать DNS от CloudFlare, а страница Overview сообщит о статусе Active.

Это значит, что теперь CloudFlare работает как обратный прокси-сервер сайта, и у вас есть доступ ко всем функциям выбранного плана. К примеру, план free открывает доступ к функциям для повышения безопасности, скорости и доступности сайта (среди которых CDN, SSL, кэширование статического контента, брандмауэр и инструменты аналитики трафика). К сожалению, данное руководство не охватывает всех возможностей этого плана, так как оно сосредоточено на смягчении DDoS-атак.

Обратите внимание на Settings Summary; сразу под доменным именем будет показан текущий уровень безопасности сайта (по умолчанию – medium) и некоторые другие полезные данные.

Прежде чем продолжить, ознакомьтесь с руководством «Recommended First Steps for all CloudFlare users». Это очень важно, поскольку оно позволяет настроить CloudFlare для разрешения соединений с проверенными сервисами; кроме того, после этого логи веб-сервера будут хранить IP-адрес посетителя (а не IP обратных прокси-серверов CloudFlare).

Тестирование режима I’m Under Attack

По умолчанию CloudFlare устанавливает уровень безопасности Medium. Это дает некоторую защиту от посетителей, которые оцениваются как умеренная угроза, представляя им промежуточную страницу для подтверждения соединения, прежде чем разрешить им перейти на сайт. Конечно, если сайт стал целью DDoS-атаки, этого будет недостаточно, чтобы сохранить его в рабочем состоянии. В таком случае лучше установить режим I’m Under Attack.

Этот режим требует подтверждения соединения абсолютно ото всех пользователей. Каждый пользователь увидит промежуточную страницу, которая выполняет несколько проверок и задерживает посетителя в течение примерно 5 секунд, прежде чем передать его на сервер. Она выглядит примерно так:

Checking your browser before accessing cockroach.nyc.
This process is automatic. Your browser will redirect to your requested content shortly. Please wait up to 5 seconds…

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

Примечание: Чтобы пройти защитную страницу, у посетителей сайта должны быть включены JavaScript и Cookies. В противном случае они расцениваются как вредоносные. Если такой вариант вам не подходит, подумайте об использовании режима безопасности High.

Помните: режим I’m Under Attack Mode стоит включать только в том случае, если сайт стал жертвой DDoS-атаки. В противном случае его нужно отключить, иначе он не будет пропускать на сайт обычных посетителей.

Включение режима I’m Under Attack

Для этого проще всего открыть стандартную страницу Overview на CloudFlare и выбрать режим I’m Under Attack в меню Quick Actions.

Настройки безопасности сразу же перейдут в этот статус. После этого все пользователи будут видеть защитную страницу.

Отключение режима I’m Under Attack

После окончания атаки рекомендуется сразу отключить режим I’m Under Attack. Для этого вернитесь на страницу Overview и нажмите Disable.

Затем выберите уровень безопасности, который нужно установить сейчас. Рекомендуется установить стандартный уровень Medium. Сайт вернётся в статус Active, а защитная страница будет отключена.

Заключение

CloudFlare – надёжный инструмент для защиты сайта от HTTP DDoS-атак. Кроме того, CloudFlare предоставляет множество полезных функций (например, бесплатные сертификаты SSL).

Tags: , ,

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