Stručně: Cloudflare má podle vlastních údajů od 21. října 2026, 03:02 UTC, aktivní ochranná pravidla proti PHP2Shell, i pro zákazníky v bezplatném tarifu. Pravidla snižují riziko pro provoz, který prochází přes Cloudflare. Nepůsobí, pokud je origin server dostupný přímo, a aktualizaci PHP nenahrazují. Kdo používá Cloudflare, měl by zkontrolovat režim pravidel, ochranu originu a stav záplat.
Výchozí bod: ochrana ještě před záplatou
Cloudflare byl u PHP2Shell neobvykle rychlý. Podle blogu Cloudflare běžela ochranná pravidla již několik hodin před oficiálním vydáním aktualizací PHP ve 14:00 UTC. Cloudflare dále uvedl, že u zákazníků pozoroval pokusy o útok a že útočníci své vzorce měnili, aby pravidla obešli.
Mnoho provozovatelů z toho usoudilo: „Jsme za Cloudflare, takže jsme chráněni.“ To platí jen zčásti. Tento článek vysvětluje, co pravidla skutečně pokrývají. Obecné zvážení mezi firewallem a aktualizací nabízí článek WAF, nebo aktualizace?.
Co Cloudflare proti PHP2Shell nasadil
Podle údajů v blogu Cloudflare existují tři stavební kameny:
| Tarif | Ochrana podle Cloudflare | Co byste měli udělat |
|---|---|---|
| Free | nová pravidla v Managed Free Ruleset, automaticky aktivní | ověřit, že doména běží přes Cloudflare |
| Pro, Business, Enterprise | odpovídající pravidla v Managed Ruleset | zajistit, aby byl ruleset nastaven na „Block“ |
| všechny tarify | standardní pravidlo v nové Response Firewall | nic nevypínat, sledovat události |
Třetí stavební kámen je nový. Cloudflare ho nazývá „full transaction detection“: WAF sleduje nejen požadavek, ale i odpověď serveru. Důvod podle Cloudflare: Samotný požadavek ne vždy stačí k tomu, aby bylo možné útok spolehlivě odlišit od běžného provozu. PHP2Shell je první nasazení této funkce ve spravovaných pravidlech.
Hranice pravidel Cloudflare
Jakkoli jsou pravidla užitečná, mají jasné hranice, které Cloudflare zčásti sám uvádí:
- Jen provoz přes Cloudflare: Pravidla kontrolují, co protéká přes Cloudflare. Pokud je origin server dostupný přímo na své adrese IP, může útočník ochranu obejít.
- Žádné vrácení zpět: Podle Cloudflare může pravidlo na straně odpovědi odpověď zadržet, ale nemůže vzít zpět, co se na serveru již stalo.
- Měnící se vzorce útoků: Cloudflare pravidla průběžně upravuje, protože útočníci své požadavky mění. Mezi novou variantou a novým pravidlem může být mezera.
- Žádná náhrada aktualizace: Cloudflare výslovně doporučuje PHP přesto aktualizovat. Ani aktualizace kódu aplikace nebo pluginů zranitelnosti neodstraní.
- Zvláštní případ CVE-2026-115560: Podle doplnění Cloudflare z 23. října pravidlo nezabere, pokud byl v konfiguraci změněn název pro session upload progress. Více k tomuto oznámení na stránce CVE-2026-115560.
Co zablokované požadavky vypovídají a co ne
Mnoho zákazníků se po oznámení podívá do svých bezpečnostních událostí a najde tam zablokované požadavky. To zprvu ukazuje jen to, že vaše doména byla kontrolována a pravidlo zabralo. Průnik tím doložen není. Naopak prázdný seznam událostí není uklidněním: Pokud útok běžel přímo na origin server nebo před 21. říjnem, u Cloudflare se vůbec neobjeví.
Spolehlivější je porovnání s logy samotného webového serveru. Požadavky, které tam dorazí, ale nepocházejí z adres Cloudflare, ukazují na přímý přístup. Tyto logy zajistěte od 20. října, jak radí odborný tisk. Cloudflare navíc upozorňuje, že omezení nahrávání mohou riziko snížit, ale aktualizaci PHP nenahrazují.
Nejčastějším slabým místem za Cloudflare není pravidlo, ale cesta kolem něj: origin server, který odpovídá přímo na své adrese IP nebo přes nechráněnou subdoménu.
Kontrolní seznam pro zákazníky Cloudflare
Tyto kroky můžete vy nebo váš dodavatel provést v krátké době:
- Zkontrolovat tarif a režim pravidel: U placených tarifů v dashboardu ověřit, že Managed Ruleset je aktivní v režimu „Block“.
- Prohlédnout bezpečnostní události: V Security Events ověřit, zda se objevují zablokované požadavky. Ukáže to, zda byly vaše domény již cílem.
- Projít záznamy DNS: Každý záznam, který ukazuje na webový server, ale neběží přes Cloudflare, je možná oklika. Typické jsou subdomény pro staging, FTP nebo poštu na stejném serveru.
- Uzavřít origin: Nastavit webový server tak, aby přijímal HTTP a HTTPS jen od Cloudflare, například firewallem s rozsahy adres zveřejněnými Cloudflare nebo přes tunel. Jak na to obecně, popisuje článek Firewall pro webový server.
- Otestovat přímý přístup: Zvenčí ověřit, zda origin odpovídá bez Cloudflare.
- Aktualizovat PHP a restartovat: Pravidla jsou druhá linie. První je PHP na opraveném stavu s restartem všech procesů PHP.
Pro krok 5 stačí neškodný test, který se dotazuje jen na hlavičky. Adresa IP je zástupná pro váš origin server:
# Odpovídá origin server přímo, mimo Cloudflare?
curl -sI --resolve www.example.de:443:203.0.113.10 https://www.example.de/
Pokud zde přijde běžná odpověď vašeho webu, je origin dostupný přímo a ochranu Cloudflare lze obejít.
Jak konkrétně pomáhá PHP SOS?
- Kontrola konfigurace: Kontrolujeme režim pravidel, záznamy DNS a přímý přístup k origin serveru.
- Zabezpečení originu: Omezujeme webový server na provoz přes Cloudflare, aniž bychom váš web přerušili.
- Záplata a doklad: Aktualizujeme PHP, restartujeme všechny procesy a dokumentujeme stav.
- Vyhodnocení událostí: Prohlížíme zablokované požadavky a porovnáváme je s logy serveru.
Jak kombinujeme pravidla WAF a přechodná opatření, popisuje WAF a virtuální záplatování.
Závěr
Pravidla Cloudflare proti PHP2Shell jsou skutečným přínosem, zejména protože přišla brzy a i v bezplatném tarifu. Jsou ale ochranným štítem před dveřmi, ne zámkem na dveřích. Kdo sedí za Cloudflare, měl by zajistit tři věci: pravidla v režimu Block, žádnou cestu kolem proxy a PHP na opraveném stavu.
Časté dotazy
Jsem s bezplatným tarifem Cloudflare před PHP2Shell chráněn?
Podle Cloudflare dostávají ochranná pravidla automaticky i zákazníci tarifu Free. Působí ale jen na provoz, který prochází přes Cloudflare, a nenahrazují aktualizaci PHP na serveru. Pokud je origin server dostupný přímo, ochrana nezabere.
Co musím nastavit u placených tarifů Cloudflare?
Cloudflare zákazníkům s tarify Pro, Business a Enterprise radí ověřit, že Managed Ruleset běží v režimu Block. Pokud je jen na protokolování, útoky se sice zaznamenají, ale nezastaví.
Co je full transaction detection?
Nová funkce WAF od Cloudflare, která sleduje nejen požadavek, ale i odpověď serveru. Tak lze rozpoznat, zda pokus o útok působí, a odpověď lze zadržet. Co již bylo na serveru provedeno, to podle Cloudflare nevrátí zpět.
Pokrývá Cloudflare také CVE-2026-115560?
Cloudflare svůj příspěvek doplnil 23. října o CVE-2026-115560. Podle Cloudflare související pravidlo nezabere, pokud byl v konfiguraci PHP změněn název pro session upload progress. Nezávisle na tom php.net doporučuje nastavit session.upload_progress.enabled=0.