Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

Cloudflare WAF — ochrona strony przed atakami

Opublikowano: 9 kwietnia 2026 · Kategoria: Bezpieczeństwo

Cloudflare WAF (Web Application Firewall) to warstwa ochrony działająca przed Twoim serwerem — filtruje złośliwe żądania HTTP zanim dotrą do aplikacji. Wykrywa SQL Injection, XSS, brute force i znane exploity. W odróżnieniu od firewalla sieciowego, WAF rozumie protokół HTTP i może analizować treść requestów, nie tylko adresy IP. Oto jak go skonfigurować skutecznie.

WAF vs zwykły firewall — kluczowa różnica

Firewall sieciowy (iptables, UFW, grupy bezpieczeństwa chmurowe) operuje na warstwie 3/4 modelu OSI — blokuje lub przepuszcza pakiety na podstawie IP, portu i protokołu. WAF działa na warstwie 7 (aplikacji) — analizuje:

  • Treść URL i parametry zapytania (?id=1 UNION SELECT)
  • Nagłówki HTTP (User-Agent, Referer, Cookie, X-Forwarded-For)
  • Ciało żądania POST/PUT (dane formularzy, JSON payload)
  • Wzorce zachowania — częstotliwość requestów, sekwencje ataków

Cloudflare WAF jest dostępny już w planie Free (podstawowe reguły) i znacznie rozszerzony w planach Pro i Business.

Reguły zarządzane: OWASP i Cloudflare Managed

W panelu Cloudflare → Security → WAF → Managed Rules znajdziesz gotowe zestawy reguł:

  • Cloudflare Managed Ruleset — reguły Cloudflare pokrywające OWASP Top 10 (SQLi, XSS, RFI, LFI, SSRF) i znane exploity CMS (WordPress, Drupal, Joomla). Aktualizowane przez Cloudflare automatycznie.
  • Cloudflare OWASP Core Ruleset — oparty na projekcie OWASP ModSecurity Core Rule Set (CRS). Każda reguła ma wagę (score); żądania przekraczające próg są blokowane. Możesz ustawić próg: Low (60), Medium (40), High (25) — im niższy, tym więcej false positives.
  • Cloudflare Exposed Credentials Check — sprawdza czy loginy/hasła pojawiają się w znanych wyciekach danych (Credential Stuffing protection).

Włącz Cloudflare Managed Ruleset z akcją Managed Challenge zamiast Block — zmniejsza ryzyko false positives przy zachowaniu ochrony.

Custom Rules — expression builder

Własne reguły WAF tworzysz w Security → WAF → Custom Rules. Cloudflare oferuje expression builder (wizardowy) lub tryb edit expression (Wirefilter language). Przykłady przydatnych reguł:

# Blokuj ruch spoza Polski (jeśli serwujesz tylko lokalnych użytkowników)
# Expression builder: ip.geoip.country ne "PL"
(ip.geoip.country ne "PL")
Akcja: Block lub JS Challenge

# Zezwól adminowi WordPress tylko z konkretnego IP
(http.request.uri.path contains "/wp-admin" and ip.src ne 1.2.3.4)
Akcja: Block

# Blokuj znane złośliwe User-Agenty (scannery, narzędzia ataku)
(http.user_agent contains "sqlmap" or http.user_agent contains "nikto" or http.user_agent contains "masscan")
Akcja: Block

# Wymagaj challenge dla krajów wysokiego ryzyka na wrażliwych endpointach
(http.request.uri.path contains "/wp-login.php" and ip.geoip.country in {"CN" "RU" "KP"})
Akcja: Managed Challenge

Reguły są wykonywane od góry do dołu, zatrzymując się na pierwszym dopasowaniu. Ustaw reguły allow dla zaufanych IP na górze, żeby nie blokować własnej pracy.

Rate Limiting — ochrona przed brute force

Rate Limiting (Security → WAF → Rate Limiting Rules) pozwala ograniczyć liczbę requestów z jednego IP w danym przedziale czasu. Przykładowa konfiguracja dla ochrony logowania:

# Reguła Rate Limiting dla wp-login.php
Warunek: http.request.uri.path eq "/wp-login.php"
         AND http.request.method eq "POST"

Charakterystyka: IP (ip.src)
Próg: 5 requestów
Czas: 60 sekund (okno zliczania)
Czas blokady: 600 sekund (10 minut)
Akcja: Block (lub Managed Challenge dla mniejszego ryzyka)

Inne sensowne limity:

Endpoint Próg Okno Akcja
/wp-login.php POST 5 req 60 s Block 10 min
/xmlrpc.php 10 req 60 s Block 1h
/api/* ogólnie 100 req 60 s Managed Challenge
Cała strona (DDoS Layer 7) 1000 req 10 s Block 5 min

Bot Fight Mode i Super Bot Fight Mode

Security → Bots → Bot Fight Mode to globalne włączenie ochrony przed botami. Cloudflare przypisuje każdemu żądaniu Bot Score (1-99): im niższy, tym bardziej bot. Humans mają score 80-99. Znane dobre boty (Google, Bing) są whitelisted.

  • Bot Fight Mode (Free) — challenguje oczywiste boty, bazuje na reputacji IP i prostym fingerprinting. Wystarczy dla większości stron.
  • Super Bot Fight Mode (Pro+) — zaawansowany fingerprinting przeglądarki (JS challenge ukryty), machine learning, blokowanie "likely automated" requestów. Może blokować zbyt agresywnie — monitoruj Security Analytics.
  • Bot Score w Custom Rules — możesz używać cf.bot_management.score w expression builder: (cf.bot_management.score lt 30) → Block.

Challenge vs Block — kiedy używać czego

Cloudflare oferuje kilka akcji dla dopasowanych reguł:

Akcja Co robi Kiedy używać
Block HTTP 403, żądanie odrzucone natychmiast Znane złośliwe IP, scannery, pewne ataki SQLi/XSS
JS Challenge Ukryty test JS (~1s), automatyczny dla przeglądarek Podejrzany ruch, boty bez JS engine
Managed Challenge Cloudflare wybiera JS lub CAPTCHA zależnie od ryzyka Domyślna akcja dla większości reguł — bezpieczna
Skip Pomiń kolejne reguły (allow) Zaufane IP, własne API, monitoring uptime
Log Tylko loguj, nie blokuj Testowanie nowych reguł przed produkcyjnym wdrożeniem

Dobra praktyka: nowe reguły najpierw wdrażaj z akcją Log przez kilka dni, obserwuj Security Analytics, a dopiero potem zmień na Block lub Challenge.

Security Analytics — analiza logów

Security → Security Analytics to centrum dowodzenia WAF. Pokazuje:

  • Timeline zablokowanych/challengowanych requestów (granulacja do 1 minuty)
  • Rozkład według kraju, ASN, reguły WAF, Bot Score, akcji
  • Szczegóły każdego zdarzenia: IP, User-Agent, URI, która reguła zadziałała, rayID
  • False positives — możesz bezpośrednio z Security Analytics dodać wyjątek (Skip rule)

Filtry Security Analytics: Action = Block + Bot Score < 30 + zakres czasowy 24h — szybko pokażą czy masz aktywny atak.

Cloudflare WAF vs ModSecurity na VPS

Cecha Cloudflare WAF ModSecurity (VPS)
Lokalizacja Edge (przed serwerem) Na serwerze (po dotarciu ruchu)
Obciążenie serwera Brak (Cloudflare blokuje przed dotarciem) Obciąża CPU serwera przy każdym requestcie
Aktualizacje reguł Automatyczne przez Cloudflare Ręczna aktualizacja OWASP CRS lub płatne subskrypcje
DDoS protection Wbudowana (L3/L4/L7) Brak — ModSecurity nie chroni przed wolumentrycznym DDoS
Kontrola Ograniczona (Cloudflare jako pośrednik) Pełna kontrola nad regułami i logami
Koszt Free plan: podstawowe reguły; Pro ($20/msc): pełny WAF Bezpłatny (OWASP CRS) lub płatne zestawy reguł

Dla hostingu współdzielonego i większości VPS — Cloudflare WAF jest wygodniejszy i skuteczniejszy. ModSecurity ma sens gdy nie możesz używać Cloudflare (własne IP, compliance) lub potrzebujesz pełnej kontroli nad regułami i logami.

Najczęstsze pytania

Czym różni się Cloudflare WAF od zwykłego firewalla? +
Zwykły firewall sieciowy (np. iptables, UFW) filtruje ruch na poziomie IP i portów — blokuje lub przepuszcza pakiety TCP/UDP. WAF (Web Application Firewall) działa na poziomie HTTP — analizuje treść żądań, nagłówki, URL, parametry POST i cookies. WAF może wykryć SQL Injection wbudowany w parametr ?id=1 OR 1=1, podczas gdy firewall sieciowy tego nie zobaczy (port 443 jest otwarty i ruch wygląda normalnie). Cloudflare WAF łączy oba podejścia: jest też DDoS proxy na poziomie sieci.
Czy Cloudflare WAF spowalnia stronę? +
Praktycznie nie — Cloudflare WAF działa w ich globalnej sieci edge (300+ lokalizacji), więc żądanie jest sprawdzane przed dotarciem do Twojego serwera. Opóźnienie samej inspekcji WAF wynosi typowo 1-3 ms. Cloudflare równocześnie cachuje statyczne zasoby i terminuje TLS bliżej użytkownika, więc netto strona zwykle jest SZYBSZA z Cloudflare niż bez.
Jak działa Bot Fight Mode i czy blokuje Google? +
Bot Fight Mode wykrywa i challenguje boty na podstawie zachowania (fingerprint przeglądarki, wzorce requestów, reputacja IP). Google, Bing i inne wiarygodne crawlery mają whitelisted IP ranges i są weryfikowane przez reverse DNS — Cloudflare ich nie blokuje. Super Bot Fight Mode (plany Pro+) ma bardziej agresywne reguły, ale nadal respektuje legalne crawlery. Zawsze można sprawdzić co jest blokowane w Security Analytics → Bot Score.
Jaka jest różnica między challenge a block w WAF? +
Block (akcja BLOCK) natychmiast zwraca błąd 403 — żądanie jest odrzucone bez żadnej szansy dla użytkownika. Challenge (JS Challenge lub Managed Challenge) wyświetla stronę weryfikacyjną: JS Challenge to ukryty test JavaScript (1-2 sekundy, automatyczny), Managed Challenge to CAPTCHA dla podejrzanych requestów. Challenge jest lepszy gdy nie jesteś pewien — prawdziwy użytkownik go przejdzie, bot nie. Block stosuj dla znanych złośliwych IP lub wyraźnych ataków.

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.