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
Похожее
Все статьи
MySQL: резервное копирование через mysqldump
mysqldump — стандартная утилита для резервного копирования баз данных MySQL и MariaDB. Команда выгружает базу в текстовый SQL-файл с инструкциями для воссоздания структуры и данных. Восстановление — это просто выполнение этого файла на чистой базе. Дальше разберём не только базовые…
Let’s Encrypt: бесплатный SSL-сертификат на Ubuntu за 5 минут
Let’s Encrypt выдаёт бесплатные SSL-сертификаты и продлевает их автоматически. Установка через Certbot занимает несколько минут: утилита сама получает сертификат и настраивает веб-сервер. Единственное условие — домен должен указывать на IP вашего сервера до начала установки. Что такое Let’s Encrypt Let’s…