У цьому посібнику розберемося навіщо потрібен Cloudflare, як підключити його до сайту і як користуватися основними функціями сервісу: керувати DNS-записами, налаштувати SSL-сертифікат, захиститися від DDoS-атак, показувати всім відвідувачам CAPTCHA або заблокувати доступ до сайту на основі параметрів типу IP-адреси чи геолокації.
Але спочатку коротко введемо в курс справи, якщо ви не знаєте як працює Cloudflare і що це взагалі таке.
Що всередині
- Що таке Cloudflare
- Як працює Cloudflare
- Як підключити Cloudflare до сайту
- Як працювати з DNS-записами
- Як налаштувати HTTPS
- Як захистити сайт від DDoS-атак
- Як очистити кеш
- Як покращити роботу окремих сторінок
- Як видалити сайт із Cloudflare
Що таке Cloudflare
Cloudflare — це мережа серверів по всьому світу, до якої люди підключають свої сайти, щоб збільшити швидкість їх завантаження та захистити від DDoS-атак. Також за допомогою цього сервісу можна керувати записами DNS на домені і перевести сайт на HTTPS.
Cloudflare має безкоштовний тариф і декілька платних. Залежно від тарифу рівень захисту та можливості прискорення сайту відрізнятимуться. У цьому посібнику розглянемо лише те, що є у безкоштовному тарифі.
Як працює CloudFlare
Як ми вже з’ясували, дві основні функції Cloudflare — це прискорити час завантаження сайту та захистити його від DDoS-атак. Коротко розповімо, як ці функції реалізовані.
Прискорення завантаження сайту відбувається за рахунок технології CDN. Якщо опустити технічні подробиці, то Cloudflare має сервери по всьому світу, на які компанія кешує статичні файли з вашого сайту — картинки, CSS, Javascript — а потім роздає їх із серверів, які ближче до відвідувачів. Це знижує навантаження на хостинг та відстань, яку долають дані.

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

Як підключити Cloudflare до сайту
На сайті Cloudflare натисніть у верхньому правому кутку кнопку «Login» та створіть обліковий запис. Після цього на домашній сторінці облікового запису натисніть синю кнопку «Add» у правій частині екрана і виберіть зі списку «Connect a domain».

Введіть ім’я домену, яке збираєтеся додати до Cloudflare.

Оберіть тарифний план. Для початку безкоштовного буде цілком достатньо. Щоб вибрати, натисніть «Select plan» у його картці.

Cloudflare просканує DNS-зону вашого домену, знайде DNS-записи та відобразить їх. Якщо всі записи на місці, натисніть «Continue to activation».
Важливо ❗️
Cloudflare може пропустити запис. Сервіс легко знаходить записи на популярних піддоменах типу www, mail, test, smtp. Але ваші кастомні записи, можливо, не будуть виявлені. Перевірте це та додайте те, чого не вистачає.

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

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

Після зміни неймсерверів залишається тільки чекати, поки налаштування набудуть чинності. Це може тривати до 24 годин. Коли процес завершиться і сервіси Cloudflare активуються для домену, у розділі «Domains» у домену з’явиться статус «Active». До цього буде статус «Invalid Nameservers». Якщо не змінити неймсервери, через 28 днів домен видаляється з Cloudflare автоматично.

Коротко резюмуємо, що ви щойно зробили: додали домен в обліковий запис Cloudflare, попередньо створили його DNS-записи на неймсерверах компанії, потім підключили до них домен. Все це потрібно було, щоб мінімізувати перебої в роботі сайту, які можуть виникати при перемиканні неймсерверів.
Далі розглянемо основний функціонал сервісу: як працювати з DNS-записами, увімкнути HTTPs, захистити сайт від DDoS-атак, очистити кеш, створити редирект або особливі правила для роботи окремих сторінок сайту.
Як працювати з DNS-записами
У розділі «Domains – Overview» клацніть по домену, щоб відкрити його налаштування. Потім перейдіть до розділу «DNS – Records». Ви побачите таблицю з усіма записами DNS в зоні вашого домену на серверах Cloudflare.
Щоб додати новий запис, натисніть «+Add record» над таблицею з усіма записами.

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

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

Як налаштувати HTTPS
Коли ви підключаєте домен до Cloudflare, сервіс стає проміжним етапом між відвідувачем та сайтом. З’єднання на шляху від відвідувача до Cloudflare компанія захистить автоматично за допомогою безкоштовного сертифіката SSL Universal. А щоб захистити з’єднання на шляху від Cloudflare до сайту, вам знадобиться встановити на хостингу ще один SSL-сертифікат.
Стаття на тему 👇
Як встановити SSL-сертифікат Let’s Encrypt
Подивитися статус шифрування можна у розділі SSL/TLS. У прикладі видно, що з’єднання на етапі від відвідувача до Cloudflare захищене (стоїть замочок), але на етапі від Cloudflare до хостингу — немає. Щоб змінити режим, натисніть над схемою синю кнопку Configure.

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

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

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

Як захистити сайт від DDoS-атаки
Навіть просто підключивши сайт до Cloudflare, ви вже захищаєте його від DDoS-атак. Компанія приховує IP-адресу сервера, на якому розташований ваш сайт, змушуючи хакерів атакувати її сервери замість вашого. Далі Cloudflare блокує підозрілий трафік, а нормальний пропускає далі.
Кешування теж допомагає за невеликих атак, оскільки знижує навантаження на ваш хостинг. Але все одно під час атаки бажано скоригувати налаштування у вашому обліковому записі Cloudflare, щоб додатково пом’якшити атаку. У цьому розділі поговоримо про те, що можна зробити.
Але безкоштовний тариф Cloudflare захистить не від усіх атак , а лише від найпоширеніших. Якщо розумієтеся на їх різновидах, то йдеться про атаки 3, 4 і 7 рівнів. Для більшості сайтів цього буде достатньо, тому що не всіх атакують по-крупному, проте дійсно серйозний захист від DDoS починається саме з платних тарифів Cloudflare.
Увімкніть режим «I’m Under Attack!»
У цьому режимі Cloudflare почне перевіряти кожного користувача, який намагається потрапити на сайт. Усі вони спочатку бачитимуть ось таке міжсторінкове повідомлення. Так алгоритмам компанії буде простіше відокремити шкідливий трафік від нормального.

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

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

Не забудьте вимкнути цей режим, коли атака закінчиться. Нема сенсу просто так ускладнювати відвідувачам доступ до сайту.
Якщо підключаєте Cloudflare під час DDoS-атаки
Ви зможете підключитися, але зловмисники вже знають IP-адресу вашого сервера, тому зможуть атакувати його безпосередньо.
Щоб якнайшвидше впоратися з атакою, напишіть у службу підтримки вашого провайдера хостингу. Нехай вони допоможуть відбити атаку на своїй стороні або перенесуть ваш сайт на сервер з іншою IP-адресою.
Окремий момент — перші 24 години після перемикання DNS-серверів (зазвичай менше) частина трафіку все одно йтиме через старі DNS-сервери, а значить захист Cloudflare працюватиме лише для половини запитів.
Налаштуйте правила доступу
З їх допомогою ви можете змусити відвідувачів проходити CAPTCHA при переході на сайт або взагалі заблокувати доступ до нього на основі регіону, типу запиту, IP-адреси, діапазону IP-адрес або User Agent.
У безкоштовному тарифі Cloudflare ви зможете створити лише п’ять правил. Для цього перейдіть у розділі «Security – Security rules», натисніть синю кнопку «Create rule» праворуч вгорі і виберіть «Custom rule».
Припустимо, ви з’ясували IP-адреси, з яких йде атака. Показуємо, як створити правило, яке заблокує доступ до сайту для однієї IP-адреси або діапазону адрес.

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

Далі будуть поля з деталями правила:
- 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 застосовуватиме, якщо запит відповідає умовам з правила:
- Block — заблокувати доступ.
- Challenge (CAPTCHA) — показувати капчу. Використовується сервіс Google reCAPTCHA.
- JS Challenge — показувати міжсторінкове повідомлення, як при включеній опції «I’m Under Attack!».
- Bypass — вимкнути перевірки з боку Cloudflare.
- Allow — дозволити повний доступ.
У нашому прикладі ми хочемо заблокувати трафік, тому вибираємо «Block».

Після створення правила залишається натиснути кнопку Deploy внизу сторінки. Зміни набудуть чинності негайно.
Як очистити кеш
Кешування на Cloudflare увімкнено за замовчуванням. Тому чистити кеш потрібно щоразу, коли ви щось змінюєте на сайті. Інакше після публікації змін відвідувачі ще якийсь час бачитимуть старий контент.
Для цього перейдіть в розділ «Caching – Configuration». Далі в першій опції натисніть «Custom Purge», щоб очистити кеш вибірково, або «Purge Everything», щоб очистити весь кеш на серверах Cloudflare.

Як покращити роботу окремих сторінок
У розділі «Rules» можна створювати правила для вхідного трафіку, щоб змінювати роботу окремих компонентів Cloudflare, коли запит задовольняє обраним умовам.
Для зручності в підрозділі «Rules – Overview» є кнопка «Templates» з варіантами корисних правил, які ви могли б створити для свого сайту. Для зручності розділ «Overview» розбитий на кілька секцій:
- Page Rules — дозволяє виконати одну або кілька дій, якщо запит підходить під заданий шаблон (старий спосіб налаштування правил, який частково включає функціонал з усіх попередніх підрозділів).
- Configuration Rules — дозволяє змінити поведінку сервісів Cloudflare для окремих запитів (наприклад, так можна встановити сильнішу фільтрацію ботів для однієї сторінки замість всього сайту).
- Transform Rules — дозволяє змінювати заголовки запиту/відповіді, а також змінювати URL із запиту (за аналогією з тим, як це робить mod_rewrite в Apache).
- Redirect Rules — дозволяє переадресовувати запити на інші URL-адреси (наприклад, зробити 301 або 302 редирект).
- Origin Rules — дозволяє змінювати у запиті заголовок Host та значення Server Name Indication (SNI), а також перенаправляти запити на інший порт, хостнейм або IP-адресу сервера.
- Cache Rules — дозволяє більш тонко налаштувати кешування (наприклад, вимкнути його на окремих сторінках сайту або вказати час зберігання кешу для різних сторінок).
- Compression Rules — дозволяє налаштувати стиснення, яке застосовується до відповідей на запити відвідувачів і ґрунтується на розширенні файлу або типі контенту.

Інтерфейс створення правил схожий у всіх підрозділах. На початковому екрані відображаються вже створені правила. Зліва від назви правила розташовані точки, щоб змінити його позицію. Праворуч — три крапки з меню, що випадає, де можна змінити або видалити правило.

Щоб створити нове правило, натисніть кнопку «Create rule» у верхній частині секції. Для прикладу створимо правило, яке застосує режим «Im Under Attack» тільки для URL входу в адмінку WordPress.
Це зручно в ситуаціях, коли ви бачите, що атакують лише одну сторінку, можна не включати жорстку перевірку для всього сайту, а застосувати спеціальний режим тільки для неї.
Перше поле — це назва правила. Воно потрібне суто для вашої зручності. У нашому випадку ми використовували «WordPress Admin Login».

Одразу нижче — блок «If incoming requests match …» («Якщо вхідні запити відповідають …»).
Спочатку треба обрати, до яких запитів має застосовуватися правило:
- Custom filter expression — запити, що відповідають зазначеним умовам;
- All incoming requests — всі вхідні запити.
Потім необхідно сформулювати правило за допомогою трьох полів:
- Field — параметр, який повинен перевірятися у запиті (у нашому випадку «URL Full» — повна адреса сторінки);
- Operator — як сприймати параметр з поля «Field» (точний збіг, починається з, закінчується на, містить і т.д.);
- Value — значення параметра з поля «Field».

Ще нижче блок «Then…» («Тоді…»). Тут треба вибрати, що має відбуватися із запитом, який підходить під вибрані умови.
Налаштування в цьому блоці сильно відрізнятимуться залежно від підрозділу. У випадку з Configuration rules тут буде список сервісів Cloudflare, які можна налаштувати за допомогою правил. Біля потрібного сервісу натисніть кнопку “Add”, щоб побачити додаткові поля.

У нашому прикладі ми вибрали режим «I’m Under Attack» та увімкнули його. Таким чином, для сторінки, вказаної в блоці «If incoming requests match…», фільтрація ботів буде на високому рівні.

Як видалити домен із Cloudflare
Вийдіть із налаштувань домену та відкрийте розділ «Domains», де знаходяться всі домени у вашому обліковому записі. У рядку з потрібним доменом натисніть три крапки праворуч та виберіть зі списку «Remove from Cloudflare».

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


Повільно завантажується сайт?
На нашому хостингу підтримка допоможе знайти та усунути причину: важкі файли, плагіни, неправильні налаштування хостинга — розберемося.
