Перейти к основному содержимому
Вернуться в категорию

Интеграция Cloudflare: защита от DDoS и CDN

Полное руководство по настройке Cloudflare, конфигурации DNS, правилам WAF, Page Rules, режиму Under Attack и скрытию IP-адреса сервера для защиты от DDoS-атак.

Время чтения: 15 мин Защита от DDoS и безопасность
cloudflareddoscdnwafdnsбезопасностьpage-rules
Автор
REXE Teknoloji Network & Security Team
Редактор
REXE Teknoloji Technical Editorial
Первая публикация
Последнее обновление

Интеграция Cloudflare: защита от DDoS и CDN

Cloudflare — это мощная платформа, которая защищает ваш сайт от DDoS-атак, предоставляет сеть доставки контента (CDN) и повышает производительность. В этом руководстве рассматривается интеграция Cloudflare с вашим сервером, настройка DNS, создание правил WAF и расширенные функции защиты.

На серверах REXE интеграция Cloudflare может использоваться совместно с защитой Path Panel DDoS для обеспечения многоуровневой безопасности.

Создание учётной записи и добавление сайта

Для начала работы с Cloudflare необходимо создать учётную запись и добавить сайт.

Создание учётной записи

  1. Перейдите на cloudflare.com
  2. Нажмите кнопку "Sign Up"
  3. Зарегистрируйтесь с помощью email и пароля
  4. Подтвердите email

Добавление сайта

  1. Нажмите "Add a Site" на панели управления
  2. Введите имя домена (например, example.com)
  3. Выберите план (бесплатный план включает защиту от DDoS)
  4. Cloudflare автоматически сканирует существующие DNS-записи

Настройка DNS

Для работы Cloudflare необходимо направить серверы имён вашего домена на Cloudflare.

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

Cloudflare предоставляет два адреса серверов имён:

ns1.cloudflare.com
ns2.cloudflare.com

Обновите эти адреса в панели вашего регистратора доменов.

Управление DNS-записями

Управляйте записями в панели DNS Cloudflare:

Тип    Имя            Содержимое          Прокси
A      example.com    185.x.x.x          Proxied (оранжевое облако)
A      www            185.x.x.x          Proxied
A      api            185.x.x.x          Proxied
MX     example.com    mail.example.com    DNS only (серое облако)
TXT    example.com    v=spf1 ...         DNS only

Оставьте записи электронной почты (MX, SPF, DKIM) в режиме "DNS only" (серое облако). Почтовые сервисы не работают в режиме прокси.

Статус прокси (Оранжевое/Серое облако)

СтатусОписание
Proxied (Оранжевое)Трафик проходит через Cloudflare, защита от DDoS активна
DNS Only (Серое)Только DNS-разрешение, без защиты
hljs bash
# Проверка DNS-разрешения
dig +short example.com
# При активном прокси Cloudflare отображаются IP-адреса Cloudflare

# Проверка реального IP
curl -s https://www.cloudflare.com/ips-v4

Скрытие IP-адреса сервера

Одно из важнейших преимуществ Cloudflare — скрытие реального IP-адреса вашего сервера. Однако следует обратить внимание на возможные точки утечки.

Точки утечки IP и решения

hljs bash
# 1. Утечка IP через заголовки почтового сервера
# Решение: используйте другой IP/сервер для электронной почты

# 2. Старые DNS-записи (SecurityTrails, Shodan)
# Решение: смените IP после настройки Cloudflare

# 3. Прямой доступ по IP
# Решение: разрешите на сервере только трафик от IP Cloudflare

Ограничение IP Cloudflare на сервере

hljs bash
# Разрешить только IP Cloudflare с помощью iptables
#!/bin/bash

# Диапазоны IPv4 Cloudflare
CF_IPS=$(curl -s https://www.cloudflare.com/ips-v4)

# Удалить существующие правила HTTP/HTTPS
iptables -D INPUT -p tcp --dport 80 -j ACCEPT 2>/dev/null
iptables -D INPUT -p tcp --dport 443 -j ACCEPT 2>/dev/null

# Разрешить только IP Cloudflare
for ip in $CF_IPS; do
    iptables -A INPUT -p tcp --dport 80 -s $ip -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -s $ip -j ACCEPT
done

# Заблокировать остальной HTTP/HTTPS трафик
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP

echo "Ограничение IP Cloudflare применено."

Получение реального IP с помощью Nginx

hljs nginx
# /etc/nginx/conf.d/cloudflare.conf

# Cloudflare IPv4
set_real_ip_from 173.245.48.0/20;
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 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
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 131.0.72.0/22;

real_ip_header CF-Connecting-IP;

Правила WAF (Web Application Firewall)

Cloudflare WAF защищает ваше веб-приложение от SQL-инъекций, XSS и других атак.

Пользовательские правила WAF

# Блокировка трафика из определённых стран
(ip.geoip.country eq "XX") -> Block

# Блокировка определённых User-Agent
(http.user_agent contains "BadBot") -> Block

# Доступ к wp-admin только с определённого IP
(http.request.uri.path contains "/wp-admin" and not ip.src eq 1.2.3.4) -> Block

# Ограничение скорости: более 100 запросов в минуту
(http.request.uri.path eq "/api/*") -> Rate Limit (100 req/min)

Настройка Page Rules

# 1. Всегда использовать HTTPS
URL: http://*example.com/*
Настройка: Always Use HTTPS

# 2. Отключить кеш для API
URL: *example.com/api/*
Настройка: Cache Level = Bypass

# 3. Агрессивное кеширование статических файлов
URL: *example.com/static/*
Настройка: Cache Level = Cache Everything
           Edge Cache TTL = 1 month

Режим Under Attack

Активируйте режим Under Attack во время активной DDoS-атаки.

Активация через API

hljs bash
# Включить режим Under Attack
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/security_level" \
  -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"value":"under_attack"}'

# Вернуться в нормальный режим
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/security_level" \
  -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"value":"medium"}'

Не забудьте отключить режим Under Attack после окончания атаки. Постоянная активация негативно влияет на пользовательский опыт.

Настройка SSL/TLS

# Dashboard > SSL/TLS > Overview

Режим шифрования:
- Off: Без SSL (не рекомендуется)
- Flexible: SSL между Cloudflare и посетителем (origin HTTP)
- Full: Самоподписанный сертификат на origin
- Full (Strict): Действительный сертификат на origin (рекомендуется)

Лучшие практики REXE + Cloudflare

  1. Двойная защита: Path Panel + Cloudflare WAF
  2. Скрытие IP origin: прокси Cloudflare + ограничение iptables
  3. SSL Full Strict: сквозное шифрование с сертификатом origin
  4. Rate Limiting: ограничение запросов для API-эндпоинтов
  5. Управление ботами: фильтрация вредоносных ботов
  6. Оптимизация кеша: CDN-кеш для статического контента

Устранение неполадок

hljs bash
# Проверка подключения Cloudflare
curl -sI https://example.com | grep -i 'cf-ray\|server\|cf-cache'

# Проверка распространения DNS
dig +trace example.com

# Коды ошибок Cloudflare
# 520: Веб-сервер возвращает неизвестную ошибку
# 521: Веб-сервер недоступен
# 522: Тайм-аут подключения
# 523: Origin недоступен
# 524: Произошёл тайм-аут

Заключение

Интеграция Cloudflare обеспечивает мощный уровень защиты от DDoS, производительность CDN и безопасность WAF для вашего сервера REXE. Правильная настройка DNS, скрытие IP origin и правила WAF позволяют комплексно защитить ваш сервер.

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

Предоставляет ли бесплатный план Cloudflare защиту от DDoS?

Да, бесплатный план Cloudflare предлагает неограниченную защиту от DDoS. Он обеспечивает автоматическую защиту от атак уровней 3, 4 и 7. Планы Pro и Business предлагают дополнительные правила WAF и расширенную аналитику.

Может ли мой IP origin утечь при использовании Cloudflare?

Да, он может утечь через заголовки электронной почты, старые DNS-записи (сервисы типа SecurityTrails), прямой доступ по IP и поддомены. Рекомендуется сменить IP после настройки Cloudflare, использовать отдельный сервер для почты и применить ограничения IP Cloudflare через iptables.

Когда следует использовать режим Under Attack?

Активируйте режим Under Attack при обнаружении активной DDoS-атаки. Этот режим применяет JavaScript-проверку ко всем посетителям и фильтрует бот-трафик. Не забудьте вернуться в нормальный режим после окончания атаки.

Какой режим SSL Cloudflare выбрать?

Рекомендуется режим Full (Strict). Этот режим применяет SSL-шифрование между Cloudflare и посетителем, а также между Cloudflare и сервером origin. Необходимо установить сертификат Cloudflare Origin CA на вашем сервере.

Можно ли использовать Cloudflare вместе с Path Panel?

Да, Cloudflare и Path Panel можно использовать вместе для двойной защиты. Cloudflare обеспечивает защиту уровня 7 (HTTP/HTTPS) и CDN, а Path Panel выполняет фильтрацию на сетевом уровне (уровни 3/4). Эта комбинация обеспечивает наиболее полную защиту.

Связанные статьи

Сетевой трафикВходящий GbpsИсходящий Gbps