„Cloudflare WAF“: nemokamas planas, taisyklės ir kada jo neužtenka
Dauguma Lietuvos įmonių svetainę prie „Cloudflare“ prijungia dėl greičio ir nemokamo SSL sertifikato. Oranžinis debesėlis DNS nustatymuose dažnai sukuria įspūdį, kad svetainė jau „apsaugota WAF“. Iš dalies tai tiesa, bet tik iš dalies.
Šiame straipsnyje apžvelgiame, ką „Cloudflare WAF“ (web aplikacijų ugniasienė) duoda nemokamame plane, kokias penkias taisykles verta susikurti pirmą dieną ir kada nemokamo plano nebeužtenka. Duomenys patikrinti pagal „Cloudflare“ dokumentaciją 2026-10-18.
Trumpas atsakymas
- Nemokamai gaunate: bazines valdomas taisykles kritinėms spragoms, 5 savas taisykles, 1 užklausų ribojimo taisyklę ir neribotą DDoS apsaugą.
- Visaverčio WAF negaunate: plačios „Cloudflare Managed Ruleset“ ir „OWASP Core Ruleset“ taisyklės prasideda nuo „Pro“ plano (20 USD per mėn.).
- „Enterprise“ – kai svarbus tikslumas: botų įvertinimas, ML atakų aptikimas, lankstus užklausų ribojimas ir 24/7 pagalba. Kaina sutartinė, mokama tik už švarų srautą.
- Didžiausia rizika ne planas, o konfigūracija: jei serverio IP adresas pasiekiamas tiesiogiai, bet kokį WAF galima apeiti.
1. Ką „Cloudflare WAF“ duoda nemokamai?
Valdomos taisyklės. Nemokamame plane pagal nutylėjimą veikia „Cloudflare Free Managed Ruleset“ [1]. Tai nedidelis taisyklių rinkinys, kurį „Cloudflare“ papildo, kai pasirodo plačiai išnaudojamų kritinių spragų (pvz., 2026 m. buvo pridėtos taisyklės „React“ / „Next.js“ ir „WordPress“ spragoms) [2]. Pilnas „Cloudflare Managed Ruleset“ ir „OWASP Core Ruleset“ (ModSecurity CRS atitikmuo) prieinami tik nuo „Pro“ plano [1].
Savos taisyklės (custom rules). Nemokamame plane jų galima turėti 5. Taisyklėse galima tikrinti kelią, šalį, IP adresą, antraštes, žinomus botus, bet negalima naudoti reguliariųjų išraiškų (regex leidžiamas nuo „Business“) [3].
Užklausų ribojimas (rate limiting). Viena taisyklė, skaičiuojama tik pagal IP adresą, laikotarpis ir blokavimo trukmė – tik 10 sekundžių [4]. Tinka apsaugoti prisijungimo formą ar API nuo grubaus perrinkimo, bet ne nuo lėtų atakų.
DDoS apsauga. Neribota DDoS apsauga 3–7 OSI lygmenyse veikia visuose planuose, įskaitant nemokamą [5]. Tai stipriausia nemokamo plano dalis: tokio masto apsaugos savo serveryje neįsirengsite.
Nutekėjusių slaptažodžių aptikimas. Nemokamame plane veikia laukas „Password Leaked“: „Cloudflare“ patikrina, ar prisijungiant naudojamas slaptažodis yra žinomuose nutekėjimuose [6].
Botai. Nemokamas „Bot Fight Mode“ stabdo paprastus botus iš debesijos tiekėjų ir „headless“ naršykles [7]. Apie jo apribojimus – 3 skyriuje.
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Kaina [8] | 0 USD | 20 USD/mėn. (metinis), 25 USD (mėnesinis) | 200 USD/mėn. (metinis), 250 USD (mėnesinis) | Sutartinė, pagal švarų srautą [17] |
| Valdomos taisyklės [1] | Free Managed Ruleset | + Cloudflare Managed, OWASP Core Ruleset | + Cloudflare Managed, OWASP Core Ruleset | + jautrių duomenų aptikimas |
| Savos taisyklės [3] | 5, be regex | 20, be regex | 100, su regex | 1000, su regex |
| Užklausų ribojimas [4] | 1 taisyklė, 10 s, tik IP | 2 taisyklės, iki 1 min., tik IP | 5 taisyklės, iki 10 min. | Iki 100 taisyklių; su priedu – pagal antraštes, slapukus, JA3/JA4 |
| Botai [7] | Bot Fight Mode | Super Bot Fight Mode | Super Bot Fight Mode + analitika | Bot Management: botų balas, JA3/JA4 [18] |
| Atakų įvertinimas (ML) [9] | Nėra | Nėra | Tik klasė (cf.waf.score.class) |
Pilnas balas + SQLi, XSS, RCE balai |
| Saugumo įvykiai [10] | Tik imtis (sampled) | Visi | Visi + eksportas | Visi + eksportas, analitika 90 d., Logpush į SIEM |
| POST kūno laukai savose taisyklėse [19] | Nėra | Nėra | Nėra | Taip, iki 128 KB |
| DDoS apsauga [5] | Neribota | Neribota | Neribota | Neribota, už atakos srautą nemokama [17] |
2. Penkios taisyklės, kurias verta susikurti pirmą dieną
Penkių savų taisyklių nedaug, todėl kiekviena turi uždengti realią riziką. Žemiau pateikiame taisykles, kurias dažniausiai rekomenduojame mažoms ir vidutinėms svetainėms. Jas rasite „Cloudflare“ skydelyje: Security → WAF → Custom rules → Create rule → Edit expression.
1. Administravimo sritis tik iš jūsų IP
Veiksmas: Block (arba Managed Challenge, jei IP adresas kinta). Pavyzdys
„WordPress“ svetainei, admin-ajax.php paliekamas, nes jį naudoja viešoji svetainės
dalis:
(starts_with(http.request.uri.path, "/wp-admin")
or http.request.uri.path eq "/wp-login.php")
and http.request.uri.path ne "/wp-admin/admin-ajax.php"
and not ip.src in {203.0.113.10}
2. Jautrūs failai ir nenaudojami galiniai taškai
Veiksmas: Block. Užklausos į .git, .env ar
xmlrpc.php yra vienas dažniausių automatinių skenerių radinių, kuriuos matome DAST
skenavimuose:
http.request.uri.path contains "/.git"
or http.request.uri.path contains "/.env"
or http.request.uri.path eq "/xmlrpc.php"
3. Iššūkis lankytojams ne iš Lietuvos
Veiksmas: Managed Challenge. Tinka, jei klientai yra Lietuvoje. Žinomi botai (pvz., „Googlebot“) praleidžiami, todėl SEO nenukenčia. Tokią taisyklę naudojame ir šioje svetainėje:
(ip.src.country ne "LT") and (not cf.client.bot)
4. Nutekėję slaptažodžiai prisijungiant
Veiksmas: Managed Challenge. Jei prisijungiama su slaptažodžiu iš žinomo nutekėjimo, lankytojas turi įrodyti, kad nėra botas. Tai stabdo didelę dalį „credential stuffing“ atakų [6]:
cf.waf.credential_check.password_leaked
5. Užklausų ribojimas prisijungimui ar API
Tai atskira „Rate limiting rules“ taisyklė, ne savų taisyklių limitas. Mūsų svetainėje visi
/api/ keliai (formos, analitika) ribojami iki 10 užklausų per 10 sekundžių vienam IP:
Kai užklausa atitinka: starts_with(http.request.uri.path, "/api/")
Skaičiuoti pagal: IP
Riba: 10 užklausų per 10 sekundžių
Veiksmas: Block, 10 sekundžių
Taisykles laikykite kode, ne tik skydelyje. Mes visą „Cloudflare“ zoną (DNS, WAF, užklausų ribojimą) valdome per „Terraform“: pakeitimai peržiūrimi prieš įdiegiant ir prireikus atstatomi per kelias sekundes.
3. Kada nemokamo plano nebeužtenka?
Turite prisijungimą, mokėjimus ar asmens duomenis
„Free Managed Ruleset“ dengia tik plačiai išnaudojamas kritines spragas. Bendrų SQL injekcijų, XSS ar failų įkėlimo atakų prieš jūsų aplikaciją jis nesustabdys taip, kaip „Cloudflare Managed Ruleset“ ir „OWASP Core Ruleset“ („Pro“ planas) [1]. Jei svetainėje tvarkomi klientų duomenys, 20 USD per mėnesį yra mažiausia kaina už visavertes valdomas taisykles.
Turite API ar mobiliąją aplikaciją
Nemokamo „Bot Fight Mode“ negalima išjungti atskiriems keliams: jo neapeina nei savos WAF taisyklės su Skip, nei „Page Rules“, o dokumentacija perspėja, kad jis gali stabdyti API ir mobiliųjų aplikacijų srautą [7]. Jei integracijos su partneriais ar mobilioji aplikacija pradėjo gauti klaidų – pirmiausia patikrinkite šį nustatymą. „Pro“ plano „Super Bot Fight Mode“ veikia per taisyklių variklį ir palaiko išimtis [7].
Jus atakuoja lėtai
Nemokamas užklausų ribojimas mato tik 10 sekundžių langą [4]. Botas, kuris prisijungti bando kartą per kelias sekundes iš daugybės IP adresų, šios ribos niekada nepasieks. Ilgesni langai ir skaičiavimas ne tik pagal IP prieinami mokamuose planuose.
Reikia ištirti incidentą
Nemokamame plane saugumo įvykiai rodomi tik kaip imtis (angl. sampled logs): ne kiekvienas užblokuotas ar praleistas įvykis matomas [10]. Kai reikia atsakyti, kas tiksliai įvyko, kurie prašymai praėjo ir nuo kada – to gali neužtekti. NIS2 subjektams tai ypač aktualu.
Serverio IP adresas pasiekiamas tiesiogiai
Dažniausia klaida, kurią randame: svetainė eina per „Cloudflare“, bet serveris priima užklausas iš bet kurio IP adreso. Užpuolikui pakanka rasti tikrąjį IP (istoriniai DNS įrašai, el. pašto antraštės, subdomenai be „Cloudflare“) ir WAF bei DDoS apsauga nebegalioja. „Cloudflare“ rekomenduoja [11]:
- „Cloudflare Tunnel“ – serveriui nereikia viešo IP adreso [12];
- Authenticated Origin Pulls – serveris priima tik „Cloudflare“ sertifikatu pasirašytus prisijungimus [13];
- serverio ugniasienėje leisti tik „Cloudflare“ IP adresus. Dokumentacija pažymi, kad vien to neužtenka [14], todėl derinkite su vienu iš ankstesnių būdų.
Patikrinti paprasta: jei ši komanda grąžina svetainės turinį, WAF galima apeiti.
curl -sk --resolve jusudomenas.lt:443:SERVERIO_IP https://jusudomenas.lt/ | head
4. Kada reikia „Enterprise“ plano?
„Pro“ ir „Business“ planai perkami savarankiškai su kortele, o „Enterprise“ yra sutartinis planas („Cloudflare“ jį vadina „Externa“ paketais [17]). Tai ne tik daugiau taisyklių: keičiasi pats apsaugos tikslumas.
Ką „Enterprise“ duoda saugumui?
- Botų valdymas pagal balą. „Bot Management“ kiekvienai užklausai priskiria balą (1–99) ir JA3/JA4 TLS „pirštų atspaudus“ [18]. Galima griežtai blokuoti aiškius botus prisijungimo ar kainų puslapiuose, o tikriems pirkėjams nerodyti jokių iššūkių. Nemokamas „Bot Fight Mode“ tokio tikslumo neturi.
- Mašininio mokymosi atakų aptikimas. Pilnas WAF atakos balas ir atskiri SQLi, XSS bei RCE balai [9]. Jie pagauna atakų variacijas, kurioms dar nėra parašo taisyklės.
- Lankstus užklausų ribojimas. Iki 100 taisyklių, o su „Advanced Rate Limiting“ priedu srautą galima skaičiuoti ne tik pagal IP, bet ir pagal sesijos slapuką, antraštę, ASN ar JA3/JA4 [4]. Būtent tai stabdo paskirstytas „credential stuffing“ atakas iš tūkstančių IP adresų, kurių nemokamas planas nemato.
- POST užklausų kūno tikrinimas. Tik „Enterprise“ plane savose taisyklėse galima tikrinti užklausos kūno turinį, pvz., blokuoti konkretų JSON lauką ar parametrą API užklausoje [19]. Valdomos taisyklės „Enterprise“ plane tikrina iki 128 KB kūno, o „Pro“ ir „Business“ planuose numatytoji riba mažesnė ir didinama tik per „Cloudflare“ pagalbą [1]. Ilgesnis kūnas nukerpamas, todėl ataka, paslėpta toliau nuo pradžios, lieka nepatikrinta.
- 1000 savų taisyklių su regex [3] ir visi saugumo įvykiai su 90 dienų analitika [10]. Incidentą galima ištirti, o ne spėlioti iš imties.
- Logpush į jūsų SIEM. „Cloudflare“ skydelyje saugumo įvykiai matomi iki 31 dienos, analitika – iki 90 dienų [10], o užklausų antraštės ir slapukai žurnaluose atsiranda tik juos sukonfigūravus kaip papildomus laukus [20]. „Logpush“ nuolat siunčia HTTP užklausų ir saugumo įvykių žurnalus į jūsų SIEM ar saugyklą, kur juos saugote tiek, kiek reikia. Reguliuojamoms organizacijoms tai būtina: DORA ICT rizikos valdymo standartai reikalauja registruoti prieigos ir tinklo srauto įvykius, pačiai nusistatyti saugojimo terminą ir apsaugoti žurnalus nuo pakeitimo ar ištrynimo [21]. Vien su „Cloudflare“ skydeliu šių reikalavimų neįvykdysite.
- 24/7/365 pagalba el. paštu ir skubios pagalbos telefonu, 100 % prieinamumo garantija [17].
Kaip skaičiuojama kaina?
Viešos kainos nėra: ji derinama individualiai ir labai skiriasi nuo savarankiškų planų. „Cloudflare“ nurodo, kad „Externa“ paketuose mokama tik už švarų srautą: DDoS atakos srautas neapmokestinamas, nėra mokesčių už atskiras WAF taisykles ar prieigos sąrašus [17]. Mūsų patirtimi, kainą daugiausia lemia teisėto srauto apimtis ir domenų skaičius.
Kas yra švarus srautas? Sutartyje paprastai skaičiuojami du srautai, kurie sumuojasi: CDN srautas (visas teisėtas srautas per „Cloudflare“) ir srautas, kurį tikrina „Bot Management“. Srautas, kurį „Cloudflare“ užblokavo savo tinklo krašte (angl. edge), į juos neįskaičiuojamas. Todėl net per labai didelę DDoS ar botų ataką sąskaita nepadidėja: mokate tik už švarų srautą, kuris pasiekė jūsų paslaugas. Prieš derantis verta susidaryti tikslų teisėto srauto vaizdą ir nuspręsti, kuriems domenams „Enterprise“ apsauga tikrai reikalinga.
Kam „Enterprise“ verta?
- E. prekybai, finansų ir kitoms paslaugoms su prisijungimu, kur botai gremžia kainas ar testuoja nutekėjusius slaptažodžius, o kiekvienas klaidingai užblokuotas klientas kainuoja pardavimus.
- Organizacijoms, kurioms NIS2 ar DORA reikalauja gebėti ištirti incidentus ir saugoti žurnalus savo SIEM sistemoje.
- Aplikacijoms su API, kur atakos slepiasi POST užklausų kūne.
- Įmonėms su daug domenų ir aplikacijų, kurioms reikia vieningos politikos ir 24/7 pagalbos.
Svarbu: „Enterprise“ duoda įrankius, bet ne rezultatą. Botų balo ribas, užklausų ribojimo charakteristikas ir ML balo slenksčius reikia sukalibruoti pagal jūsų srautą, kitaip arba blokuosite klientus, arba mokėsite už funkcijas, kurios veikia tik stebėjimo režimu. Tinkamai suderinta „Enterprise“ apsauga yra kur kas efektyvesnė už bet kurį savarankišką planą.
Ar jūsų WAF tikrai veikia?
Nemokamas DAST skenavimas parodys, kokias spragas mato automatiniai skeneriai. Jei jų randame, padėsime sukonfigūruoti „Cloudflare“ ar „F5“ WAF taip, kad jos būtų pridengtos, kol programuotojai jas ištaiso.
Registruotis konsultacijai5. „Cloudflare“ ar savas WAF (ModSecurity, Coraza)?
Alternatyva debesijos WAF – ugniasienė jūsų pačių serveryje: ModSecurity („Apache“, „Nginx“) arba Coraza (su ModSecurity suderinamas WAF, parašytas Go kalba, naudojamas su „Caddy“, „Envoy“ ir kt.) [15]. Abu veikia su tuo pačiu OWASP Core Rule Set taisyklių rinkiniu [16].
- Savas WAF tinka, kai duomenys negali keliauti per užsienio tiekėją, kai reikia pilnų žurnalų ir taisyklių kontrolės arba kai aplikacija veikia vidiniame tinkle.
- Savas WAF netinka kaip DDoS apsauga: atakos srautas vis tiek pasiekia jūsų serverį ir interneto kanalą. Be to, OWASP CRS reikia derinti, kitaip jis blokuos teisėtus naudotojus (angl. false positives).
- Dažnai geriausia derinti: „Cloudflare“ – DDoS, botams ir bazinėms taisyklėms, savas WAF – tiksliam aplikacijos srauto filtravimui šalia serverio.
6. WAF nepakeičia spragų taisymo
WAF yra skydas, o ne vaistas. Jis naudingas, kai spragą reikia pridengti iš karto, kol ją taiso programuotojai (angl. virtual patching), ir kai norima atsikratyti automatinio srauto. Bet autorizacijos klaidų (IDOR), verslo logikos spragų ar nesaugių API WAF nemato, nes techniškai tokios užklausos atrodo kaip teisėtos. Jas randa tik įsilaužimų testavimas. Jei spragą įmanoma ištaisyti kode ar serverio konfigūracijoje – taisykite ten.
Dažni klausimai
Ar „Cloudflare WAF“ nemokamas?
Iš dalies. Nemokamame plane veikia „Free Managed Ruleset“, 5 savos taisyklės, 1 užklausų ribojimo taisyklė ir neribota DDoS apsauga. Platesnės valdomos taisyklės prieinamos nuo „Pro“ plano (20 USD per mėnesį, mokant už metus) [8].
Kiek savų WAF taisyklių leidžia „Cloudflare“?
Free – 5, Pro – 20, Business – 100, Enterprise – 1000. Regex taisyklėse leidžiamas nuo „Business“ plano [3].
Ar nemokamas „Cloudflare“ planas apsaugo nuo DDoS atakų?
Taip, DDoS apsauga 3–7 lygmenyse neribota visuose planuose [5]. Tačiau ji neveikia, jei užpuolikas žino tikrąjį serverio IP adresą ir jungiasi tiesiogiai (žr. 3 skyrių).
Kiek kainuoja „Cloudflare Enterprise“?
Viešos kainos nėra, ji sutartinė. Mokama tik už švarų srautą: srautas, kurį „Cloudflare“ užblokavo savo tinklo krašte, įskaitant DDoS atakas, neapmokestinamas [17]. Mūsų patirtimi, kainą daugiausia lemia teisėto srauto apimtis (CDN ir „Bot Management“ srautai sumuojasi) ir domenų skaičius.
Kada nemokamo „Cloudflare“ plano neužtenka?
Kai svetainėje yra prisijungimas, mokėjimai ar API: reikia platesnių valdomų taisyklių, ilgesnio užklausų ribojimo lango, botų apsaugos su išimtimis API keliams ir visų saugumo įvykių žurnalų.
Šaltiniai
- Cloudflare Docs — WAF Managed Rules
- Cloudflare Docs — WAF changelog
- Cloudflare Docs — Custom rules (plan limits)
- Cloudflare Docs — Rate limiting rules (availability)
- Cloudflare Docs — DDoS Protection
- Cloudflare Docs — Leaked credentials detection
- Cloudflare Docs — Bot Fight Mode
- Cloudflare — Plans (kainos)
- Cloudflare Docs — WAF attack score
- Cloudflare Docs — Security Events
- Cloudflare Docs — Protect your origin server
- Cloudflare Docs — Cloudflare Tunnel
- Cloudflare Docs — Authenticated Origin Pulls
- Cloudflare Docs — Cloudflare IP addresses
- GitHub — OWASP Coraza WAF
- OWASP CRS — Core Rule Set
- Cloudflare — Enterprise „Externa“ paketai
- Cloudflare Docs — Bot Management (Enterprise)
- Cloudflare Docs — http.request.body.raw (užklausos kūno laukai)
- Cloudflare Docs — Logpush custom fields
- Deleguotasis reglamentas (ES) 2024/1774 (DORA ICT rizikos valdymas), 12 str. „Registravimas“