Cloudflare — высокоскоростная сеть из серверов, которые расположены по всему миру. Предназначение платформы — защита сайта от DDoS-атак, настройка кэширования, подключение CDN
Благодаря этому руководству вы узнаете, как работает Cloudflare, научитесь добавлять сайты и настроите параметры безопасности.
Содержание:
1. Преимущества Cloudflare
2. Принцип работы Cloudflare
3. Как подключить Cloudflare к сайту
4. Как очистить кэш
5. Как работать с DNS-записями
6. Как настроить HTTPS
7. Как защитить сайт от DDoS-атак
8. Как ускорить загрузку сайта
9. Как улучшить работу отдельных страниц
10. Как удалить сайт из Cloudflare
11. Сколько стоит Cloudflare
12. Аналоги Cloudflare
Заключение
Если вы еще не минифицируете файлы HTML/CSS/JavaScript сами, то Cloudflare поможет сделать это автоматически. В настройках доступна опция автоминификации. При ее включении система проверяет файлы HTML, CSS и JavaScript, после чего удаляет из них ненужные символы: пробелы, строковые символы, разделители, комментарии — все, что не нужно браузеру для нормального отображения сайта.
После минификации файлы весят меньше, но их отображение в браузере никак не изменяется. Это приводит к увеличению скорости загрузки сайта у клиентов.
Еще один способ ускорить загрузку сайта — оптимизировать изображения. Для этого файлы сжимаются. Cloudflare предлагает два режима сжатия — без потери качества и с потерей. Выбор зависит от того, насколько важно высокое качество изображений на сайте.
Если статические ресурсы редко обновляются, можно настроить их длительное хранение в кэше. При запросе они будут загружаться из локального хранилища, что увеличивает скорость отображения в браузере. Все необходимые настройки кэширования есть в панели Cloudflare.
На Cloudflare по умолчанию включено использование протокола HTTP/2. Он в два раза быстрее, чем HTTP/1.1. HTTP/2 загружает несколько элементов по одному TCP-соединению, а также сжимает заголовки.
SSL предлагает бесплатный сертификат для шифрования трафика. Вы также можете купить и установить любой другой сертификат.
DNSSEC — расширение безопасности DNS. Помогает противодействовать уязвимостям подделки запроса. Включается в настройках Cloudflare на вкладке «DNS», не требует дополнительной платы за использование.
WAF — брандмауэр веб-приложений. Защищает сайт от уязвимостей CMS, спама в комментариях, межсайтового скриптинга (XSS), SQL-инъекций. Доступен только на платном тарифе. Главный плюс — автоматическое обновление правил для новых уязвимостей.
Cloudflare поддерживает WebSockets и перенаправляет трафик на исходный сервер без ручной настройки.
Балансировщик нагрузки распределяет трафик между несколькими серверами. Это гарантирует, что веб-приложение будет доступно, даже если один из серверов упадет. Балансировщик также уменьшает время загрузки страниц за счет обслуживания контента с ближайшего сервера. Точку он выбирает автоматически, основываясь на местоположении пользователя.
Cloudflare работает как фильтр
Cloudflare предлагает все необходимые инструменты для защиты и ускорения сайта. Нужна минификация кода — пользуйтесь. Требуется SSL-сертификат — получаете его бесплатно при добавлении сайта в сеть.
Чтобы создать аккаунт, зайдите на сайт Cloudflare и нажмите Sign Up. В качестве логина используйте адрес электронной почты. Для защиты аккаунта придумайте сложный пароль — не менее восьми символов, обязательно одна цифра и один специальный символ.
Скопируйте адреса DNS-серверов Cloudflare для перенаправления домена. Их нужно вставить в настройки домена на сайте компании, где вы регистрировали домен.
Если вы подключаете сайт к Cloudflare во время DDoS-атаки, чтобы защитить его, поменяйте IP-адрес. Этот вопрос нужно решать с хостинг-провайдером. Без предварительной замены IP-адреса Cloudflare не поможет с отражением атаки.
После подключения DNS-серверов Cloudflare трафик в течение нескольких дней будет идти через старые DNS. Защита Cloudflare будет работать только с частью запросов. Поэтому лучше не ждать атаки на сайт, а защитить его заранее, уменьшив риск полного отказа.
На Cloudflare по умолчанию включено кэширование. Поэтому каждый раз, когда вы что-то меняете на сайте, нужно очищать кэш. Иначе пользователи не увидят изменения.
Чтобы очистить кэш:
Чтобы автоматизировать очистку кэша, используйте режим разработки Cloudflare. Включить его можно в разделе Quick Actions на вкладке Overview.
В режиме Development Mode кэш отключается на три часа. Это удобно при проведении работ на сайте, чтобы изменения сразу отображались в браузере.
После переключения вы можете работать с DNS-записями через панель Cloudflare. Для этого перейдите в раздел DNS. Здесь размещена таблица со всеми записями вашего домена на серверах.
Чтобы добавить новую запись, нажмите Add record. В качестве примера создадим запись типа A для поддомена forum.
Записи можно не только добавлять, но и редактировать и удалять. Это дает гибкость в настройке сайта. Более подробно по этой теме можно почитать в официальной документации.
Cloudflare — дополнительный слой между сайтом и пользователями. Это значит, что соединение теперь нужно защищать в двух местах — от пользователя к Cloudflare и от Cloudflare к сайту.
Чтобы увидеть статус защиты на каждом этапе, откройте раздел SSL/TLS. В верхней части страницы отображается схема взаимодействия и четыре режима. Выбирать режим нужно с учетом того, установлен на вашем хостинге SSL-сертификат или нет.
Соединение от посетителя к Cloudflare защищено по умолчанию благодаря бесплатному SSL-сертификату. Вы получаете его при добавлении домена в аккаунт. Вам нужно защитить только соединение на этапе от Cloudflare к вашему сайту.
Если на хостинге установлен SSL-сертификат, выберите режим Full (Strict). Так вы настроете полностью безопасное соединение, в котором весь трафик шифруется.
Если на хостинге нет SSL-сертификата, выберите режим Flexible. Однако в таком случае соединение не будет полностью защищенным. Более того, вы вводите пользователей в заблуждение. При переходе на сайт они будут видеть HTTPS, так как на Cloudflare сертификат есть. Но данные от Cloudflare на ваш сайт будут передаваться уже в незащищенном виде через HTTP. Это значит, что злоумышленники теоретически могут притвориться вашим сервером и перехватить данные пользователей.
Режим Flexible можно использовать как временную меру, пока вы не установите SSL-сертификат на хостинге. Если на вашем хостинге нет сертификата, нельзя выбирать режим Full и Full (Strict). Иначе посетители сайта при переходе будут видеть ошибку 525 или 526.
После настройки защищенного соединения убедитесь, что ваш сайт доступен только по HTTPS. Для этого специально введите в браузере адрес с HTTP. Если сайт открывается с HTTP, исправьте уязвимость.
Подключение сайта к Cloudflare уже снижает опасность DDoS-атак. IP-адрес сервера с сайтом по умолчанию скрыт, так что злоумышленники атакуют его через серверы Cloudflare. Те настроены таким образом, чтобы заблокировать подозрительный трафик и пропустить нормальный.
Однако бесплатный тариф не защищает от всех атак. Для большинства сайтов его возможностей достаточно. Но если у вас популярный и высоконагруженный ресурс, то нельзя просто сидеть и ждать, пока атака закончится. Нужно помогать Cloudflare бороться со злоумышленниками, корректируя настройки доступа.
При включении этого режима Cloudflare начинает проверять каждого, кто пытается зайти на сайт. Пользователи видят предупреждение с текстом: Checking your browser…. Посетителей это может раздражать, зато Cloudflare так проще отделить вредоносный трафик от нормального.
Чтобы включить режим I’m Under Attack:
По умолчанию проверенный пользователь получает доступ к сайту на 30 минут. Продолжительность сеанса можно изменить на той же вкладке Settings в поле Challenge Passage.
Обязательно отключите режим I’m Under Attack после завершения атаки, иначе все пользователи так и будут ждать окончания проверки, прежде чем попадут на ваш сайт.
Вместо I’m Under Attack можно выбрать режим защиты High. В таком случае Cloudflare будет проверять не всех пользователей, а только тех, с чьих адресов в последние 14 дней было зафиксировано странное поведение — например, попытки зайти в чужие аккаунты или сбор данных со страниц сайта.
Cloudflare предлагает гибкие настройки доступа. Можно включить обязательное прохождение капчи или заблокировать посетителей из конкретных регионов, диапазонов IP-адресов, информации об операционной системе и версии браузера.
На бесплатном тарифе можно создать пять таких правил. В качестве примера заблокируем доступ по IP-адресам:
Это очень простое правило. Давайте его усложним, добавив еще условие. Например, мы знаем не только «плохой» IP-адрес, но и диапазон IP-адресов злоумышленников. Его можно добавить к правилу с помощью кнопок And и Or.
Диапазон адресов добавляется так же, как один IP. В поле Field — IP-адрес, в поле Operator — is in (проверка на вхождение), в поле Value — сам диапазон в формате «IP-адрес/префикс CIDR».
После настройки условий укажите, что нужно делать при их соблюдении. Доступные варианты:
Чтобы сохранить изменения, в левом нижнем углу нажмите Deploy.
В панели управления Cloudflare есть вкладка Speed, внутри которой собраны все инструменты для ускорения загрузки сайта.
На странице Overview отображается статистика загрузки. Например, если вы добавили на сайт, но не обновили DNS-серверы, то увидите, насколько быстрее мог бы загрузиться сайт при использовании Cloudflare.
Внизу отображается скорость загрузки на мобильных устройствах с 3G и при проводном подключении к интернету. Улучшить все эти показатели можно в разделе Optimization. Здесь доступны несколько наборов инструментов.
В разделе Optimization для кэширования представлена только функция предварительной загрузка URL-адресов из выборки, доступная на платном тарифе Enterprise.
Для управления кэшированием на других тарифах в панели Cloudflare есть отдельная вкладка — Caching. Здесь можно:
Есть и другие функции — например, режим разработчика с временно отключенным кэшированием или режим Always Online, при котором посетителям доступны ограниченные копии страниц, даже если сервер с сайтом недоступен.
Mobile Redirect — очень полезная настройка для проектов, у которых есть отдельная мобильная версия. Перенаправление включается одним ползунком — достаточно выбрать поддомен. Доступно также управление редиректом через API.
Cloudflare дает возможность настроить правила работы отдельных страниц. На бесплатном тарифе доступно добавление трех таких правил.
Чтобы создать особые условия для страницы:
На странице есть два блока. Первый — If the URL matches. Здесь нужно указать адрес страницы, для которой вы создаете правило. Можно сделать шаблон, добавив звездочку (*) в URL. Например, шаблон site.com/blog/*
указывает, что правило должно работать для всех страниц внутри блога.
Второй блок — Then the settings are. Это сама настройка, которая применяется к странице или шаблону. Можно добавить несколько правил
Правила можно отменять, сохранять как черновик и применять. Вот несколько примеров таких особых условий для страниц.
По умолчанию Cloudflare устанавливает на все страницы защиту уровня Medium (средняя). Но для некоторых точек входа можно и нужно выбирать более высокий уровень, потому что они чаще подвергаются атакам. В качестве примера можно привести вход в личный кабинет пользователя или в панель управления сайтом.
Например, у вас сайт на WordPress. Вы хотите дополнительно защитить страницу авторизации администраторов. Это просто:
site.com/wp-admin/*
.site.com/wp-admin/*
.Эти настройки могут добавить неудобств. Например, если вы ошибетесь несколько раз при вводе пароля, то придется подтверждать, что вы не робот. При попытке зайти в админку с другого IP также может появиться дополнительная проверка. Зато при таком подходе повышается безопасность одной из критически важных точек входа.
На сайте может быть много контента, который не меняется или меняется очень редко. Это статические файлы — например, изображения для оформления дизайна. Если их кэшировать, то они будут загружаться быстрее. Это положительно повлияет на скорость отображения страниц у пользователей.
Чтобы кэшировать контент:
Аналогичным образом вы можете кэшировать любые другие данные, которые редко обновляются. Периодичность обновления кэша вы устанавливаете самостоятельно.
Стандартная практика — склеивание домена с www и без www, чтобы поисковики не принимали их за разные сайты.
www.site.com
.https:/site.com
.Редиректы можно настраивать на любые страницы.
Cloudflare предлагает два режима — временная приостановка работы и удаление домена.
Чтобы приостановить работу Cloudflare, перейдите в раздел Overview и выберите опцию Pause Cloudflare on Site. Домен продолжит использовать DNS-хостинг Cloudflare, но запросы сразу будут направляться к вашему провайдеру. Ваши SSL, защита от DDoS, кэширование, редирект — все перестанет работать.
Чтобы удалить домен, перейдите в раздел Overview. В правом нижнем углу нажмите Remove Site from Cloudflare и подтвердите действие.
В этом руководстве мы использовали бесплатный тариф Cloudflare. Он подходит для небольших личных проектов, сбой в работе которых не критичен для бизнеса. Если вам не хватает его возможностей для защиты, нужно перейти на платный тариф. Всего их три:
Вместо CLoudflare можно использовать другие платформы для защиты от DDoS и подключения к CDN. Рассмотрим инструменты двух популярных облачных решений — Amazon Web Services и Microsoft Azure.
Amazon предоставляет доступ к инструментам для защиты от DDoS-атак. Они собраны в сервис AWS Shield. Он защищает приложения, которые работают на AWS.
У AWS Shield есть подписка Advanced, которая обеспечивает защиту на более высоком уровне. Здесь доступны средства обнаружения и нейтрализации атак, видимость угроз практически в реальном времени, интеграция с брандмауэром интернет-приложений AWS WAF.
Для быстрой доставки контента AWS предлагает сервис CloudFront. В течение 12 месяцев им можно пользоваться бесплатно. Для увеличения скорости доставки используются более 300 точек присутствия, распределенных по миру.
Облачная платформа от Microsoft тоже предлагает сервисы, которые помогают защитить и ускорить сайт.
Например, для отражения DDoS-атак есть сервис «Защита от атак DDoS Azure». Его возможности:
Стоимость защиты от DDoS — $2944 в месяц. В подписку включено 100 ресурсов. Если нужно защитить больше, то за каждый дополнительный ресурс придется заплатить $29,5 в месяц.
Для балансировки нагрузки Azure предоставляет сразу несколько сервисов:
Есть у Azure и собственная сеть доставки содержимого. Она позволяет разработать собственную стратегию ускорения загрузки. Стоимость CDN зависит от зоны, объема переданного трафика и начинается от $0,081 за гигабайт.
Cloudflare — недорогая и функциональная платформа, которая помогает защитить сайт и ускорить его загрузку.
Если хотите узнать больше о возможностях Cloudflare, посмотрите это видео:
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…