Ukratko: Cloudflare prema vlastitim navodima od 21. listopada 2026., 03:02 UTC, ima aktivna zaštitna pravila protiv PHP2Shella, i za korisnike besplatnog paketa. Pravila smanjuju rizik za promet koji prolazi kroz Cloudflare. Ne djeluju ako je izvorni poslužitelj izravno dostupan i ne zamjenjuju PHP ažuriranje. Tko koristi Cloudflare, trebao bi provjeriti način rada pravila, zaštitu izvora i razinu zakrpe.
Povod: zaštita već prije zakrpe
Cloudflare je kod PHP2Shella bio neobično rano. Prema Cloudflare blogu zaštitna su pravila radila već nekoliko sati prije službene objave PHP ažuriranja u 14:00 UTC. Cloudflare je uz to izvijestio da je uočio pokušaje napada na korisnike te da su napadači mijenjali svoje obrasce kako bi zaobišli pravila.
Mnogi su operateri iz toga zaključili: „Mi smo iza Cloudflarea, dakle zaštićeni smo.“ To vrijedi samo djelomično. Ovaj članak objašnjava što pravila zaista pokrivaju. Opće odvagivanje između vatrozida i ažuriranja nudi članak WAF ili ažuriranje?.
Što je Cloudflare uveo protiv PHP2Shella
Prema navodima na Cloudflare blogu postoje tri sastavnice:
| Paket | Zaštita prema Cloudflareu | Što trebate učiniti |
|---|---|---|
| Free | nova pravila u Managed Free Ruleset, automatski aktivna | provjeriti da domena prolazi kroz Cloudflare |
| Pro, Business, Enterprise | odgovarajuća pravila u Managed Ruleset | osigurati da je ruleset postavljen na „Block“ |
| svi paketi | standardno pravilo u novom vatrozidu za odgovore | ništa ne isključivati, pratiti događaje |
Treća sastavnica je nova. Cloudflare je naziva „full transaction detection“: WAF promatra ne samo zahtjev nego i odgovor poslužitelja. Razlog prema Cloudflareu: sam zahtjev nije uvijek dovoljan da se napad pouzdano razlikuje od normalnog prometa. PHP2Shell je prva primjena ove funkcije u upravljanim pravilima.
Granice Cloudflare pravila
Koliko god pravila pomagala, imaju jasne granice koje Cloudflare djelomično i sam navodi:
- Samo promet preko Cloudflarea: Pravila provjeravaju ono što teče kroz Cloudflare. Ako je izvorni poslužitelj izravno dostupan na svojoj IP adresi, napadač može zaobići zaštitu.
- Nema poništavanja: Prema Cloudflareu pravilo na strani odgovora može zadržati odgovor, ali ne može poništiti ono što se na poslužitelju već dogodilo.
- Promjenjivi obrasci napada: Cloudflare pravila stalno prilagođava jer napadači mijenjaju svoje zahtjeve. Između nove varijante i novog pravila može postojati praznina.
- Nije zamjena za ažuriranje: Cloudflare izričito preporučuje ažurirati PHP unatoč WAF-u. Ni ažuriranje koda aplikacije ili dodataka ne otklanja ranjivosti.
- Poseban slučaj CVE-2026-115560: Prema Cloudflareovoj dopuni od 23. listopada pravilo ne djeluje ako je naziv za session upload progress u konfiguraciji promijenjen. Više o toj objavi na stranici CVE-2026-115560.
Što blokirani zahtjevi govore, a što ne
Mnogi korisnici nakon objave pogledaju svoje sigurnosne događaje i tamo nađu blokirane zahtjeve. To u prvom redu pokazuje samo da je Vaša domena provjeravana i da je pravilo djelovalo. Provala time nije dokazana. Obrnuto, prazan popis događaja nije otklanjanje uzbune: ako je napad išao izravno na izvorni poslužitelj ili prije 21. listopada, kod Cloudflarea se uopće ne pojavljuje.
Pouzdanija je usporedba s logovima samog web-poslužitelja. Zahtjevi koji tamo stižu, a ne potječu s Cloudflare adresa, upućuju na izravan pristup. Sigurnosno pohranite te logove od 20. listopada, kako preporučuje stručni tisak. Cloudflare uz to upozorava da ograničenja uploada mogu smanjiti rizik, ali ne zamjenjuju PHP ažuriranje.
Najčešća slabost iza Cloudflarea nije pravilo, nego put mimo njega: izvorni poslužitelj koji odgovara izravno na svojoj IP adresi ili putem nezaštićene poddomene.
Popis za provjeru za Cloudflare korisnike
Ove korake možete Vi ili Vaš pružatelj usluga obaviti u kratkom roku:
- Provjeriti paket i način rada pravila: Kod plaćenih paketa u nadzornoj ploči provjeriti je li Managed Ruleset aktivan u načinu „Block“.
- Pregledati sigurnosne događaje: U Security Events provjeriti pojavljuju li se blokirani zahtjevi. To pokazuje jesu li Vaše domene već bile meta.
- Proći DNS zapise: Svaki zapis koji pokazuje na web-poslužitelj, a ne prolazi kroz Cloudflare, mogući je zaobilazni put. Tipične su poddomene za staging, FTP ili poštu na istom poslužitelju.
- Zatvoriti izvor: Konfigurirati web-poslužitelj tako da HTTP i HTTPS prihvaća samo od Cloudflarea, primjerice vatrozidom s adresnim rasponima koje objavljuje Cloudflare ili putem tunela. Kako to općenito ide, opisuje članak Vatrozid za web-poslužitelje.
- Testirati izravan pristup: Izvana provjeriti odgovara li izvor bez Cloudflarea.
- Ažurirati PHP i ponovno pokrenuti: Pravila su druga linija. Prva je PHP na ispravljenom stanju uz ponovno pokretanje svih PHP procesa.
Za korak 5 dovoljan je bezopasan test koji traži samo zaglavlja. IP adresa je rezervirano mjesto za Vaš izvorni poslužitelj:
# Odgovara li izvorni poslužitelj izravno, mimo Cloudflarea?
curl -sI --resolve www.example.de:443:203.0.113.10 https://www.example.de/
Ako ovdje stigne uobičajen odgovor Vaše web-stranice, izvor je izravno dostupan i Cloudflare zaštita može se zaobići.
Kako PHP SOS konkretno pomaže?
- Provjera konfiguracije: Provjeravamo način rada pravila, DNS zapise i izravan pristup izvornom poslužitelju.
- Zaštita izvora: Web-poslužitelj ograničavamo na promet preko Cloudflarea, bez prekida Vaše web-stranice.
- Zakrpa i dokaz: Ažuriramo PHP, ponovno pokrećemo sve procese i dokumentiramo stanje.
- Analiza događaja: Pregledavamo blokirane zahtjeve i uspoređujemo ih s logovima poslužitelja.
Kako kombiniramo WAF pravila i prijelazne mjere, opisuje WAF i virtualno krpanje.
Zaključak
Cloudflare pravila protiv PHP2Shella stvarna su dobit, osobito jer su stigla rano i u besplatnom paketu. Ipak su štit ispred vrata, a ne brava na vratima. Tko je iza Cloudflarea, trebao bi osigurati tri stvari: pravila u načinu Block, nijedan put mimo proxyja i PHP na ispravljenom stanju.
Česta pitanja
Jesam li s besplatnim Cloudflare paketom zaštićen od PHP2Shella?
Prema Cloudflareu i korisnici besplatnog paketa automatski dobivaju zaštitna pravila. Ona međutim djeluju samo za promet koji prolazi kroz Cloudflare i ne zamjenjuju PHP ažuriranje na poslužitelju. Ako je izvorni poslužitelj izravno dostupan, zaštita ne djeluje.
Što moram postaviti kod plaćenih Cloudflare paketa?
Cloudflare korisnicima paketa Pro, Business i Enterprise savjetuje da provjere radi li Managed Ruleset u načinu Block. Ako je postavljen samo na bilježenje, napadi se doduše bilježe, ali se ne zaustavljaju.
Što je full transaction detection?
Nova funkcija Cloudflare WAF-a koja ne promatra samo zahtjev nego i odgovor poslužitelja. Tako se može prepoznati ima li pokušaj napada učinak, a odgovor se može zadržati. Što je na poslužitelju već izvršeno, prema Cloudflareu ne poništava.
Pokriva li Cloudflare i CVE-2026-115560?
Cloudflare je svoj članak 23. listopada dopunio podacima o CVE-2026-115560. Prema Cloudflareu pripadajuće pravilo ne djeluje ako je u PHP konfiguraciji promijenjen naziv za session upload progress. Neovisno o tome php.net preporučuje postaviti session.upload_progress.enabled=0.