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

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

Що всередині

  1. Що таке Cloudflare
  2. Як працює Cloudflare
  3. Як підключити Cloudflare до сайту
  4. Як працювати з DNS-записами
  5. Як налаштувати HTTPS
  6. Як захистити сайт від DDoS-атак
  7. Як очистити кеш
  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 натисніть кнопку «Start for free» на титульному банері. Якщо у вас банер выглядає інакше, спрацюють також кнопки «Sign up» або «Log in» в правому верхньому куті.

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

Створіть акаунт з вашою електронною поштою в якості логіна та надійним паролем. Вимоги до паролю: мінімум 8 символів, 1 цифра, 1 спеціальний символ (наприклад, $, !, @, %, &), без пробелу на початку і в кінці.

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

Відкриється домашня сторінка вашого акаунту. Натисніть на верхній панелі кнопку «Add» та оберіть з випадаючого списку варіант «Existing domain».

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

На наступному екрані введіть ваш домен без www і без протоколу (https://). Трохи нижче оберіть один з варіантів:

  • Quick scan for DNS records — просканувати DNS-записи;
  • Manually enter DNS records — вручну ввести DNS-записи;
  • Upload a DNS zone file — завантажити файл із DNS-зоною.

Перший варіант зручний тим, що Cloudflare сам знайде DNS-записи на вашому домені та створить їх на сервісі. Це заощадить час. Але все рівно краще перевірити, чи всі записи знайшлися. Можливо, якісь з них не знайшлися і треба буде створити їх вручну.

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

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

Далі оберіть тарифний план. Безкоштовний буде в самому низу сторінки. Клацніть по ньому, щоб він виділився синім, далі натисніть «Continue».

Тарифи Cloudflare

Наступна сторінка — розділ «Overview» в пункті керування доменом. Тут відображається загальна інформація про роботу сервісів Cloudflare. На скриншоті нижче виділений статус підключення Cloudflare для домену. В нашому прикладі він «неактивний» (vashdomen.tk is not active on Cloudflare yet). Це нормально для тільки що доданих доменів.

Розділ «Overview» в пункті керування доменом в Cloudflare

Заждіть трохи, поки запуститься сканер DNS-записів. Це відбудеться автоматично, нічого натискати не треба. Дочекайтеся, поки сканер завершить роботу і знайде всі записи, які зможе. Екран з активним сканером буде виглядати ось так:

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

В результаті ви побачите таблицю з усіма DNS-записами, які Cloudflare зміг знайти. Краще перевірте на старих неймсерверах, чи всі записи на місці. Рапто що, прямо тут можна додати або відредагувати запис. Коли запевнитеся, що все в порядку, натисніть «Continue to activation».

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

На наступному екрані ви знов побачите розділ «Overview». Прокрутіть його вниз і знайдіть крок №3 — Update your nameservers. Там будуть вказані неймсервери Cloudflare, які треба вказати в налаштуваннях вашого домену. Це робиться на боці компанії, де ви реєстрували домен.

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

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

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

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

Статус підключення Cloudflare

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

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

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

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

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

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

Для прикладу створимо А-запис для субдомена «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.
Як додати піддомен на Cloudflare

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

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

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

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

Як встановити SSL-сертифікат Let’s Encrypt

Подивитися статус шифрування можна в розділі SSL/TLS. В нашому прикладі видно, що з’єднання на етапі від відвідувача до Cloudflare захищене (стоїть замочок), а на етапі від Cloudflare до хостингу — ні. Щоби змінити режим, натисніть поруч зі схемою синю кнопку «Configure».

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

На следующей странице нажмите «Select» в блоке «Custom SSL/TLS».

Кнопка «Custom» в блоке «Сustom SSL/TLS»

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

Режими шифрування з'єднання в налаштуваннях Cloudflare

Не використовуйте режим «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»

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

Як включити режим 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 увімкнено за замовчуванням. Тому чистити кеш потрібно кожен раз, коли ви щось міняєте на сайті. Інакше після публікації змін відвідувачі ще якийсь час будуть бачити старий контент.

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

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

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

В розділі «Rules» ви можете створювати правила для вхідного трафіку, щоби змінювати роботу окремих компонентів Cloudflare, коли запит задовільняє обраним умовам. Для зручності розділ розбитий на декілька підрозділів:

  • 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 — дозволяє налаштувати стискання, яке застосовується до відповідей на запити відвідувачів і базується на розширенні файлу чи типі контенту.
  • Page Rules — дозволяє виконати одну чи декілька дій, якщо запит підходить під заданий шаблон (старий спосіб налаштування правил, який частково включає в себе функціонал з усіх минулих підрозділів).

Безкоштовний тариф дозволяє створювати максимум 10 правил в кожному з підрозділів. Виняток — підрозділ «Page Rules», в ньому вийде створити максимум 3 правила.

В підрозділі «Templates» ви знайдете заготовки правил для редиректу з WWW на без WWW, редиректу з HTTP на HTTPS, налаштування кешування в різних ситуаціях, змінення URL для різних країн та пристроїв, і також ще багато чого корисного.

Настройка Cloudflare: розділ «Rules – Templates»

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

Cloudflare настройка: раздел «Configuration Rules» с одним созданным правилом

Щоби створити нове правило, натисніть синю кнопку «Create rule» у верхній частині підрозділу. Для прикладу створимо правило, яке застосує підсилену перевірку на ботів до сторінки входу в адмінку WordPress.

Перше поле — це назва правила. Воно потрібне суто для вашої зручності. У нашому випадку ми використали «WordPress Admin Login».

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

Одразу нижче — блок «If incoming requests match…» («Якщо вхідні запити відповідають…»). 

Спочатку треба обрати, до яких запитів має застосовуватися правило:

  • Custom filter expression — запити, що відповідають вказаним умовам;
  • All incoming requests — всі вхідні запити.

Потім треба сконструювати правило за допомогою трьох полів: 

  • Field — параметр, який має перевірятися в запиті (в нашому випадку «URL Full» — повна адреса сторінки); 
  • Operator — як сприймати параметр з поля «Field» (точне співпадіння, починається з, закінчується на, містить тощо);
  • Value — значення параметру з поля «Field».
Настройка клаудфлер: конструктор умов для правила

Ще нижче — блок «Then…» («Тоді…»). Тут треба обрати, що має відбуватися із запитом, який відповідає обраним умовам. 

Налаштування в цьому блоку будуть сильно відрізнятися в залежності від підрозділу «Rules». У випадку з «Configuration rules» тут буде список сервісів Cloudflare, які можна налаштувати за допомогою правил. Поряд із потрібним сервісом натисніть кнопку «Add», щоби побачити додаткові поля.

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

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

Cloudflare настройка: опция «Security Level» в действиях для правила

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

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

Как удалить сайт из Cloudflare

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

Как отключить Cloudflare

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

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