При помощи 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», с помощью которого можно создать правила для файлов по определенному адресу сайта.
Есть три настройки кеширования:
- No query string — доставляет файлы из кеша только при отсутствии строки запроса. Например: domain.com/pic.jpg
- Ignore query string — доставляет один и тот же файл независимо от строки запроса. Например: domain.com/pic.jpg?ignore=this-query-string
- Standart — рекомендуемая настройка. Доставляет обновленную версию каждый раз, когда изменяется строка запроса. Например: domain.com/pic.jpg?with=query
Можно настроить кеширование в браузере у посетителей сайта, пункт «Browser Cache TTL». Время жизни кеша будет установлено Cloudflare, если на веб-сервере не указаны более длительные периоды времени.
Cloudflare автоматически кеширует изображения, шрифты и других статических файлы на своих серверах. Подробнее можно прочитать в инструкции.
Если внесенные обновления не отображаются в браузере — тогда необходимо очистить кеш браузера и кеш на CDN-серверах. Это можно сделать в разделе «Caching» → «Configuration» → «Purge Cache». Нажав на кнопку «Custom Purge», можно ввести ссылку на файл и очистить его на серверах Cloudflare, или же очистить весь кеш кнопкой «Purge Everything».
Оптимизация
Раздел «Speed» → «Optimization» позволяет ускорить загрузку сайта благодаря нескольким настройкам:
- «Auto Minify» удаляет ненужные символы из исходного кода без изменения его функциональности (например, пробелы, комментарии и т.д.). Минификация может сжимать размер исходного файла, что уменьшает объем данных, которые необходимо передать посетителям, и таким образом сокращает время загрузки страницы.
- Сжатие «Brotli» или gzip, которое ускорит загрузку страницы для посетителей.
Защита сайта
Web Application Firewall
WAF — это правила, благодаря которым можно настроить дополнительную защиту для своего сайта. Правила настраиваются в разделе «Firewall» личного кабинета Cloudflare. Они позволяют блокировать запросы от нежелательных роботов, разрешать доступ к сайту для проверенных сервисов, настроить дополнительные проверки для роботов, и многое другое. Более подробно можно почитать об этом в инструкции на сайте Cloudflare.
Каждый запрос в WAF проверяется списком правил и специальным интеллектом. Подозрительные запросы могут быть заблокированы, дополнительно проверены или занесены в журнал в зависимости от настроек пользователя, в то время как легитимные запросы успешно направляются к защищаемому сайту.
Уровни защиты
Cloudflare позволяет настроить автоматическую проверку трафика, чтобы защищаться от плохих посетителей. Для этого нужно настроить «Security Level» в разделе «Firewall» → «Settings». Выбранный вами уровень определит, какие посетители должны будут пройти дополнительную проверку перед входом:
- «Essentially off» (Почти отключено) — только для самых тяжких нарушителей.
- «Low» (Низкий) — только для наиболее угрожающих посетителей.
- «Medium» (Средний) — дополнительная проверка для посетителей, которые представляют умеренную или большую угрозу.
- «High» (Высокий) — проверка для всех посетителей, которые демонстрировали угрожающее поведение в течение последних 14 дней.
- «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