Нежеланият трафик към сайта е този, който не е от легитимни посетители и е с недобронамерена цел. Това може да е съмнителен трафик от определена държава, в която знаете, че нямате клиенти или съдържанието на сайта Ви не е насочено към дадената държава.
В случай че към сайта Ви има нежелан трафик от различни IP адреси и/или държави, можете да активирате защита на достъпа до сайта в Cloudflare чрез режим “Under Attack”.
Ако забележите, че сайтът е посещаван от държави, за които очевидно не предлагате съдържание, може да проверите кой точно ресурс привлича този трафик и да ограничите достъпа до него чрез специални правила в защитната стена (Firewall) на Cloudflare.
Активиране и конфигуриране на Cloudflare
1. Добавяне на домейн в Cloudflare
- Създайте акаунт в Cloudflare https://dash.cloudflare.com/sign-up;
- Изберете Domains → Onboard a domain и въведете домейна, който искате да защитите;
- Изберете подходящ Cloudflare план (Free планът е достатъчен за базова защита).
2. Проверка и настройка на DNS записите
Cloudflare автоматично ще сканира съществуващите DNS записи на домейна:
- Проверете дали всички важни DNS записи (A, AAAA, CNAME, MX) са налични;
- Уверете се, че записите (A/CNAME за сайта) са със статус Proxied (това означава, че трафикът ще преминава през Cloudflare);
- MX записите (имейл) не трябва да бъдат проксирани.
3. Смяна на DNS сървърите (Nameservers)
Cloudflare ще предостави два NS, които трябва да зададете за домейна. Необходимо е технологично време до 48 часа, за да се опресни DNS информацията и след това Cloudflare ще започне да обслужва трафика автоматично.
4. SSL / HTTPS конфигурация
Препоръчителна настройка:
SSL/TLS → Overview → Encryption mode: Full (strict)
Тази конфигурация криптира връзката между посетителя и Cloudflare и между Cloudflare и хостинг сървъра. Осигурява най-високо ниво на сигурност и се изисква да има инсталиран валиден SSL сертификат, различен от self-signed.
За коректна работа на SSL Full (strict) и за предотвратяване на грешка ERR_TOO_MANY_REDIRECTS е необходимо сайтът да е конфигуриран да работи през криптирана връзка (HTTPS).
Активиране на JS Challenge защита за международния трафик
Cloudflare предлага механизъм за защита JS Challenge (JavaScript Challenge), който е ефективен за проверка на легитимността на посетителите преди те да имат достъп до сайта.
При този вид защита, посетителят не вижда класически CAPTCHA, а браузърът му автоматично изпълнява JavaScript скрипт, който проверява дали трафикът идва от реален браузър, а не от автоматизиран бот или скрипт.
Този механизъм е ефективен срещу автоматизиран трафик и ботове, като извършва проверка на браузъра без да изисква активно действие от страна на потребителя, което го прави по-ненатрапчив за легитимните посетители.
При използване на JS Challenge за международния трафик:
- се запазва нормално поведение за посетители от основните таргет държави;
- се добавя допълнително ниво на проверка за трафик от други страни – което намалява риска от автоматизирани атаки;
- реалният трафик от международни потребители, който премине проверката, ще може да достъпва сайта, докато повечето ботове няма да успеят да завършат проверката.
Как да активирате JS Challenge за международния трафик
- Влезте в Cloudflare Dashboard → Security → Security rules.
- Създайте правило с условие за Country не е България или друг таргетиран гео регион.
- В секцията Action изберете JS Challenge (или съответното действие, което изпълнява JavaScript проверка).
- Запазете и активирайте правилото.
- След публикуване, Cloudflare ще прилага JS Challenge само на международния трафик, а посетителите, които успешно преминат проверката, ще бъдат допуснати до сайта.
Изключване на легитимни ботове от JS Challenge
За да не бъде възпрепятстван достъпът на легитимни търсачки и услуги, като Googlebot, Bingbot и други разпознавани от Cloudflare ботове, е препоръчително да се създадат допълнителни Firewall правила с действие Allow, които да бъдат разположени преди правилото с JS Challenge.
По този начин:
- трафикът от валидни и верифицирани ботове няма да бъде подлаган на JavaScript проверка;
- индексирането на сайта няма да бъде засегнато;
- защитата чрез JS Challenge ще се прилага само за останалия трафик.
Активирането на Cloudflare и използването на защити като JS Challenge значително повишава сигурността на сайта срещу автоматизиран трафик, ботове и атаки. Прилагането на JS Challenge само за международния трафик позволява ефективно филтриране на нежелани заявки, без да се засяга достъпа на основната аудитория.
Under Attack режим
Under Attack режимът в Cloudflare активира защита на достъпа до сайта чрез прилагане на тест на посетителите. Тестът (challenge) се прилага при първо посещение чрез проверка на браузъра и наличието на активирани бисквитки и JavaScript. Тестът ще се приложи отново след определен период от време – този период се задава в настройките в Cloudflare в Challenge Passage.
Активирането на режим “Under Attack” може да се извърши през акаунта Ви в cloudflare.com.
След активиране на защитата, при достъп до сайта се зарежда междинна страница, на която се вижда съобщението „Checking your browser before accessing…„.
В рамките на 5 секунди Cloudflare анализира посещението. За да отчете посетителя като легитимен, в браузъра му е нужно да са активирани бисквитките и JavaScript поддръжката.
Веднъж преминал проверката, посетителят не се подлага на друга, докато не премине периодът, зададен в настройките на Challenge Passage в меню Firewall » Settings.
Филтриране на трафика към сайта (Firewall)
В случай че нежеланият трафик продължава, въпреки активираната защита „Under Attack“, можете да създадете филтриращи трафика правила в защитната стена на Cloudflare.
За да създадете правило в защитната стена, достъпете Firewall » Firewall Rules и изберете Create a Firewall rule.
Филтрирането на трафика се извършва на принципа: когато входящата заявка отговаря на условията в правилото (When incoming requests match…) – тогава приложи това действие (Then…).
Помощна информация за правилата: About Cloudflare Firewall Rules
Филтриране на международния трафик към сайта (без ботовете и БГ трафика)
В случай че желаете да ограничите международния трафик към сайта, може да приложите следните правила.
При прилагане на тези правила се блокира международния трафик към сайта, като той остава достъпен само за ботовете (Googlebot, Bingbot и т.н.) и за посещения от България.
За целта се създават две правила, в този ред.
1. Разрешаване на достъпа от ботове.
Попълнете име за правилото в Rule name, от падащото меню Field изберете Known bots и стойност (Value) On.
За действие, което да се приложи (Then…), изберете Allow.
По този начин трафикът ще бъде разрешен за всички познати ботове като Googlebot, Ahrefs и други. Важно е това правило да бъде поставено първо, за да може ботовете да бъдат допуснати до зареждане на сайта.
2. Блокиране на международния трафик.
Въведе име за правилото (Rule name), с което ще го различавате от останалите, например Block International.
Във Field изберете „Country„, в Operator изберете „does not equal“ и за Value „Bulgaria„.
За действие изберете „Block„
Запишете правилото с Deploy.
За опресняване на настройката по всички сървъри на Cloudflare може да е необходим период от 1 до 10 минути.
Филтриране на трафика от определени държави
В случай че сте установили държавата/държавите, за които искате да ограничите достъпа до сайта, може да приложите следните правила.
Във Field изберете „Country„, в Operator изберете „equals“ и във Value изберете желаната държава.
За действие изберете „Block„
Филтриране на достъпа до определени ресурси от сайта
В случай че сте установили нежелан трафик към точно определен ресурс от сайта, можете да блокирате достъпа само до този ресурс.
С помощта на логическите оператори AND и OR можете да създавате прецизни филтри, които да комбинират различни правила и условия.
Например можете да ограничите достъпа до определени ресурси от сайта, които се достъпват с определен тип заявка (GET, POST или друга) и имат определен уеб адрес.
Следният пример показва филтър, който блокира всички типове заявки, без GET, към ресурс, съдържащ в адреса си content.php.
Field: Request Method, Operator: “does not equal”, Value: GET AND URI contains content.php
Проверка дали нежеланият трафик е преустановен
През менюто Analytics в Cloudflare можете да проверявате обема на неутрализирания трафик към сайта. Ако нежеланият трафик е преустановен, можете да премахнете правилата и да деактивирате “Under Attack” режима.
В таб Security в раздел Threats by Country можете да видите броя на блокираните заявки по държави.
След като сте добавили някакво ограничение на достъпа до сайта, можете да следите обема на неутрализирания трафик за определен период от време например една или две седмици.
Когато обемът на блокираните заявки намалее значително за дадена държава, това може да означава, че нежеланият трафик е намалял или спрял. В този случай може да тествате, като деактивирате защитата и ограничаващите правила.