# Ochranné pravidlá Cloudflare proti PHP2Shell: čo zvládnu a čo nie

> Cloudflare chráni od 21. 10. pravidlami WAF pred PHP2Shell. Čo pravidlá pokrývajú, kde sa dajú obísť a čo by ste mali teraz skontrolovať.

Zdroj: https://phpsos.de/sk/blog/cloudflare-waf-php2shell/  
Stav: 25.10.2026  
Poskytovateľ: PHP SOS, Núdzová pomoc pri PHP a bezpečnosť serverov. Okamžitá pomoc cez WhatsApp: https://wa.me/491736494914?text=Dobr%C3%BD%20de%C5%88%2C%20PHP%20SOS%2C%20potrebujeme%20pomoc%20s%20na%C5%A1%C3%ADm%20serverom%20s%20PHP.%20Spolo%C4%8Dnos%C5%A5%3A%20%E2%80%A6%20Web%3A%20%E2%80%A6

**Stručne:** Cloudflare má podľa vlastných údajov od 21. októbra 2026, 03:02 UTC, aktívne ochranné pravidlá proti PHP2Shell, aj pre zákazníkov v bezplatnom tarife. Pravidlá znižujú riziko pre prevádzku, ktorá prechádza cez Cloudflare. Nepôsobia, ak je pôvodný server dostupný priamo, a aktualizáciu PHP nenahrádzajú. Kto používa Cloudflare, mal by skontrolovať režim pravidiel, ochranu pôvodného servera a stav záplat.

## Východisko: ochrana ešte pred záplatou

Cloudflare bol pri PHP2Shell nezvyčajne včas. Podľa blogu Cloudflare bežali ochranné pravidlá už niekoľko hodín pred oficiálnym zverejnením aktualizácií PHP o 14:00 UTC. Cloudflare okrem toho informoval, že pozoroval pokusy o útok na zákazníkov a že útočníci menili svoje vzory, aby pravidlá obišli.

Mnohí prevádzkovatelia z toho usúdili: „Sme za Cloudflare, takže sme chránení.“ To platí len sčasti. Tento príspevok vysvetľuje, čo pravidlá skutočne pokrývajú. Všeobecné vyváženie medzi firewallom a aktualizáciou ponúka príspevok [WAF alebo aktualizácia?](https://phpsos.de/sk/blog/waf-oder-update/).

## Čo Cloudflare proti PHP2Shell nasadil

Podľa údajov v blogu Cloudflare existujú tri stavebné kamene:

| Tarif | Ochrana podľa Cloudflare | Čo by ste mali urobiť |
|---|---|---|
| Free | nové pravidlá v Managed Free Ruleset, automaticky aktívne | skontrolovať, či doména beží cez Cloudflare |
| Pro, Business, Enterprise | zodpovedajúce pravidlá v Managed Ruleset | zabezpečiť, aby bol ruleset nastavený na „Block“ |
| všetky tarify | štandardné pravidlo v novom Response Firewalle | nič nevypínať, sledovať udalosti |

Tretí stavebný kameň je nový. Cloudflare ho nazýva „full transaction detection“: WAF sleduje nielen požiadavku, ale aj odpoveď servera. Dôvod podľa Cloudflare: samotná požiadavka nie vždy stačí na to, aby sa útok spoľahlivo odlíšil od bežnej prevádzky. PHP2Shell je prvým nasadením tejto funkcie v spravovaných pravidlách.

## Hranice pravidiel Cloudflare

Hoci sú pravidlá užitočné, majú jasné hranice, ktoré čiastočne pomenúva aj sám Cloudflare:

- **Len prevádzka cez Cloudflare:** Pravidlá kontrolujú to, čo preteká cez Cloudflare. Ak je pôvodný server dostupný priamo na svojej adrese IP, útočník môže ochranu obísť.
- **Žiadne vrátenie späť:** Podľa Cloudflare môže pravidlo na strane odpovede odpoveď zadržať, ale nemôže zvrátiť to, čo sa na serveri už stalo.
- **Meniace sa vzory útokov:** Cloudflare pravidlá priebežne upravuje, pretože útočníci svoje požiadavky menia. Medzi novým variantom a novým pravidlom môže ležať medzera.
- **Žiadna náhrada aktualizácie:** Cloudflare výslovne odporúča aktualizovať PHP napriek WAF. Ani aktualizácia kódu aplikácie alebo zásuvných modulov zraniteľnosti neodstráni.
- **Osobitný prípad CVE-2026-115560:** Podľa doplnenia Cloudflare z 23. októbra pravidlo nezaberie, ak bol v konfigurácii zmenený názov pre session upload progress. Viac k tomuto hláseniu pod [CVE-2026-115560](https://phpsos.de/sk/php2shell/cve-2026-115560/).

### Čo blokované požiadavky vypovedajú a čo nie

Mnohí zákazníci sa po hlásení pozrú do svojich bezpečnostných udalostí a nájdu tam blokované požiadavky. To zatiaľ len ukazuje, že vaša doména bola kontrolovaná a pravidlo zaberlo. Vlámanie to nepreukazuje. Naopak, prázdny zoznam udalostí nie je uvoľnením: ak útok smeroval priamo na pôvodný server alebo prebehol pred 21. októbrom, u Cloudflare sa vôbec neobjaví.

Spoľahlivejšie je porovnanie s logmi samotného webového servera. Požiadavky, ktoré tam dorazia, ale nepochádzajú z adries Cloudflare, naznačujú priamy prístup. Zálohujte tieto logy od 20. októbra, ako radí odborná tlač. Cloudflare navyše upozorňuje, že obmedzenia uploadov môžu riziko znížiť, aktualizáciu PHP však nenahrádzajú.

> **Dôležité:**
> Najčastejšou slabinou za Cloudflare nie je pravidlo, ale cesta okolo neho: pôvodný server, ktorý odpovedá priamo na svojej adrese IP alebo cez nechránenú subdoménu.

## Zoznam kontrol pre zákazníkov Cloudflare

Tieto kroky môžete vy alebo váš poskytovateľ služieb vybaviť v krátkom čase:

1. **Skontrolovať tarif a režim pravidiel:** Pri platených tarifoch v dashboarde skontrolovať, či je Managed Ruleset aktívny v režime „Block“.
2. **Pozrieť bezpečnostné udalosti:** V Security Events skontrolovať, či sa objavujú blokované požiadavky. To ukáže, či už boli vaše domény cieľom.
3. **Prejsť záznamy DNS:** Každý záznam, ktorý smeruje na webový server, ale nebeží cez Cloudflare, je možná obchádzka. Typické sú subdomény pre staging, FTP alebo poštu na tom istom serveri.
4. **Izolovať pôvodný server:** Nastaviť webový server tak, aby prijímal HTTP a HTTPS len od Cloudflare, napríklad firewallom s rozsahmi adries zverejnenými Cloudflare alebo cez tunel. Ako na to všeobecne, popisuje príspevok [Firewall pre webový server](https://phpsos.de/sk/blog/firewall-fuer-webserver/).
5. **Vyskúšať priamy prístup:** Zvonka skontrolovať, či pôvodný server odpovedá bez Cloudflare.
6. **Aktualizovať PHP a reštartovať:** Pravidlá sú druhá línia. Prvou je PHP na opravenej verzii s [reštartom všetkých procesov PHP](https://phpsos.de/sk/php2shell/php-fpm-neustart/).

Pre krok 5 stačí neškodný test, ktorý si vypýta len hlavičky. Adresa IP je zástupná pre váš pôvodný server:

```bash
# Odpovedá pôvodný server priamo, mimo Cloudflare?
curl -sI --resolve www.example.de:443:203.0.113.10 https://www.example.de/
```

Ak sem príde riadna odpoveď vášho webu, pôvodný server je dostupný priamo a ochranu Cloudflare možno obísť.

## Ako konkrétne pomáha PHP SOS?

- **Kontrola konfigurácie:** Skontrolujeme režim pravidiel, záznamy DNS a priamy prístup k pôvodnému serveru.
- **Zabezpečenie pôvodného servera:** Obmedzíme webový server na prevádzku cez Cloudflare bez prerušenia vášho webu.
- **Záplata a doklad:** Aktualizujeme PHP, reštartujeme všetky procesy a zdokumentujeme stav.
- **Vyhodnotenie udalostí:** Prezrieme blokované požiadavky a porovnáme ich s logmi servera.

Ako kombinujeme pravidlá WAF a prechodné opatrenia, popisuje [WAF a virtuálne záplatovanie](https://phpsos.de/sk/leistungen/waf-virtuelles-patching/).

## Záver

Pravidlá Cloudflare proti PHP2Shell sú skutočným prínosom, najmä preto, že prišli včas a aj v bezplatnom tarife. Sú však ochranným štítom pred dverami, nie zámkom na dverách. Kto sedí za Cloudflare, mal by zabezpečiť tri veci: pravidlá v režime Block, žiadnu cestu okolo proxy a PHP na opravenej verzii.


## Časté otázky

**Som s bezplatným tarifom Cloudflare pred PHP2Shell chránený?**  
Podľa Cloudflare dostávajú ochranné pravidlá automaticky aj zákazníci s tarifom Free. Pôsobia však len na prevádzku, ktorá prechádza cez Cloudflare, a nenahrádzajú aktualizáciu PHP na serveri. Ak je pôvodný server dostupný priamo, ochrana nezaberie.

**Čo musím nastaviť pri platených tarifoch Cloudflare?**  
Cloudflare radí zákazníkom s tarifmi Pro, Business a Enterprise skontrolovať, či Managed Ruleset beží v režime Block. Ak je nastavený len na zaznamenávanie, útoky sa síce evidujú, ale nezastavia.

**Čo je full transaction detection?**  
Nová funkcia WAF od Cloudflare, ktorá sleduje nielen požiadavku, ale aj odpoveď servera. Vďaka tomu sa dá rozpoznať, či pokus o útok má účinok, a odpoveď sa dá zadržať. To, čo sa na serveri už vykonalo, podľa Cloudflare nevráti späť.

**Pokrýva Cloudflare aj CVE-2026-115560?**  
Cloudflare doplnil svoj príspevok 23. októbra o CVE-2026-115560. Podľa Cloudflare príslušné pravidlo nezaberie, ak bol v konfigurácii PHP zmenený názov pre session upload progress. Bez ohľadu na to php.net odporúča nastaviť session.upload_progress.enabled=0.

## Zdroje

- [Blog Cloudflare: Cloudflare deploys protections against php2shell vulnerability](https://blog.cloudflare.com/php-vulnerabilities-waf-protection/)
- [Blog Cloudflare: Introducing full transaction detection for Cloudflare WAF](https://blog.cloudflare.com/full-transaction-waf/)
- [php.net: bezpečnostné hlásenia](https://www.php.net/)
