Top.Mail.Ru

Cloudflare: подключение домена и защита от DDoS — гайд 2026

3
Cloudflare: подключение домена и защита от DDoS — гайд 2026

Cloudflare защищает сайт от DDoS бесплатно — нужно только сменить nameservers домена на серверы Cloudflare. После этого весь входящий трафик проходит через инфраструктуру Cloudflare: атаки фильтруются до того как достигнут ваш сервер, статические файлы кешируются в CDN, реальный IP сервера скрыт. Подключение занимает 15 минут, распространение DNS — до 48 часов.

Подключение Cloudflare: как это работает

Cloudflare действует как обратный прокси между интернетом и вашим сервером. Посетители подключаются к ближайшей точке присутствия Cloudflare (более 300 дата-центров по всему миру), а Cloudflare уже передаёт запрос на ваш сервер. Атаки поглощаются сетью Cloudflare — на сервер не доходит ничего.

Одновременно Cloudflare кеширует статические файлы (изображения, CSS, JS) и раздаёт их с ближайшего к пользователю узла — это ускоряет загрузку сайта даже без активных атак.

Что входит в бесплатный план

Функция Бесплатно Pro ($20/мес)
DDoS защита L3/L4 Неограниченно ✓ Неограниченно ✓
DDoS защита L7 Базовая ✓ Расширенная ✓
CDN
SSL/TLS
WAF Базовый ✓ Полный набор правил ✓
Rate Limiting Ограниченный ✓ Детальный ✓
Bot Management — (Enterprise)
Analytics 24 часа 72 часа

Для большинства сайтов бесплатного плана достаточно — он включает неограниченную DDoS защиту на сетевом уровне и базовую на уровне приложений.

Подключение домена к Cloudflare

Шаг 1: Добавить сайт

Зарегистрируйтесь на cloudflare.com и нажмите Add a Site. Введите доменное имя без www. Выберите бесплатный план.

Шаг 2: Проверить DNS-записи

Cloudflare автоматически сканирует существующие DNS-записи домена и импортирует их. Проверьте что все нужные записи на месте:

  • A-запись для корневого домена и www — должна указывать на IP вашего сервера
  • MX-записи для email — они должны остаться без проксирования (серое облако, об этом ниже)
  • TXT-записи для верификации домена и SPF — перенести как есть

Шаг 3: Сменить nameservers

Cloudflare выдаст два nameserver адреса — они уникальны для каждого аккаунта, например:

aria.ns.cloudflare.com
bob.ns.cloudflare.com

Зайдите в панель вашего регистратора домена (где покупали домен) и замените текущие NS-записи на выданные Cloudflare. После сохранения изменений DNS начнёт распространяться — обычно от нескольких минут до 48 часов. Cloudflare отправит email когда всё активируется.

Оранжевое облако и серое: в чём разница

Каждая DNS-запись в Cloudflare имеет иконку облака рядом с собой. Это один из самых важных параметров.

Оранжевое облако (проксирование включено) — трафик идёт через Cloudflare. Работает DDoS-защита, CDN, WAF. Реальный IP вашего сервера скрыт от посетителей. Именно этот режим нужен для A-записей сайта.

Серое облако (DNS Only) — Cloudflare работает только как DNS-резолвер. Никакой защиты, никакого CDN, реальный IP сервера виден всем.

Важное правило: MX-записи (почта) всегда должны оставаться серыми. Если включить проксирование для MX-записей — электронная почта перестанет работать, потому что почтовые серверы не умеют работать через HTTP-прокси Cloudflare.

Критичная ошибка с SSL: не выбирайте Flexible

В настройках SSL/TLS есть четыре режима, и здесь допускают самую частую ошибку.

Режим Цепочка Безопасность
Off HTTP везде Нет
Flexible HTTPS → CF → HTTP на сервер ⚠️ Опасно
Full HTTPS → CF → HTTPS на сервер Средняя
Full (Strict) HTTPS → CF → HTTPS + валидный сертификат ✓ Правильно

Flexible SSL выглядит безопасным но не является таковым. В этом режиме пользователь видит HTTPS в браузере, но трафик между Cloudflare и вашим сервером идёт по незашифрованному HTTP. Злоумышленник с доступом к сети между Cloudflare и вашим сервером (например, на уровне дата-центра или хостинг-провайдера) может читать весь трафик.

Правильный выбор — Full (Strict). Он требует валидный SSL-сертификат на сервере — установите бесплатный Let’s Encrypt как описано в нашей статье о Let’s Encrypt. После этого переключите режим на Full (Strict) в разделе SSL/TLS панели Cloudflare.

Также включите Always Use HTTPS в том же разделе — это автоматически перенаправляет HTTP-запросы на HTTPS.

DDoS защита: настройки уровня безопасности

В разделе Security → Security Level можно выбрать агрессивность проверок:

  • Essentially Off — минимальная фильтрация
  • Low — блокирует только явно вредоносные запросы
  • Medium — рекомендованный уровень для большинства сайтов
  • High — более строгие проверки, возможны ложные срабатывания
  • I’m Under Attack! — режим активной атаки, специальный режим описан ниже

Для обычного сайта без активной атаки подходит Medium. Если сайт работает с API-клиентами или автоматизированными системами — лучше Low, так как High может блокировать легитимные запросы.

Under Attack Mode: как использовать правильно

I’m Under Attack включает JavaScript Challenge для каждого посетителя: браузер должен выполнить JavaScript-задачу (~5 секунд) прежде чем получить страницу. Боты без полноценного JS-движка не проходят.

Включать только во время реальной атаки. В обычном режиме он создаёт несколько проблем:

  • Задержку 5 секунд для каждого нового посетителя
  • Блокировку API-клиентов которые не выполняют JS
  • Проблемы с краулерами поисковых систем (хотя Googlebot обычно проходит)

Включить: Security → Security Level → I’m Under Attack!

После того как атака закончилась — обязательно вернуть уровень обратно на Medium.

Firewall Rules: блокировка и вызовы

В разделе Security → WAF → Custom Rules можно создавать собственные правила. Примеры полезных правил на бесплатном плане:

Блокировать трафик из конкретных стран (если сайт не предназначен для них):

  • Field: Country
  • Operator: is in
  • Value: выбрать нужные страны
  • Action: Block

Блокировать подозрительные User-Agent заголовки:

  • Field: User Agent
  • Operator: contains
  • Value: sqlmap (или другой инструмент атаки)
  • Action: Block

Показывать CAPTCHA для входа в админку:

  • Field: URI Path
  • Operator: equals
  • Value: /wp-admin или /admin
  • Action: Managed Challenge

Проблема с реальным IP в логах сервера

После подключения Cloudflare сервер начинает видеть IP-адреса Cloudflare вместо реальных IP посетителей. Логи Nginx заполнятся адресами вроде 103.21.244.x — это IP Cloudflare, а не ваших пользователей.

Реальный IP клиента Cloudflare передаёт в заголовке CF-Connecting-IP. Чтобы Nginx видел реальные IP, добавьте в конфигурацию:

real_ip_header CF-Connecting-IP;

А также укажите диапазоны IP Cloudflare как доверенные источники (актуальный список всегда на cloudflare.com/ips):

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
real_ip_header CF-Connecting-IP;

После добавления перезагрузите Nginx: sudo systemctl reload nginx.

Что Cloudflare не скрывает: утечки IP

Распространённое заблуждение — что Cloudflare полностью скрывает реальный IP сервера. На практике IP может утечь через несколько каналов:

Старые DNS-записи — если до Cloudflare ваш IP был общедоступным, поисковики и сервисы вроде Shodan уже его проиндексировали. Смена NS не удаляет историю.

Незащищённые поддомены — если mail.example.com или ftp.example.com настроены с серым облаком (DNS Only) и указывают на тот же IP — он виден.

Certificate Transparency — все SSL-сертификаты публично логируются. Если сертификат был выпущен для вашего домена до Cloudflare, IP из этого сертификата может быть в базах.

Почтовые заголовки — если письма отправляются напрямую с сервера, заголовки Received: содержат реальный IP.

Если скрытие реального IP критично — после подключения Cloudflare настройте файрвол сервера чтобы принимать подключения на 80/443 только с IP-адресов Cloudflare.

Кеширование в Cloudflare и сброс кеша

Cloudflare автоматически кеширует статические файлы (изображения, CSS, JS) и раздаёт их с CDN. После обновления сайта кеш нужно сбросить вручную.

Сброс всего кеша: Caching → Configuration → Purge Everything

Сброс конкретного URL: Caching → Configuration → Custom Purge → вставить URL файла.

Если после деплоя сайт показывает старую версию — первым делом сбросьте кеш Cloudflare.

Часто задаваемые вопросы

Защищает ли бесплатный Cloudflare от DDoS?

Да, бесплатный план включает неограниченную DDoS защиту на сетевом (L3/L4) уровне и базовую на уровне приложений (L7). Cloudflare поглощает атаки объёмом сотни гигабит в секунду — такого трафика хватит чтобы положить любой дата-центр, но не инфраструктуру Cloudflare.

Почему не стоит выбирать SSL режим Flexible в Cloudflare?

Flexible SSL создаёт иллюзию безопасности: пользователь видит HTTPS, но трафик между Cloudflare и вашим сервером идёт по незашифрованному HTTP. Это уязвимость для атак типа man-in-the-middle на участке CF→сервер. Используйте Full (Strict) — он требует валидный SSL на сервере (например, Let’s Encrypt) и шифрует всю цепочку.

Как долго ждать после смены nameservers?

Официально — до 48 часов. На практике большинство провайдеров обновляют NS за 15-60 минут. Cloudflare отправит email на вашу почту когда домен активируется. Проверить можно командой dig NS example.com — когда появятся NS-серверы Cloudflare, переключение завершено.

Почему в логах Nginx только IP Cloudflare а не реальные IP?

Когда Cloudflare проксирует трафик, сервер видит подключение с IP Cloudflare. Реальный IP клиента Cloudflare передаёт в заголовке CF-Connecting-IP. Добавьте в конфигурацию Nginx директивы set_real_ip_from с диапазонами IP Cloudflare и real_ip_header CF-Connecting-IP — после этого логи будут показывать реальные адреса.

Влияет ли Cloudflare на SEO и скорость сайта?

Положительно. CDN ускоряет загрузку статики для пользователей по всему миру, что улучшает Core Web Vitals. Cloudflare также предоставляет автоматическую минификацию HTML/CSS/JS и HTTP/2 без дополнительной настройки. Ни один поисковик не штрафует за использование Cloudflare.

Cloudflare закрывает большинство атак до того как трафик дойдёт до сервера. Но для максимальной защиты нужен надёжный VPS с быстрым каналом как основа — на UFO.Hosting каждый сервер подключён к сети 10 Гбит/с, что обеспечивает стабильную работу даже при пиковых нагрузках.

Официальная документация: developers.cloudflare.com

Похожее

Все статьи
backup mysql mysqldump

MySQL: резервное копирование через mysqldump

mysqldump — стандартная утилита для резервного копирования баз данных MySQL и MariaDB. Команда выгружает базу в текстовый SQL-файл с инструкциями для воссоздания структуры и данных. Восстановление — это просто выполнение этого файла на чистой базе. Дальше разберём не только базовые…

free ssl

Let’s Encrypt: бесплатный SSL-сертификат на Ubuntu за 5 минут

Let’s Encrypt выдаёт бесплатные SSL-сертификаты и продлевает их автоматически. Установка через Certbot занимает несколько минут: утилита сама получает сертификат и настраивает веб-сервер. Единственное условие — домен должен указывать на IP вашего сервера до начала установки. Что такое Let’s Encrypt Let’s…