У цій статті розберемося навіщо потрібен Cloudflare, як підключити його до сайту та як використовувати основні функції сервісу: керувати DNS-записами, встановити SSL-сертифікат, захиститися від DDoS-атак, показувати всім відвідувачам CAPTCHA або заблокувати доступ до сайту на основі параметрів на кшталт IP -адреси або геолокації.

Але спочатку коротко введемо в курс справи, якщо ви не знаєте, як працює Cloudflare і що це взагалі таке.

Що всередині

  1. Що таке Cloudflare
  2. Як працює Cloudflare
  3. Як підключити Cloudflare до сайту
  4. Як очистити кеш
  5. Як працювати з DNS-записами
  6. Як налаштувати HTTPS
  7. Як захистити сайт від DDoS-атак
  8. Як поліпшити роботу окремих сторінок
  9. Як видалити сайт з Cloudflare

Що таке Cloudflare

Cloudflare — це мережа серверів по всьому світі, до якої люди підключають свої сайти, щоб збільшити швидкість їх завантаження і захистити від DDoS-атак. Також за допомогою цього сервісу можна керувати DNS-записами на домені та перевести сайт на HTTPS.

У Cloudflare є безкоштовний тариф і кілька платних. Залежно від тарифу рівень захисту і можливості щодо прискорення сайту будуть відрізнятися. У цьому посібнику розглянемо тільки ті функції, які є у безкоштовному тарифі.

Порівняти тарифи Cloudflare

Як працює CloudFlare

Як ми вже з’ясували, дві основні функції Cloudflare — це скоротити час завантаження сайту і захистити його від DDoS-атак. Коротко розповімо, як ці функції працюють.

Прискорення завантаження сайту відбувається за рахунок технології CDN . Якщо без технічних подробиць, то у Cloudflare є сервери по всьому світі, на які компанія кешує статичні файли з вашого сайту — картинки, CSS, Javascript — а потім роздає їх з серверів, які ближче до відвідувачів. Це знижує навантаження на хостинг і скорочує відстань, яку долають дані.

Ілюстрація роботи CDN Cloudflare

Захист від DDoS-атак працює за рахунок того, що весь вхідний трафік спочатку проходить через Клаудфлер, як через фільтр. Компанія аналізує вхідний трафік, блокує підозрілі запити, а звичайні відправляє до вас на сайт.

DDoS protection by Cloudflare: принцип роботи

Як підключити Cloudflare до сайту

На сайті Cloudflare натисніть кнопку «Sign up» у правому верхньому куті:

Cloudflare hosting - головна сторінка сайту сервісу

Вкажіть електронну пошту в якості логіна і придумайте надійний пароль: мінімум 8 символів, хоча б одна цифра і спеціальний символ. Після цього натисніть «Create Account»:

Hosting Cloudflare - сторінка реєстрації аккаунта

Введіть домен, який збираєтеся прив’язати до Cloudflare, і натисніть «Add site»:

Cloudflare: додати домен

Оберіть тарифний план — у нашому випадку «Free» — і натисніть «Continue»:

тарифи Cloudflare

Запуститься процес сканування DNS-зони вашого домену. Cloudflare знайде DNS-записи для домену та всіх його піддоменів, а потім створить їх у себе:

Cloudflare free dns - сторінка з відсканованими DNS-записами

Зазвичай сервіс не пропускає записи, але якщо якась з них пропала, додайте її вручну. Якщо все у порядку, натисніть знизу кнопку «Continue»:

Безкоштовний хостинг DNS від Cloudflare - сторінка з відсканованими DNS-записами домену

На наступній сторінці будуть DNS-сервери для направлення домену на Cloudflare. Встановіть їх для вашого домену на сайті компанії, у якої його реєстрували.

Cloudflare DNS - неймсервери, на які необхідно звернути домен

Якщо реєстрували домен у нас, щоб змінити DNS-сервери, зайдіть до вашого профілю і перейдіть до розділ «Мої домени». Потім натисніть «Деталі» в рядку з потрібним доменом і знайдіть розділ «Неймсервери». Впишіть неймсервери, які вам видав Cloudflare, і збережіть зміни.

Налаштування DNS Cloudflare в акаунті HOSTiQ

Коли спрямуєте домен на Cloudflare, ви побачите у верхній частині панелі управління розділи для роботи з різними сервісами Cloudflare. У цьому посібнику ми розглянемо тільки найбільш популярні з них: Caching, DNS, SSL / TLS, Firewall і Page Rules.

Огляд функцій Cloudflare

Як очистити кеш

Кешування на Cloudflare увімкнено за замовчуванням. Тому чистити кеш потрібно кожен раз, коли ви щось міняєте на сайті. Інакше після публікації змін відвідувачі ще якийсь час будуть бачити старий контент.

Для цього відкрийте розділ «Caching» і перейдіть на вкладку «Configuration». Далі в першому ж блоку натисніть «Custom Purge», щоб очистити кеш вибірково, або «Purge Everything», щоб очистити весь кеш на серверах Cloudflare.

Як очистити кеш Cloudflare

Як працювати з DNS-записами

Перейдіть до розділ «DNS». Ви побачите таблицю з усіма DNS-записами в зоні вашого домену на серверах Cloudflare.

Щоб додати новий запис, натисніть «+ Add record» над таблицею з усіма записами:

Налаштування DNS на стороні Cloudflare

Для прикладу створимо А-запис для субдомена «blog». Виберіть тип DNS-записи «A», заповніть інші поля і натисніть «Save»:

  • Name — хост на домені, для якого створюється запис. Якщо створюєте запис для основного домену, впишіть сюди @. А якщо для субдомена, впишіть тільки сам піддомен, без домену. Наприклад, щоб створити запис для субдомена www.vashdomen.com, сюди потрібно вписати тільки www.
  • IPv4 address — IP-адреса, до якої потрібно прив’язати хост. Для інших типів DNS-записів це поле буде називатися по-іншому, але в ньому завжди буде матися на увазі цільове призначення запису — якийсь текст, домен або URL.
  • TTL — час життя DNS-записи в секундах на роутері користувача сайту. Чим більше це число, тим довше людині доведеться почекати, перш ніж вона дізнається, що ви змінили DNS-запис. Змінити цей параметр вийде, тільки якщо відключити для запису проксі Cloudflare. В іншому випадку TTL буде в значенні Auto.
  • Proxy status — статус проксі Cloudflare. Статус «Proxied» означає, що для цього DNS-запису всі запити спочатку будуть проходити через Cloudflare. Для запису працюватимуть усі функції сервісу. Статус «DNS Only» означає, що запити будуть йти в обхід Cloudflare. Для запису не працюватимуть основні функції сервісу: CDN, SSL, захист від DDoS.
Як додати піддомен на Cloudflare

Щоб змінити або видалити якийсь запис, натисніть в рядку з ним кнопку «Edit». Після цього поля зі значеннями запису стануть доступні для редагування, а в лівому нижньому кутку з’явиться кнопка «Delete».

Cloudflare - як видалити DNS-запис

Як налаштувати HTTPS

Коли ви підключаєте домен до Cloudflare, сервіс стає додатковим етапом між відвідувачем і вашим сайтом, а це означає, що з’єднання потрібно захистити у двох місцях: на шляху відвідувача сайту до Cloudflare і на шляху від Cloudflare до сайту.

Щоб побачити статус захисту на кожному з етапів, перейдіть до розділу «SSL/TLS». У верхній частині сторінки ви побачите схему і чотири налаштування, які потрібно вибрати в залежності від того, встановлений у вас на хостингу SSL-сертифікат чи ні.

Правильна настройка Cloudflare SSL

З’єднання на шляху відвідувача до Cloudflare компанія захистить сама за допомогою власного безкоштовного SSL-сертифіката Universal. Він почне працювати автоматично, як тільки ви додасте домен до акаунта. А ось щоб захистити з’єднання на шляху від Cloudflare до вашого сайту знадобиться встановити SSL-сертифікат на хостинг.

Якщо у вас на хостингу вже є SSL-сертифікат, оберіть режим «Full (Strict)». А якщо ще немає, оберіть режим «Flexible». Але в цьому випадку з’єднання буде не на 100% безпечним. Люди будуть бачити у себе в браузері HTTPS при переході на ваш сайт, хоча Cloudflare буде передавати дані на сайт у незашифрованому вигляді, а значить теоретично шахраї можуть прикинутися вашим сервером і перехопити дані. Використовуйте режим «Flexible» тільки як тимчасовий захід або у разі, якщо у вас немає можливості встановити SSL-сертифікат на хостингу.

Не використовуйте режим «Full» або «Full (Strict)», якщо у вас на хостингу не встановлено SSL-сертифікат. Інакше при переході на ваш сайт відвідувачі будуть бачити помилку 525 або 526 відповідно. Виглядають вони однаково, різниця тільки в коді помилки:

Cloudflare: Error 526 - Invalid SSL certificate

Після того як виберете відповідний режим, спеціально введіть домен вашого сайту в браузері з HTTP. Якщо сайт все одно відкриється по HTTPS, все добре. Якщо відкриється HTTP версія, значить ваш сайт доступний і по HTTP і по HTTPS. Щоб це виправити, перейдіть у верхній частині розділу «SSL/TLS» на вкладинку «Edge Certificates» й увімкніть опцію «Always Use HTTPS».

Налаштування Cloudflare: опція «Always use HTTPS»

Як захистити сайт від DDoS-атаки

Навіть якщо ви просто підключите сайт до Cloudflare, ви вже захищаєте його від DDoS-атак. Компанія приховує IP-адресу сервера, на якому розташований ваш сайт, змушуючи хакерів атакувати її сервери замість вашого. Далі Cloudflare блокує підозрілий трафік, а нормальний пропускає далі.

Кешування теж допомагає при невеликих атаках, оскільки знижує навантаження на ваш хостинг. Але все одно під час атаки бажано скорегувати налаштування вашого облікового запису Cloudflare, щоб додатково пом’якшити атаку. В цьому розділі поговоримо про те, що саме можна зробити.

Але скажемо одразу — безкоштовний тариф Cloudflare захистить не від усіх атак, а тільки від найпоширеніших. Якщо розбираєтеся в їх різновидах, то мова про атаки 3, 4 і 7 рівнів.

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

Увімкніть режим «I’m Under Attack!»

У цьому режимі Cloudflare почне перевіряти кожного відвідувача, який намагається потрапити на сайт. Всі вони будуть спочатку бачити ось таке повідомлення. Так алгоритмам компанії буде легше відокремити шкідливий трафік від нормального.

Стандартне міжсторінкових повідомлення «DDoS protection by Cloudflare»

Щоб увімкнути цей режим, перейдіть до розділу «Firewall», відкрийте вкладку «Settings» і оберіть «I’m Under Attack!» зі списку в блоку «Security Level»:

Як включити режим anti-ddos Cloudflare

Перевірений відвідувач отримає доступ до вашого сайту не назавжди. За замовчуванням це 30 хвилин, але ви можете вказати інші тимчасові рамки на цій же вкладинці в блоку «Challenge Passage»:

Налаштування Cloudflare: опція «Challenge Passage»

Не забудьте вимкнути цей режим, коли атака закінчиться. Немає сенсу просто так ускладнювати відвідувачам доступ до сайту.

Якщо планували увімкнути цей режим у якості превентивного заходу, краще оберіть не “I’m Under Attack!», А «High». Тоді Cloudflare теж буде показувати міжсторінкових повідомлення, але не всім відвідувачам, а тільки тим, з чиїх IP-адрес було зафіксовано сумнівну поведінку протягом останніх 14 днів.

Якщо підключаєте Cloudflare під час DDoS-атаки

Ви зможете підключитися, але зловмисники вже знають IP-адресу вашого сервера, тому зможуть атакувати його безпосередньо.

Щоб швидше впоратися з атакою, напишіть службі підтримки вашого хостера. Нехай вони допоможуть впоратися з атакою на своєму боці, або перенесуть ваш сайт на сервер з іншою IP-адресою.

Окремий момент — після перемикання DNS-серверів на домені наступні кілька днів частина трафіку все одно буде йти через старі DNS-сервери, а значить захист Cloudflare буде працювати тільки для половини запитів.

Налаштуйте правила доступу

З їх допомогою ви можете змусити відвідувачів проходити CAPTCHA при відвідуванні сайту або взагалі заблокувати доступ до нього на основі регіону, типу запиту, IP-адреси, діапазону IP-адрес або User Agent.

У безкоштовному тарифі Cloudflare ви зможете створити всього п’ять правил. Для цього перейдіть у розділі «Firewall» на вкладинку «Firewall Rules» і натисніть «Create a Firewall rule».

Припустимо, ви з’ясували IP-адреси, з яких йде атака. Показуємо, як створити правило, яке заблокує доступ до сайту для однієї IP-адреси або діапазону адрес.

Налаштування Cloudflare: як створити правило для брандмауера

Перше поле — «Rule name» — це назва правила. Для нашого прикладу підійде «Блокування трафіку»:

Налаштування Cloudflare: поле назвою правила для брандмауера

Далі будуть поля з деталями правила:

  • Field — параметр, на основі якого буде фільтруватися трафік. У нашому випадку це «IP address».
  • Operator — умова, за якої правило буде спрацьовувати. У нашому випадку «equals», тобто «дорівнює».
  • Value — значення параметра з першого поля. У нашому випадку це IP-адреса, для якої потрібно заблокувати доступ.

Кнопки «And» та «Or» праворуч потрібні, щоб вказати кілька умов для одного правила. «And» має на увазі, що правило спрацює, якщо запит відповідає обом умовам, а «Or» — що правило спрацює, якщо запит відповідає хоча б одній умові.

Крім однієї IP-адреси ми додатково вказуємо діапазон IP-адрес, тому натискаємо «And» та в новому рядку вписуємо такі деталі:

  • Field — «IP address».
  • Operator — «is in», тобто «входить в».
  • Value — діапазон IP-адрес у форматі «IP-адреса/префікс CIDR». У нашому прикладі пишемо «2.16.64.0/24». Це означає, що перші три октети — «2.16.64» — не будуть змінюватися, а останній буде включати в себе всі значення від 1 до 254. Якщо прописати «2.16.64.0/25», то перші три октету теж не будуть змінюватися, а останній буде включати в себе значення від 1 до 126.

    Таблиця префіксів і калькулятор діапазонів
Налаштування Cloudflare: поля з параметрами правила для брандмауера

Під полями з деталями правила буде поле з дією, яке Cloudflare буде застосовувати, якщо запит відповідає умовам з правила:

  • Block — заблокувати доступ.
  • Challenge (CAPTCHA) — показувати капчу. Використовується сервіс Google reCAPTCHA.
  • JS Challenge — показувати міжсторінкових повідомлення, як при включеній опції «I’m Under Attack!».
  • Bypass — відключити перевірки з боку Cloudflare.
  • Allow — дозволити повний доступ.

У нашому прикладі ми хочемо заблокувати трафік, тому обираємо «Block».

Налаштування Cloudflare: поле з дією для правила брандмауера

Після створення правила залишається натиснути кнопку «Deploy» внизу сторінки. Зміни набудуть сили негайно.

Налаштування Cloudflare: кнопка «Deploy» на сторінці створення правила брандмауера

Як поліпшити роботу окремих сторінок

Ви можете створити правила для окремих сторінок, щоб окремі компоненти Cloudflare не працювали для них взагалі або працювали по-іншому.

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

Перейдіть до розділу «Page Rules» і в першому ж блоку натисніть кнопку «Create Page Rule»:

Налаштування Cloudflare: розділ «Page rules»

На наступній сторінці ви побачите два блоки з полями:

  • If the URL matches — URL, для якого буде працювати правило. При необхідності використовуйте зірочку (*) в будь-якому сегменті URL-адреси, щоб перетворити URL в шаблон.

    Наприклад, шаблон * .vashdomen.com/* означає, що правило буде працювати для всіх можливих сторінок сайту: і для vashdomen.com, і для www.vashdomen.com/blog, і для shop.vashdomen.com/odezhda/muzhskoe.
  • Then the settings are — налаштування яке повинне спрацьовувати для зазначеного URL або шаблону. Якщо хочете, щоб для одного URL спрацьовувало відразу кілька налаштувань, додайте їх за допомогою кнопки «+ Add a Setting».

У кінці збережіть правило, натиснувши кнопку «Save and Deploy»:

Cloudflare настройка: поля з параметрами правила для окремої сторінки

Правила застосовуються в залежності від того, в якому порядку вони розташовані. Якщо хочете змінити їх черговість, просто перетягніть потрібне правило вгору або вниз за списком за допомогою значка ліворуч:

Налаштування клаудфлер: список всіх правил для окремих сторінок

Ми показали, як в загальному плані влаштований процес. Тепер розглянемо кілька конкретних правил.

Додатковий захист для сторінки входу до облікового запису

За замовчуванням Cloudflare встановлює на сайті рівень захисту Medium. Але для деяких сторінок — наприклад, сторінки входу до панелі керування сайтом або акаунта клієнта — можна встановити більш високі вимоги, тому що саме їх часто атакують хакери. Для цього створіть правило з такими умовами:

  • У блоку If the URL matches впишіть URL адмінки вашого сайту. Наприклад, для WordPress це зазвичай vashdomen.com/wp-admin/*;
  • У блоку Then the settings are виберіть настройку Security Level – High. Так ви підвищите ймовірність, що Cloudflare заблокує доступ, якщо хтось буде себе підозріло вести. Наприклад, довго та безуспішно намагатися потрапити до акаунта.
  • Додатково натисніть + Add a Setting й оберіть налаштування Cache Level – Bypass. Так ви вимкнете кешування для цих сторінок. На сторінках входу до акаунта краще обійтися без нього.
Cloudflare настройка: правило для посилення безпеки сторінки логіна

Кешування для контенту, який рідко буде змінюватися

Частина матеріалів на вашому сайті, наприклад картинки, не буде часто змінюватися. Якщо правильно налаштувати кешування для такого контенту, ви знизите навантаження на сервер та обсяг трафіка, який ви використовуєте. Для цього створіть правило з такими умовами:

  • У блоку If the URL matches впишіть URL-адресу до папки, де зберігаються зображення та інші мультимедійні файли.
  • У блоку Then the settings are оберіть Cache Level – Cache Everything, щоб Cloudflare кешував весь вміст цієї папки без винятку.
  • Натисніть + Add a Setting і додайте налаштування Browser Cache TTL – a day, щоб кеш у браузерах відвідувачів оновлювався раз на день.
  • Натисніть + Add a Setting ще раз і додайте налаштування Edge Cache TTL – 7 days, щоб Cloudflare перевіряв файли на стороні хостингу і оновлював кеш раз на 7 днів, якщо це потрібно.
Cloudflare настройка: правило для просунутого кешування для окремих сторінок

Редирект сайту з www на без www

Зазвичай на одну і ту ж сторінку на сайті можна зайти за двома адресами: https://www.vashdomen.com і https://vashdomen.com. Пошукові системи не розуміють, що це одна і та ж сторінка, тому дві версії будуть конкурувати за місце в результатах пошуку.

Буде вигідніше налаштувати 301 редирект з однієї версії на іншу. Тоді позиції однієї версії передадуться інший і сайт в підсумку може навіть поліпшити свої позиції у видачі. На жаргоні SEO-фахівців така дія називається «склеїти домен».

Ось як зробити основну версію без www:

  • Впишіть www.vashdomen.com/* у блоку If the URL matches.
  • У блоку Then the settings are використовуйте Forwarding URL – 301 – Permanent redirect, вказавши повний шлях до версії без www – https://vashdomen.com/$1.
Cloudflare настройка: правило для 301 редиректу з www на без www

Як видалити домен з Cloudflare

Перейдіть до розділу «Overview» і в правому нижньому кутку цієї сторінки натисніть «Remove Site from Cloudflare» в розділі «Advanced Actions», після чого підтвердіть цю дію:

Як видалити сайт з Cloudflare

Якщо ж ви просто хочете тимчасово призупинити роботу Cloudflare, оберіть опцію, яка стоїть трохи вище — «Pause Cloudflare on Site». Тоді домен продовжить використовувати DNS-хостинг Cloudflare, але запити будуть йти відразу до вашого хостинг-провайдера. Кешування, SSL і захист від DDoS-атак перестануть працювати.

Як відключити Cloudflare

Чи була ця стаття корисною?

Дякуємо за відгук!