Cloudflare — сервис, предоставляющий множество услуг в сфере безопасности и оптимизации, которые помогают как небольшим сайтам, так и крупным проектам. При помощи Cloudflare можно защитить сайт от DDoS-атак, настроить оптимизацию сайта, кеширование, защищенное соединение, анализировать трафик и другое. Многие функции мы разберем в этой статье.
Данная статья содержит следующие разделы:
- Создание аккаунта
- Добавление домена
- DNS и статус проксирования
- Защита от DDoS - атак
- Web Application Firewall
- Защищенное соединение
- Кеширование контента
- Уровень защиты сайта
- Настройка защищенного соединения
- Оптимизация и очистка кеша
Создание аккаунта
Для создания аккаунта вам нужно:
1. Перейти на сайт cloudflare.com
2. Ввести свою почту и придумать пароль. Он должен содержать не меньше 8 символов, цифру, а также специальные символы (например, !%@#*_-).
3. Нажать на кнопку «Sign Up».
Аккаунт будет создан после подтверждения по почте.
Добавление домена
Следующим действием Cloudflare предложит вам добавить доменное имя. Введите зарегистрированный домен и нажмите кнопку «Add Site». Выберите тарифный план и нажмите «Confirm plan».
Cloudflare просканирует DNS-записи у вашего домена. Проверьте, все ли записи указаны и добавьте недостающие, если такие есть. В этом пункте вы сразу можете включить проксирование для всех записей.
Чтобы применить все настройки, измените NS-серверы у регистратора домена на те, которые вам предложит Cloudflare. Компания имеет больше сотни NS-серверов, поэтому не указывайте их заранее, вам попадутся другие.
Проверьте настройки и нажмите кнопку «Done». Домен добавлен на аккаунт.
После изменения NS-серверов и обновления DNS-кеша вам придет уведомление на почту, что домен успешно подтвержден и работает через Cloudflare.
DNS и статус проксирования
Изменять, добавлять и редактировать ресурсные записи можно в разделе «DNS». Для записей вы можете выбрать один из статусов проксирования:
- Настройка «Proxied» (оранжевое облако) говорит о том, что вместо вашего IP-адреса будет указан адрес Cloudflare. Все запросы проксируются, то есть поступают сначала на сервера компании, а после отправляются на сервер, где сайт фактически размещен.
- «DNS only» (серое облако) означает, что при обращении к домену Cloudflare будет отдавать IP-адрес вашего сервера. Настройки кеширования, Firewall и другие не будут применяться.
Чтобы изменить статус, нажмите на запись для перехода в режим редактирования, кликните на облако для изменения и нажмите «Save».
При использовании «Proxied» на бесплатном тарифе, подключиться по проксируемому домену к почте, FTP и SSH на хостинге не получится. Cloudflare пропускает запросы к вашему сайту только по 80 и 443 порту, поэтому используйте для подключения к почте и другим сервисам IP-адрес сервера, на котором находится ваш аккаунт (указан в Панели управления, раздел «Сайты и домены» → «IP-адреса»).
На платных тарифах вы можете воспользоваться специальным инструментом Spectrum.
Защита от DDoS-атак
В настоящее время количество DDoS-атак на сайты увеличивается, и от них нужно защищаться. Веб-сайты, приложения и сети — все это защищено глобальной облачной сетью компании со скоростью передачи данных несколько десятков Тбит/с. Размер и частота атак технически не ограничивается, а сеть Cloudflare блокирует до сотни миллиардов угроз в день.
Чтобы воспользоваться услугой защиты от DDoS-атак, включите проксирование (Proxied) для своего сайта в разделе «DNS». В результате все запросы к вашему сайту будут поступать сначала на сервер Cloudflare, а он в свою очередь будет отправлять проверенные запросы на сервер, откуда фактически работает сайт.
Web Application Firewall
WAF — это правила, благодаря которым вы можете настроить дополнительную защиту для своего сайта. Правила настраиваются в разделе «Firewall» личного кабинета Cloudflare. Они позволяют блокировать запросы от нежелательных роботов, разрешать доступ к сайту для проверенных сервисов, настроить дополнительные проверки для роботов, и многое другое. Более подробно можно почитать об этом в инструкции на сайте компании.
Каждый запрос в WAF проверяется списком правил и специальным интеллектом. Подозрительные запросы могут быть заблокированы, дополнительно проверены или занесены в журнал в зависимости от настроек пользователя, в то время как легитимные запросы успешно направляются к вашему сайту.
Защищенное соединение
При использовании проксирования от Cloudflare доступна настройка защищенного соединения для сайта в разных режимах: Flexible, Full или Full (Strict).
Режим «Flexible» шифрует трафик только между браузером и сервером Cloudflare. По мнению сервиса, эта настройка может помочь личным сайтам и блогам в продвижении, поскольку Google и другие поисковики обращают внимание на HTTPS.
Режимы Full и Full (Strict) устанавливают сквозное шифрование трафика с помощью SSL и гарантируют, что никто не сможет отслеживать передаваемые данные. Отличаются режимы тем, что при Full можно использовать самоподписанный сертификат, созданный на своем компьютере, а Full (Strict) требует сертификат от доверенного центра сертификации, например, Let's Encrypt, Comodo или другой. Также можно установить Cloudflare Origin сертификат, который выдается на срок от 7 дней до 15 лет в разделе SSL/TLS → Origin Server
В разделе SSL/TLS → Edge Certificates
вы можете включить настройку «Always Use HTTPS». В таком случае запросы к сайту будут автоматически перенаправлены с «http://» на «https://». Активируйте «Automatic HTTPS Rewrites», после чего все ссылки на сайте у подключаемых файлов и картинок будут заменены на «https://», и на сайте не будет смешанного контента.
При защите вашего сайта с помощью Cloudflare не рекомендуется иметь настроенные перенаправления на хостинге.
Кеширование контента
В 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 позволяет настроить автоматическую проверку трафика, чтобы защищаться от плохих посетителей. Для этого нужно настроить «Security Level» в разделе Firewal → Settings
. Выбранный вами уровень определит, какие посетители должны будут пройти дополнительную проверку перед входом:
- «Essentially off» (Почти отключено) — только для самых тяжких нарушителей.
- «Low» (Низкий) — только для наиболее угрожающих посетителей.
- «Medium» (Средний) — дополнительная проверка для посетителей, которые представляют умеренную или большую угрозу.
- «High» (Высокий) — проверка для всех посетителей, которые демонстрировали угрожающее поведение в течение последних 14 дней.
- «I’m Under Attack!» (Я под атакой!) — данный режим должен использоваться только если ваш сайт находится под DDoS-атакой.
Когда на вас идет атака, то вам необходимо включить режим «Under Attack Mode» в разделе Overview
или Firewal → Settings
. Cloudflare в этом режиме выполняет дополнительные проверки безопасности для всех посетителей сайта, чтобы помочь смягчить DDoS-атаки 7 уровня (HTTP-флуд, TCP-флуд, UDP-флуд и другие).
Когда выполняется дополнительная проверка, посетитель видит страницу от Cloudflare в течение 5 секунд, которая его анализирует. Проверенные посетители получают доступ к вашему сайту, а подозрительные блокируется.
Настройка защищенного соединения
Если у вас включено проксирование, тогда вы можете настроить для своего сайта HTTPS. Для этого перейдите в раздел «SSL/TLS» и выберите одну из настроек:
- «Flexible». Сертификат будет установлен на сервер Cloudflare и автоматически будет продлеваться.
- «Full» или «Full (Strict)». Для корректной работы потребуется установка SSL-сертификата на сервер хостинга. Если сертификат не установлен, тогда на сайте будет ошибка 520.
Создайте бесплатный сертификат Cloudflare Origin в разделе SSL/TLS → Origin Server
. Для этого нажмите «Create Certificate», выберите срок действия и нажмите кнопку «Next». После этого будет сгенерирован сертификат (Origin Certificate) и приватный ключ (Private key).
Скопируйте сертификат и приватный ключ в текстовый файл и загрузите на хостинг через Панель управления в разделе «Файловый менеджер».
Также в разделе SSL/TLS → Edge Certificates
вам нужно включить две настройки:
- «Always Use HTTPS» перенаправляет все запросы к сайту на защищенный протокол, то есть с HTTP на HTTPS.
- «Automatic HTTPS Rewrites». Если ваш сайт содержит ссылки на файлы или страницы по протоколу HTTP, которые также безопасно доступны через HTTPS, тогда они автоматически перезапишутся с использованием безопасного соединения. Это поможет исправить ошибку в браузере посетителей, которая сообщает о смешанном контенте.
Оптимизация и очистка кеша
В разделе Speed → Optimization
вы можете ускорить загрузку сайта благодаря нескольким настройкам:
- «Auto Minify» удаляет ненужные символы из исходного кода без изменения его функциональности (например, пробелы, комментарии и т.д.). Минификация может сжимать размер исходного файла, что уменьшает объем данных, которые необходимо передать посетителям, и таким образом сокращает время загрузки страницы.
- Сжатие «Brotli» или gzip, которое ускорит загрузку страницы для ваших посетителей.
Cloudflare автоматически кеширует изображения, шрифты и других статических файлы на своих серверах.
Если вы обновили картинку или другой статический файл на сайте, но ничего не изменилось, тогда вам потребуется очистить кеш браузера и кеш на CDN-серверах. Это можно сделать в разделе Caching → Configuration → Purge Cache
. Нажав на кнопку «Custom Purge», вы сможете ввести ссылку на файл и очистить его на серверах Cloudflare, или же очистить весь кеш кнопкой Purge Everything