Jak wykonać konfigurację Rate Limiting w Cloudflare dla WordPress

Spis treści

Wprowadzenie – Ochrona przed atakami przez Rate Limiting

Rate Limiting to jedna z najskuteczniejszych metod ochrony przed atakami siłowymi (brute force) i atakami typu DDoS. W przypadku stron WordPress, które są częstym celem ataków, odpowiednia konfiguracja limitów żądań może znacząco zwiększyć bezpieczeństwo witryny.

Cloudflare oferuje potężne narzędzia do Rate Limiting, które pozwalają na precyzyjne kontrolowanie liczby żądań do Twojej strony. W tym przewodniku przeprowadzę Cię przez kompletny proces konfiguracji ochrony Rate Limiting dla WordPress, od podstawowych ustawień po zaawansowane reguły chroniące najważniejsze elementy Twojej witryny.

Konfiguracja konta Cloudflare

Krok 1: Wymagania wstępne

Zanim rozpoczniesz konfigurację Rate Limiting, upewnij się, że:

  • Masz aktywne konto Cloudflare (plan Free wystarczy na podstawowe funkcje)
  • Twoja domena jest już dodana do Cloudflare
  • DNS rekordy są poprawnie skonfigurowane (chmura pomarańczowa włączona)
  • Strona WordPress działa przez Cloudflare proxy

Krok 2: Weryfikacja konfiguracji

Sprawdź, czy ruch na Twoją stronę przechodzi przez Cloudflare:

  1. Wejdź na swoją stronę i otwórz narzędzia deweloperskie w przeglądarce
  2. Sprawdź nagłówki odpowiedzi – powinien pojawić się nagłówek CF-RAY
  3. Możesz też użyć narzędzia online do sprawdzenia nagłówków HTTP

Ustawienia podstawowego Rate Limiting

Dostęp do ustawień Rate Limiting

  1. Zaloguj się do panelu Cloudflare
  2. Wybierz swoją domenę z listy
  3. Nawiguj do Security → WAF → Rate Limiting rules

Tworzenie pierwszej reguły Rate Limiting

Kliknij Create rate limiting rule i skonfiguruj podstawowe ustawienia:

Reguła podstawowa dla całej witryny:

  • Nazwa reguły: Basic Site Protection
  • When incoming requests match... (URI Path): * (wszystkie ścieżki)
  • And the rate is more than... 100 requests per 10 minutes
  • Then... Challenge (CAPTCHA)
  • Period: 10 minutes

Dostosowanie limitów do rodzaju witryny:

Dla małego bloga lub strony firmowej:

  • 100 żądań na 10 minut
  • Akcja: Challenge
  • Okres blokady: 10 minut

Dla sklepu WooCommerce:

  • 300 żądań na 10 minut
  • Akcja: Challenge
  • Okres blokady: 5 minut

Dla portalu z dużym ruchem:

  • 500-1000 żądań na 10 minut
  • Akcja: Challenge
  • Okres blokady: 5 minut

Tworzenie zaawansowanych reguł

Reguły oparte na metodach HTTP

Różne metody HTTP wymagają różnych limitów:

Ograniczenie żądań POST:

  • When incoming requests match... (Method): POST
  • And the rate is more than... 20 requests per minute
  • Then... Block

Ograniczenie żądań PUT/DELETE:

  • When incoming requests match... (Method): PUT, DELETE
  • And the rate is more than... 5 requests per minute
  • Then... Block

Reguły oparte na ścieżkach URL

Chroniące konkretne sekcje witryny:

Ochrona formularzy kontaktowych:

  • When incoming requests match... (URI Path): /contact*
  • And the rate is more than... 5 requests per minute
  • Then... Challenge

Ochrona wyszukiwarki:

  • When incoming requests match... (URI Path): /?s=*
  • And the rate is more than... 30 requests per minute
  • Then... Challenge

Reguły oparte na nagłówkach

Wykrywanie botów i podejrzanych klientów:

Blokowanie bez User-Agent:

  • When incoming requests match... (Header): User-Agent equals empty
  • And the rate is more than... 10 requests per minute
  • Then... Block

Ochrona panelu logowania WordPress

Panel logowania WordPress to najczęstszy cel ataków brute force. Wymaga szczególnej ochrony:

Reguła ochrony wp-login.php:

  • When incoming requests match... (URI Path): /wp-login.php
  • And the rate is more than... 5 requests per minute
  • Then... Block
  • Period: 15 minutes

Reguła ochrony wp-admin:

  • When incoming requests match... (URI Path): /wp-admin/*
  • And the rate is more than... 30 requests per minute
  • Then... Challenge
  • Period: 10 minutes

Ochrona przed atakami na XML-RPC:

  • When incoming requests match... (URI Path): /xmlrpc.php
  • And the rate is more than... 2 requests per minute
  • Then... Block
  • Period: 30 minutes

Dodatkowe zabezpieczenia panelu logowania:

  • Zmień domyślny URL logowania WordPress
  • Włącz uwierzytelnianie dwuskładnikowe (2FA)
  • Ogranicz liczbę prób logowania w ustawieniach WordPress
  • Wyłącz XML-RPC jeśli nie jest używany

Zabezpieczenie API i endpointów

WordPress REST API i inne endpointy wymagają specjalnej ochrony:

Ochrona REST API:

  • When incoming requests match... (URI Path): /wp-json/*
  • And the rate is more than... 60 requests per minute
  • Then... Challenge
  • Period: 5 minutes

Ochrona endpointów WooCommerce:

  • When incoming requests match... (URI Path): /wp-json/wc/*
  • And the rate is more than... 120 requests per minute
  • Then... Challenge
  • Period: 5 minutes

Ochrona przed atakami na GraphQL (jeśli używany):

  • When incoming requests match... (URI Path): /graphql
  • And the rate is more than... 30 requests per minute
  • Then... Challenge
  • Period: 5 minutes

Reguły dla autoryzowanych żądań:

Dla żądań z kluczami API lub tokenami uwierzytelniającymi:

  • When incoming requests match... (Header): Authorization exists
  • And the rate is more than... 1000 requests per minute
  • Then... Challenge

Jeśli interesuje Cię szersze zabezpieczenie WordPressa, polecam przeczytać artykuł: Bezpieczeństwo WordPress: Checklista 2025, gdzie znajdziesz kompleksowe podejście do ochrony swojej witryny.

Monitorowanie i analiza ataków

Skuteczna ochrona wymaga ciągłego monitorowania i analizy:

Analiza logów Cloudflare:

  1. Nawiguj do Analytics & Logs → Overview
  2. Filtruj zdarzenia według Firewall Events
  3. Sprawdzaj regularnie zdarzenia typu Rate Limited
  4. Analizuj wzorce ataków i dostosowuj reguły

Kluczowe metryki do monitorowania:

  • Liczba zablokowanych żądań (Rate Limited)
  • Najczęściej atakowane endpointy
  • Źródła ataków (kraje, IP)
  • Czasy szczytowe ataków
  • Typy ataków (brute force, DDoS, skanowanie)

Tworzenie alertów bezpieczeństwa:

  1. Nawiguj do Notifications → Manage
  2. Utwórz nową regułę powiadomień
  3. Wybierz Firewall Events jako źródło
  4. Skonfiguruj alerty dla Rate Limiting
  5. Ustaw kanały powiadomień (email, webhook)

Analiza skuteczności reguł:

Regularnie oceniaj skuteczność swoich reguł:

  • Sprawdzaj fałszywie pozytywne blokady
  • Analizuj przyczyny przekroczenia limitów
  • Dostosowuj progi w zależności od ruchu
  • Twórz wyjątki dla zaufanych źródeł

Integracja z Wordfence i innymi wtyczkami

Rate Limiting Cloudflare doskonale współpracuje z wtyczkami bezpieczeństwa WordPress:

Konfiguracja Wordfence z Cloudflare:

  1. Zainstaluj i aktywuj wtyczkę Wordfence
  2. Przejdź do Wordfence → Firewall Options
  3. Włącz opcję Enable Cloudflare integration
  4. Skonfiguruj API klucz Cloudflare
  5. Ustaw synchronizację reguł firewalla

Dodatkowe wtyczki bezpieczeństwa:

Sucuri Security:

  • Monitorowanie zmian plików
  • Skanowanie malware
  • Ochrona przed atakami
  • Integracja z Cloudflare

iThemes Security:

  • Ukrywanie panelu logowania
  • Ograniczenie prób logowania
  • Monitorowanie 404 błędów
  • Tworzenie plików .htaccess

Unikanie konfliktów między zabezpieczeniami:

  • Nie ustawiaj zbyt restrykcyjnych limitów w obu systemach
  • Monitoruj fałszywe pozytywne blokady
  • Twórz białe listy dla zaufanych IP
  • Testuj reguły na środowisku staging

Testowanie skuteczności ochrony

Regularne testowanie zapewnia, że Twoja ochrona działa poprawnie:

Testowanie podstawowych reguł:

  1. Użyj narzędzia do testowania obciążenia (np. Apache Bench)
  2. Wyślij wiele żądań do chronionego endpointu
  3. Sprawdź, czy żądania są blokowane po przekroczeniu limitu
  4. Weryfikuj czas trwania blokady

Testowanie panelu logowania:

  1. Próbkuj wielokrotne logowania z błędnym hasłem
  2. Sprawdź, czy po przekroczeniu limitu pojawi się blokada
  3. Weryfikuj, czy blokada dotyczy tylko logowania
  4. Testuj dostęp do innych części witryny

Narzędzia do testowania:

Apache Bench (ab):

Podstawowe narzędzie do testowania obciążenia:

  • Instalacja: sudo apt-get install apache2-utils
  • Użycie: ab -n 100 -c 10 https://twojadomena.pl/

curl:

Do testowania pojedynczych żądań:

  • Testowanie logowania: curl -X POST https://twojadomena.pl/wp-login.php
  • Sprawdzanie nagłówków: curl -I https://twojadomena.pl/

Online Load Testing Tools:

  • Loader.io
  • BlazeMeter
  • K6 Cloud

Monitorowanie podczas testów:

  • Obserwuj logi Cloudflare w czasie rzeczywistym
  • Sprawdzaj metryki Analytics
  • Monitoruj wydajność serwera
  • Rejestruj wyniki testów

Podsumowanie – Zwiększenie bezpieczeństwa witryny

Skonfigurowany Rate Limiting w Cloudflare to potężna bariera ochronna dla Twojej strony WordPress. Pamiętaj o tych kluczowych zasadach:

Checklista optymalnej konfiguracji:

Podstawowe ustawienia:

  • Skonfiguruj podstawową regułę dla całej witryny
  • Dostosuj limity do rodzaju i wielkości witryny
  • Włącz ochronę panelu logowania
  • Zabezpiecz kluczowe endpointy API

Zaawansowane reguły:

  • Stwórz reguły oparte na metodach HTTP
  • Ogranicz dostęp do krytycznych ścieżek URL
  • Wykrywaj podejrzane nagłówki
  • Twórz wyjątki dla zaufanych źródeł

Monitorowanie i utrzymanie:

  • Regularnie analizuj logi bezpieczeństwa
  • Ustaw alerty o podejrzanej aktywności
  • Testuj skuteczność reguł
  • Aktualizuj konfigurację w miarę potrzeb

Najczęstsze błędy i jak ich unikać:

Błąd #1: Zbyt restrykcyjne limity

Rozwiązanie: Zacznij od łagodnych limitów i stopniowo je zaostrzaj

Błąd #2: Brak monitorowania

Rozwiązanie: Skonfiguruj alerty i regularnie sprawdzaj logi

Błąd #3: Ignorowanie fałszywych pozytywów

Rozwiązanie: Twórz białe listy i dostosowuj reguły

Błąd #4: Brak testowania

Rozwiązanie: Regularnie testuj skuteczność ochrony

Podsumowanie

Rate Limiting w Cloudflare to niezbędny element ochrony nowoczesnej strony WordPress. Prawidłowo skonfigurowany system limitów żądań chroni przed najczęstszymi atakami, jednocześnie nie wpływając negatywnie na doświadczenie prawdziwych użytkowników.

Pamiętaj – bezpieczeństwo to proces, nie jednorazowe zadanie. Regularne monitorowanie, testowanie i dostosowywanie reguł zapewni Twojej witrynie optymalną ochronę przed rosnącymi zagrożeniami cybernetycznymi.

Jeśli chcesz dowiedzieć się więcej o kompleksowym zabezpieczeniu WordPressa, polecam nasz artykuł o konfiguracji Cloudflare dla WordPress, który zawiera dodatkowe wskazówki i najlepsze praktyki.

Potrzebujesz pomocy w konfiguracji Rate Limiting w Cloudflare? Chętnie pomożemy Ci wdrożyć optymalne ustawienia ochrony dla Twojej strony WordPress, które zapewnią bezpieczeństwo bez utraty wydajności. Skontaktuj się z nami, aby uzyskać profesjonalne wsparcie w zabezpieczaniu witryny.