CloudFlare

При помощи Cloudflare, в режиме Proxied, можно защитить сайт от DDoS-атак, настроить оптимизацию сайта, кеширование, защищенное соединение, анализировать трафик и другое. Размер и частота атак технически не ограничивается.

Добавление домена

Следующим действием в Cloudflare необходимо добавить доменное имя. Введите зарегистрированный домен и нажмите кнопку «Add Site». Выберите тарифный план и нажмите «Confirm plan».

Cloudflare просканирует DNS-записи у добавленного домена. Для бесшовного перехода сайта на проксирование нужно убедиться, в разделе DNS — все ли записи присутствуют и при необходимости добавить нужные. А так-же включить проксирование для записей типа «А». Доменную почту, на бесплатном тарифе, не проксируют, при настройке клиента нужно указывать реальный IP сервера.

Чтобы все заработало у регистратора домена необходимо сменить NS-записи на Cloudflare, которые предложит Cloudflare.

После проверки настройки и нажатия кнопки «Done». Домен добавл на аккаунт.

DNS и статус проксирования

Редактирование ресурсных записей происходит в разделе «DNS». Доступны статусы проксирования:

  • «DNS only» (серое облако) — при обращении к домену Cloudflare будет отдавать IP-адрес вашего web-сервера. Настройки кеширования, Firewall и другие не будут применяться.
  • «Proxied» (оранжевое облако) — вместо IP-адреса web-сервера будет указан IP-адреса Cloudflare. Все запросы проксируются, то есть проходят сначала фильтры Cloudflare, а после на web-сервер.

    Для редактирования статуса необходимо нажать «Edit», произвести редактирование и сохранить выбор кнопкой «Save».

После изменения NS-серверов и обновления DNS-кеша на почту придет уведомление, что домен успешно подтвержден и работает через Cloudflare.

При использовании «Proxied» на бесплатном тарифе, подключиться по проксируемому домену к почте, FTP и SSH на хостинге не получится. Cloudflare пропускает запросы к вашему сайту только по 80 и 443 порту, поэтому используйте для подключения к почте и другим сервисам IP-адрес web-сервера требуемых сервисов.

На платных тарифах можно воспользоваться специальным инструментом Spectrum.

Режиме SSL соединения

В разделе SSL/TLS Overview доступно 4 режима:

  • «Flexible» шифрует трафик только между браузером и сервером Cloudflare, а CloudFlare-сервер — идет по HTTP. Следовательно сертификат должен быть только на стороне клиент-CloudFlare, а на стороне CloudFlare-сервер сертификата не должно быть и перенаправления на HTTPS (на сервере) тоже не должно быть, во избежание циклическое перенаправлений. Этот режим самый простой в использовании и позволяет поисковикам определять сайт как работающий по HTTPS, хотя на сервере SSL не установлен.

Режимы Full и Full (Strict) устанавливают сквозное шифрование трафика с помощью SSL и гарантируют, что никто не сможет отслеживать передаваемые данные. Отличаются режимы только сертификатами. В этих режимах потребуется установка SSL-сертификата на сервер хостинга. В противном случае получим ошибку 520.

  • «Full» предполагает использовать любой сертификат, в том числе самоподписанный, созданный на своем компьютере. В браузере пользователю будет отдаваться SSL от Cloudflare, а самоподписанный сертификат будет шифровать трафик между Cloudflare и web-сервером, что на конечного пользователя не влияет. Этот самоподписанный может выпустить кто угодно, хоть клиент, хоть хостер.
    В этом режиме выпустить новый Let’s Encrypt (бесплатный) сертификат на стороне хостера не получится, так как IP в A-записи будет не хостера, а Cloudflare. А вот продление, перевыпуск — вполне может пройти.
  • «Full (Strict)» требует сертификат от доверенного центра сертификации, например, Let’s Encrypt, Comodo или другой. Также можно установить Cloudflare Origin сертификат, который выдается на срок от 7 дней до 15 лет в разделе «SSL/TLS» → «Origin Server». При выпуске сертификата в Cloudflare — этот режим будет оптимальным.

Создайте сертификат Cloudflare Origin

Создать бесплатный сертификат Cloudflare Origin можно в разделе «SSL/TLS» → «Origin Server». Для этого нажмите «Create Certificate», выберите срок действия и нажмите кнопку «Next». После этого будет сгенерирован сертификат (Origin Certificate) и приватный ключ (Private key).

Далее необходимо скопировать сертификат и приватный ключ в текстовый файл и загрузите на хостинг, как вариант в корень аккаунта. Для установки сертификата необходимо написать в поддержку. + установить редирект с http на https, как описано ниже.

С HTTP на HTTPS

Если в разделе «SSL/TLS» → «Edge Certificates» включить настройку «Always Use HTTPS». Тогда запросы к сайту будут автоматически перенаправлены с «http://» на «https://».

Включение «Automatic HTTPS Rewrites» позволит все подключаемые файлы и картинки на сайте отдавать по «https://», что исключит ошибки SSL, при работе с сайтом о смешанном контенте.

Однако, при использовании «Always Use HTTPS» и «Automatic HTTPS Rewrites» в CloudFlare необходимо исключить аналогичное перенаправление на стороне web-сервера, обычно это директивы в .htaccess

# RewriteCond %{HTTPS} off
# RewriteCond %{HTTP:X-Forwarded-Proto} !https
# RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

И на самом сайте, если редиректы такого рода сайт умеет осуществлять.

Кеширование контента

В Cloudflare доступны для использования CDN-серверы, или серверы сети доставки контента. Они позволяют быстрее получать картинки, документы, шрифты и другие статические файлы, кешируя их на серверах Cloudflare. Кеширование позволит снизить нагрузку на сайт, если на нем много посетителей и статических файлов.

Кеширование настраивается в разделе «Caching» → «Configuration» → «Caching Level» или в разделе «Page Rules», с помощью которого можно создать правила для файлов по определенному адресу сайта.

Есть три настройки кеширования:

  1. No query string — доставляет файлы из кеша только при отсутствии строки запроса. Например: domain.com/pic.jpg
  2. Ignore query string — доставляет один и тот же файл независимо от строки запроса. Например: domain.com/pic.jpg?ignore=this-query-string
  3. Standart — рекомендуемая настройка. Доставляет обновленную версию каждый раз, когда изменяется строка запроса. Например: domain.com/pic.jpg?with=query

Можно настроить кеширование в браузере у посетителей сайта, пункт «Browser Cache TTL». Время жизни кеша будет установлено Cloudflare, если на веб-сервере не указаны более длительные периоды времени.

Cloudflare автоматически кеширует изображения, шрифты и других статических файлы на своих серверах. Подробнее можно прочитать в инструкции.

Если внесенные обновления не отображаются в браузере — тогда необходимо очистить кеш браузера и кеш на CDN-серверах. Это можно сделать в разделе «Caching» → «Configuration» → «Purge Cache». Нажав на кнопку «Custom Purge», можно ввести ссылку на файл и очистить его на серверах Cloudflare, или же очистить весь кеш кнопкой «Purge Everything».

Оптимизация

Раздел «Speed» → «Optimization» позволяет ускорить загрузку сайта благодаря нескольким настройкам:

  1. «Auto Minify» удаляет ненужные символы из исходного кода без изменения его функциональности (например, пробелы, комментарии и т.д.). Минификация может сжимать размер исходного файла, что уменьшает объем данных, которые необходимо передать посетителям, и таким образом сокращает время загрузки страницы.
  2. Сжатие «Brotli» или gzip, которое ускорит загрузку страницы для посетителей.

Защита сайта

Web Application Firewall

WAF — это правила, благодаря которым можно настроить дополнительную защиту для своего сайта. Правила настраиваются в разделе «Firewall» личного кабинета Cloudflare. Они позволяют блокировать запросы от нежелательных роботов, разрешать доступ к сайту для проверенных сервисов, настроить дополнительные проверки для роботов, и многое другое. Более подробно можно почитать об этом в инструкции на сайте Cloudflare.

Каждый запрос в WAF проверяется списком правил и специальным интеллектом. Подозрительные запросы могут быть заблокированы, дополнительно проверены или занесены в журнал в зависимости от настроек пользователя, в то время как легитимные запросы успешно направляются к защищаемому сайту.

Уровни защиты

Cloudflare позволяет настроить автоматическую проверку трафика, чтобы защищаться от плохих посетителей. Для этого нужно настроить «Security Level» в разделе «Firewall» → «Settings». Выбранный вами уровень определит, какие посетители должны будут пройти дополнительную проверку перед входом:

  1. «Essentially off» (Почти отключено) — только для самых тяжких нарушителей.
  2. «Low» (Низкий) — только для наиболее угрожающих посетителей.
  3. «Medium» (Средний) — дополнительная проверка для посетителей, которые представляют умеренную или большую угрозу.
  4. «High» (Высокий) — проверка для всех посетителей, которые демонстрировали угрожающее поведение в течение последних 14 дней.
  5. «I’m Under Attack!» (Я под атакой!) — данный режим должен использоваться только если ваш сайт находится под DDoS-атакой.

Когда на web-сайт идет атака, то необходимо включить режим «Under Attack Mode» в разделе «Overview» или «Firewall» → «Settings». Cloudflare в этом режиме выполняет дополнительные проверки безопасности для всех посетителей сайта, чтобы помочь смягчить DDoS-атаки 7 уровня (HTTP-флуд, TCP-флуд, UDP-флуд и другие).

Когда выполняется дополнительная проверка, посетитель видит страницу от Cloudflare в течение 5 секунд, которая его анализирует. Проверенные посетители получают доступ к вашему сайту, а подозрительные блокируется.

https://help.sprinthost.ru/support/cloudflare