Aktuální situace: PHP2Shell. Dvě kritické zranitelnosti PHP (CVSS 9.2) umožňují spustit škodlivý kód bez přihlášení. Záplaty od 21. 10. 2026.Co nyní udělat →

Ochranná pravidla Cloudflare proti PHP2Shell: co dokážou a co ne

Cloudflare brzy nasadil ochranná pravidla proti PHP2Shell. Proč pomáhají, proč přesto nenahrazují aktualizaci PHP a která nastavení zkontrolovat.

Stav 4 min čteníSituace a zařazení

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í.

Důležité

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ě:

  1. Zkontrolovat tarif a režim pravidel: U placených tarifů v dashboardu ověřit, že Managed Ruleset je aktivní v režimu „Block“.
  2. 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.
  3. 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.
  4. 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.
  5. Otestovat přímý přístup: Zvenčí ověřit, zda origin odpovídá bez Cloudflare.
  6. 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.

Zdroje

Okamžitý kontakt

Každá hodina se počítá. Napište nám hned.

Stručně popište systém, verzi PHP a pozorování. Ozveme se, vyjasníme situaci a budeme pracovat na dálku, dokud nebude incident uzavřen a zdokumentován.

Okamžitá pomoc