Wolniejsze działanie e-Sklepu spowodowane nadmierną aktywnością botów – jak wykorzystać Cloudflare, by temu zaradzić?

Wstęp

Nadmierny ruch generowany przez boty może znacząco spowolnić działanie Twojego sklepu internetowego, co wpływa na doświadczenie klientów i może prowadzić do spadków w sprzedaży. Cloudflare znane jest ze swoich rozwiązań w zakresie bezpieczeństwa sieci i wydajności, oferuje narzędzia do ochrony przed botami, w tym opcję znaną jako Super Bot Fight Mode. Ta funkcja jest przeznaczona do identyfikacji i łagodzenia ruchu botów, co może znacząco poprawić bezpieczeństwo i wydajność Twojego sklepu. Poniżej znajduje się przewodnik, który krok po kroku pokazuje jak skonfigurować tę funkcję.

Rejestracja i podstawowa konfiguracja Cloudflare

Rejestracja na Cloudflare i dodanie witryny.

Krok 1. Załóż konto na Cloudflare

Przejdź na stronę Cloudflare i załóż darmowe konto. Proces rejestracji jest prosty i szybki: wystarczy podać adres e-mail (1), ustawić hasło (2), potwierdzić, że jesteś człowiekiem (3) oraz kliknąć w przycisk Sing up (4).


Kiedy utworzysz konto, otrzymasz automatyczną wiadomość (na adres mailowy podany podczas rejestracji), aby go potwierdzić.

Krok 2. Dodanie strony do Cloudflare

Dodaj swoją stronę. Po zalogowaniu się do Cloudflare, kliknij przycisk „Add site” znajdujący się w prawym górnym rogu strony.

Zostaniesz przekierowany do dalszej części konfiguracji. Wprowadź adres URL (1) swojego sklepu i kliknij „Continue(2).

Wybór planu. Wybierz plan Pro (1), który jest wymagany do zaawansowanej ochrony przed botami (dzięki Super Bot Fight Mode) i kliknij przycisk Continue (2).

Po przeanalizowaniu przez Cloudflare adresów DNS domeny, zlokalizowane zostaną adresy serwera, a następnie Cloudflare przepisze je na swoje adresy.

Symbol pomarańczowej chmurki oznacza, że ruch został przekierowany na sieć Cloudflare i będzie „zamaskowany” adresem Cloudflare. Powodować to będzie, iż rzeczywiste adresy naszego serwera nie będą widoczne dla ruchu przychodzącego. Upewnij się, czy wyświetlona lista rekordów DNS jest poprawna. Zaktualizuj swoje adresy serwerów DNS w panelu administracyjnym u dostawcy domeny, aby wskazywały odpowiednie serwery nazw Cloudflare.

Konfiguracja Super Bot Fight Mode

Super Bot Fight Mode to funkcja dostępna w Cloudflare (w płatnych planach Pro, Business, Enterprise), która pozwala na zaawansowane zarządzanie ruchem botów na Twojej stronie internetowej. Wraz ze wzrostem liczby botów i ich zaawansowania, konieczne staje się zastosowanie narzędzi do ich kontrolowania. Dzięki tej funkcji możesz chronić swoją witrynę przed szkodliwym ruchem oraz ograniczyć wpływ na zasoby serwera, a z drugiej strony zezwalać na działanie botów, które są niezbędne do działania Twojej strony (np. boty wyszukiwarek).

Krok 1: Logowanie do panelu Cloudflare. Aby rozpocząć, zaloguj się na swoje konto Cloudflare. Następnie wybierz domenę, dla której chcesz skonfigurować Super Bot Fight Mode.

Krok 2: Przejdź do zakładki Security. Po wybraniu domeny, przejdź do zakładki Security w menu nawigacyjnym po lewej stronie. W tej sekcji możesz zarządzać ustawieniami zabezpieczeń swojej witryny.

Krok 3: Przejdź do konfiguracji WAF. W sekcji Security znajdziesz opcję WAF. Kliknij na nią, a następnie uzupełnij odpowiednie reguły (patrz: wskazówka poniżej).

Wskazówka
(http.request.uri.path wildcard r”/transaction-report/*”) or (http.request.uri.path eq „/sync”) or (http.request.uri.path contains „SignIn”) or (http.request.uri.path contains „Liquid_”) or (http.request.uri eq „/xhr?__action=svc/ping”) or (http.request.uri.path eq „/iSklep24Service.asmx”) or (http.request.uri.path eq „/xml”)

Krok 4: Włączanie Super Bot Fight Mode. W sekcji Security znajdziesz opcję Bots. Kliknij na nią, a następnie znajdź sekcję Super Bot Fight Mode. Tam będziesz mógł wybrać poziom ochrony botów.

Krok 5: Wybierz poziom ochrony. Cloudflare oferuje dwa główne tryby działania Super Bot Fight Mode:

  • Definitely Automated  – blokuje wszystkie boty, które są wyraźnie rozpoznawane jako zautomatyzowane,
  • Likely Automated  – blokuje boty, które z dużym prawdopodobieństwem są zautomatyzowane, ale nie są jednoznacznie rozpoznawane.

Krok 6: Monitorowanie ruchu Events.

W sekcji Events, po włączeniu Super Bot Fight Mode, możesz monitorować ruch botów w swojej witrynie. Cloudflare dostarcza szczegółowe raporty, które pokazują liczbę zablokowanych botów oraz ich źródło. Dzięki temu masz pełną kontrolę nad tym, co dzieje się na Twojej stronie.

 

Super Bot Fight Mode to potężne narzędzie w arsenale zabezpieczeń Cloudflare. Dzięki niemu możesz skutecznie chronić swoją stronę przed niepożądanym ruchem, jednocześnie pozwalając na działanie tych botów, które są potrzebne do jej funkcjonowania. Włączenie tej funkcji jest proste i intuicyjne, a odpowiednio skonfigurowana strona będzie działać sprawniej i bezpieczniej.

Wskazówka
Pamiętaj, aby regularnie monitorować ruch botów i dostosowywać ustawienia Super Bot Fight Mode w zależności od zmieniających się potrzeb Twojej witryny.

Jak wykorzystać Cloudflare, aby uchronić się przed atakiem DDoS?

W tym  rozdziale skupimy się na dwóch kluczowych funkcjach Cloudflare, które mogą pomóc w ochronie Twojej witryny przed atakami DDoS: Custom rules w Web Application Firewall (WAF) oraz rate limiting rules. Dzięki odpowiedniemu skonfigurowaniu tych narzędzi, możesz znacząco zwiększyć bezpieczeństwo witryny i minimalizować ryzyko ataków.

Custom rules w Cloudflare WAF pozwalają na tworzenie i dostosowywanie reguł, które precyzyjnie chronią aplikacje internetowe przed różnymi zagrożeniami, takimi jak ataki brute-force, próby wycieków danych czy nieautoryzowane próby dostępu. Dzięki temu możesz zyskać pełną kontrolę nad tym, jakie działania są blokowane lub dopuszczane w witrynie.

Rate limiting rules to narzędzie, które pozwala na kontrolowanie liczby żądań przychodzących na Twoją stronę internetową w określonym czasie. Ograniczając liczbę żądań z jednego źródła, można skutecznie zapobiegać przeciążeniu serwera oraz chronić witrynę przed atakami typu DDoS.

W dalszej części przedstawimy, jak skonfigurować te narzędzia w Cloudflare, aby zapewnić maksymalne bezpieczeństwo Twojej witryny oraz jakie korzyści niesie ze sobą ich wykorzystanie.

Krok 1: Dodanie  reguły Rate limiting rules (reguły ograniczania przepustowości) w Cloudflare to narzędzie służące do kontrolowania liczby żądań przychodzących na Twoją stronę internetową w określonym czasie. Pomaga chronić Twoją aplikację przed nadmiernym obciążeniem, atakami typu DDoS (Distributed Denial of Service) oraz innymi złośliwymi działaniami. Przejdź do konfiguracji WAF. W sekcji Security znajdziesz opcję WAF(1). Kliknij na nią, a następnie na kartę Rate limiting rules(2) uzupełnij odpowiednie pola po kliknięciu w Create rule(3).

Krok 2. Na karcie Security > WAF > Rate limiting rules > Create rule  wykonaj poniższe kroki:

  1. Nadaj nazwę tworzonej reguły w Rule name (required) np. rate limiting over 50
  2. W sekcji Expression Preview wklej treść: (starts_with(http.request.uri.path, „/”))
  3. W polu With the same characteristicswskaż IP
  4. W sekcji When rate exceeds…, dla Requests (required) ustaw: 50 oraz w Period (required) wybierz: 1 minute
  5. W polu Then take action…, wskaż: Managed Challenge (Presents an interactive or non-interactive challenge to the client)
  6. W polu Place at, Select order wskaż: First.

Krok 3. Dodanie Custom rules w Cloudflare Web Application Firewall (WAF) czyli reguł, które można samodzielnie tworzyć i dostosowywać, aby lepiej chronić swoje aplikacje internetowe przed różnymi zagrożeniami. Służą one do:

  • ochrony przed atakami,
  • zarządzania ruchem,
  • personalizacji odpowiedzi,
  • wykluczania specyficznych adresów IP lub krajów.

Przejdź do Security > WAF(1) > Custom rules(2) i wprowadź poniższe reguły(3):

Wskazówka
Kolejność wprowadzania reguł jest ważna! Aby uzyskać optymalny efekt, zastosuj tą samą hierarchię, którą prezentujemy poniżej.

Reguła 1. Wymagane do prawidłowego działania Comarch e-Sklep:

  1. Rule name (required) transaction-report sync liquid sync statuscake exclude bot fight mode
  2. Expression Preview(http.request.uri.path wildcard r”/transaction-report/*”) or (http.request.uri.path eq „/sync”) or (http.request.uri.path contains „SignIn”) or (http.request.uri.path contains „Liquid_”) or (http.request.uri eq „/xhr?__action=svc/ping”) or (http.request.uri.path eq „/iSklep24Service.asmx”) or (http.request.uri.path eq „/xml”)
  3. Then take action…Skip, Skips WAF features or disables specific Cloudflare security products for matching requests. Cannot skip IP Access Rules
  4. Log matching requests True
  5. When disabled, matched requests will not appear under Security overview
  6. WAF components to skip All remaining custom rules | All rate limiting rules | All managed rules | All Super Bot Fight Mode Rules
  7. More components to skip Zone Lockdown | User Agent Blocking | Browser Integrity Check | Hotlink Protection | Security Level | Rate limiting rules (Previous version) | Managed rules (Previous version)
  8. Place at ,Select order: First.

Reguła 2. Ochrona przed nadmiernym ruchem po towary na adres Comarch e-Sklep /produkty,2:

  1. Rule name (required) Protect produkty
  2. Expression Preview (http.request.uri.path eq „/produkty,2”)
  3. Then take action… JS Challenge, Presents a JavaScript challenge to the client making the request
  4. Place at, Select order: Custom | Select which rule this will fire after: transaction-report sync liquid sync statuscake exclude bot fight mode.

Reguła 3. Ochrona przed błędnymi request’ami od botów, skryptów:

  1. Rule name (required) Requested Header Null
  2. Expression Preview (any(http.request.headers[„x-requested-with”][*] eq „”)) or (http.user_agent eq „”)
  3. Then take action…, Interactive Challenge, Will present visitors with an interactive challenge. The use of this action is discouraged, consider using the more user-friendly Managed Challenge instead
  4. Place at, Select order:  Custom,  Select which rule this will fire after: Protect produkty.

Reguła 4. Ochrona przed botami:

  1. Rule name (required) Challenge for Unknown Bots
  2. Expression Preview (not cf.client.bot)
  3. Then take action… Managed Challenge, Presents an interactive or non-interactive challenge to the client
  4. Place at, Select order: Custom, Select which rule this will fire after: Requested Header Null.

Reguła 5. Ochrona przed botami – user agent:

  1. Rule name (required) Agressive crawlers
  2. Expression Preview  (http.user_agent contains „yandex”) or (http.user_agent contains „sogou”) or (http.user_agent contains „semrush”) or (http.user_agent contains „ahrefs”) or (http.user_agent contains „baidu”) or (http.user_agent contains „python-requests”) or (http.user_agent contains „neevabot”) or (http.user_agent contains „CF-UC”) or (http.user_agent contains „sitelock”) or (http.user_agent contains „crawl” and not cf.client.bot) or (http.user_agent contains „bot” and not cf.client.bot) or (http.user_agent contains „Bot” and not cf.client.bot) or (http.user_agent contains „Crawl” and not cf.client.bot) or (http.user_agent contains „spider” and not cf.client.bot) or (http.user_agent contains „mj12bot”) or (http.user_agent contains „ZoominfoBot”) or (http.user_agent contains „mojeek”) or (ip.geoip.asnum in {135061 23724 4808} and http.user_agent contains „siteaudit”)
  3. Then take action… Managed Challenge, Presents an interactive or non-interactive challenge to the client
  4. Place at, Select order: Custom, Select which rule this will fire after: Ochrona przed botami.

Reguła 6. Ochrona dla połączeń zagranicznych:

  1. Rule name (required) GEOIP not PL
  2. Expression Preview (not ip.geoip.country eq „PL”)
  3. Then take action… JS Challenge, Presents a JavaScript challenge to the client making the request
  4. Place at, Select order: Custom, Select which rule this will fire after: Ochrona przed botami – user agent.

Krok 4. Dodanie Cache Rules w Caching czyli reguł, których mechanizm, umożliwia precyzyjne zarządzanie buforowaniem treści na serwerach Cloudflare, a tym samym optymalizację wydajności witryny oraz zmniejszenie obciążenia serwera źródłowego. Reguły caching w Cloudflare służą do:

  • Poprawy wydajności poprzez szybsze dostarczanie treści użytkownikom,
  • Redukcji obciążenia serwera głównego,
  • Precyzyjnego sterowania procesem buforowania na podstawie określonych kryteriów,
  • Zapewnienia elastyczności w zarządzaniu treściami statycznymi i dynamicznymi.

Przejdź do Caching > Cache Rules > Create rule i wprowadź poniższą regułę:

Reguła 7. Ochrona przed nadmiernym ruchem do pobrania zdjęć:

  1. Rule name (required) cache img
  2. Custom filter expression zaznaczamy
  3. Expression Preview (http.request.uri.path wildcard „/img/*”)
  4. Then… Eligible for cache
  5. Place at First

Czy ten artykuł był pomocny?