# WAF ja virtuaalne paikamine PHP jaoks

> Virtuaalne paikamine PHP jaoks: ühendame WAF-i reeglid php.net-i ajutiste meetmetega, kuni uuendus on võimalik, ja planeerime päris paiga.

Allikas: https://phpsos.de/et/leistungen/waf-virtuelles-patching/  
Seis: 25.10.2026  
Pakkuja: PHP SOS, PHP hädaabi ja serveri turvalisus. Kohene abi WhatsAppis: https://wa.me/491736494914?text=Tere%2C%20PHP%20SOS%2C%20vajame%20abi%20oma%20PHP-serveriga.%20Ettev%C3%B5te%3A%20%E2%80%A6%20Veebisait%3A%20%E2%80%A6

**Lühidalt:** Virtuaalne paikamine PHP jaoks ületab aja, kuni päris uuendus on paigaldatud. Ühendame selleks veebirakenduste tulemüüri (WAF) reeglid ajutiste meetmetega, mille php.net PHP2Shelli kohta avaldas, ning määrame kohe kindlaks tee tavapärase paigani. Täielikku kaitset see ei paku, kuid vähendab riski üleminekuajal.

## Millal virtuaalne paikamine PHP jaoks on mõistlik

BSI soovitab PHP2Shelli puhul kohest uuendust ja, kui see ei õnnestu, veebiserverid ajutiselt võrgust maha võtta. Paljudele ettevõtetele pole kumbki kohe teostatav: pood peab jääma kättesaadavaks, oma arendus vajab enne uuendust testi või server töötab PHP 8.1 või vanemaga, mille jaoks ametlikke uuendusi enam pole.

Neil juhtudel on virtuaalne paikamine sild. See ei asenda otsust, kas võrgust väljas olek oleks sobivam. Selle kaalumise teete teie, tehnilise hinnangu anname meie.

## Miks üksi WAF-ist ei piisa

Cloudflare teatas täheldatud ründekatsetest ja on kasutusele võtnud kaitsereeglid, kuid hoiatab, et ainult päringuandmete põhjal koostatud reeglid ei piisa. Põhjus peitub turvaaukude olemuses. CVE-2026-109618 puhul võib mälupuudus (Out-of-Memory) PHP-d katkestada, kui päringuandmed on vaid osaliselt lähtestatud. CVE-2026-109619 puhul võib sisemine olek pärast mälu vabastamist alles jääda ja seda saab kasutada hilisem päring samas tööprotsessis. Sellised vead sõltuvad serveri olekust, mitte ainult üksiku päringu sisust.

Seetõttu toetume mitmele kihile: WAF-i reeglid serveri ees, ajutised meetmed PHP-s endas ja serveri tõhustatud jälgimine. Iga kiht püüab kinni osa, ükski üksi ei piisa. Koos annavad need teile aega uuendus korrapäraselt paigaldada.

## Ajutised meetmed php.net-i järgi

php.net nimetab mitu sätet, mis vähendavad riski, selgesõnaliselt ilma täieliku kaitseta. Oluline on, et rakendused neid väärtusi üle kirjutada ei saa. Näide PHP-FPM-i poolist üleslaadimistega:

```ini
; PHP2Shelli ajutised meetmed (mitte täielik kaitse), seejärel käivitage kõik tööprotsessid uuesti
php_admin_value[memory_limit] = -1
php_admin_value[post_max_size] = 32M
php_admin_value[upload_max_filesize] = 30M
php_admin_flag[session.upload_progress.enabled] = off
; ainult PHP 8.5:
php_admin_flag[fatal_error_backtraces] = off
```

Ilma üleslaadimisteta soovitab php.net `post_max_size = 8M`. Kuna `memory_limit` tühistatakse, kuulub juurde mälupiirang konteineri või cgroupi tasandil, mitte `RLIMIT_AS` või `RLIMIT_DATA` kaudu. Säte `session.upload_progress.enabled=0` kuulub php.ini-sse, FPM-i pooli või serveri seadistusse, mitte `ini_set()`-i ega `.user.ini`-sse. See on ühtlasi abinõu märkuse puhul, mis puudutab [CVE-2026-115560](https://phpsos.de/et/php2shell/cve-2026-115560/). Kõigi meetmete ülevaade on lehel [Kohesed meetmed, kui te veel paigata ei saa](https://phpsos.de/et/php2shell/sofortmassnahmen-ohne-patch/).

> **Oluline:**
> Ajutised meetmed hakkavad mõjuma alles kõigi PHP tööprotsesside taaskäivitusega. Ja need kaitsevad ainult tulevaste rünnakute eest: kas enne on keegi juba sisse tunginud, sellele need vastust ei anna.

## Millal on võrgust väljas olek parem valik

Virtuaalne paikamine ei ole igas olukorras õige vastus. Mõne olukorra puhul soovitame järgida BSI-d ja võtta veebiserver ajutiselt võrgust maha, kuni on paigatud:

- server töötab **Apache'i ja mod_php-ga**, kus PHP meeskond hindab riski kõige suuremaks ja kus on näidatud ekspluateerimist enne, kui rakenduse kood üldse käivitub
- serveris asuvad **eriti kaitset vajavad andmed**, näiteks terviseandmed, klientide (mandaadi) andmed või makseandmed
- **puudub võimalus** ajutisi meetmeid serveri seadistuses püsivalt määrata, näiteks teatud jagatud veebimajutuse pakettide puhul
- on juba **märke**, et serverit on rünnatud

Ajutine võrgust väljas olek ei tähenda, et teie veebisait on häkitud. Mõned pakkujad on veebisaite ettevaatusest võrgust maha võtnud. Lühike, asjalik teadeleht külastajatele on siis tavaliselt parem lahendus kui seletamatu rike.

## Kuidas PHP SOS konkreetselt aitab?

1. **Olukorra kontroll:** Kaardistame PHP versioonid, töörežiimid ja olemasolevad kaitsekihid, nagu CDN, WAF või pöördproksi. mod_php puhul juhime tähelepanu suuremale riskile, mida PHP meeskond seal näeb.
2. **Kihtide ülesehitus:** Aktiveerime või täiendame WAF-i reegleid, määrame ajutised meetmed serveri seadistuses püsivalt ja piirame mälu konteineri või cgroupi kaudu. Nginxi seadistuste puhul lähtume lehest [Nginxi ja PHP-FPM-i kaitsmine](https://phpsos.de/et/server/nginx-php-fpm/).
3. **Taaskäivitus ja test:** Kõik PHP protsessid käivitatakse uuesti, seejärel kontrollime üleslaadimisi, vorme, sisselogimist ja kassat.
4. **Jälgimine:** Üleminekuajal pöörame suuremat tähelepanu tööprotsesside kokkujooksmistele, mälupiikidele ja ebatavalistele protsessidele.
5. **Paiga planeerimine:** Määrame kindlaks, millal ja kuidas tavapärane uuendus tuleb, ning viime selle ellu [PHP paikamisteenuse](https://phpsos.de/et/leistungen/php-patch-service/) kaudu.

## Mida te saate, mida me vajame ja mida me ei luba

Saate dokumentatsiooni kõigi seatud reeglite ja sätete kohta koos põhjendusega, testitulemused ning ajakava ja meetmeplaani päris paiga jaoks. Teilt vajame server- või paneeliligipääsu, ligipääsu CDN-ile või WAF-ile, kui need on olemas, tehnilist kontaktisikut ja teavet teie rakenduste üleslaadimisfunktsioonide kohta.

Me ei luba, et virtuaalne paikamine rünnaku ära hoiab. See vähendab riski piiratud ajaks. PHP 8.1 ja vanemate puhul ei ole see püsiseisund; siin kuulub plaani [üleminek toetatud versioonile](https://phpsos.de/et/leistungen/php-migration-legacy/).


## Korduma kippuvad küsimused

**Mis on virtuaalne paikamine?**  
Virtuaalne paikamine tähendab teadaoleva turvaaugu varjestamist rakenduse ees, mitte koodi enda muutmist. See toimub enamasti veebirakenduste tulemüüri (WAF) või seadistusmuudatuste kaudu. See on ülemineku lahendus, mitte uuenduse asendus.

**Kas minu CDN-i pakkuja WAF piisab PHP2Shelli vastu?**  
Üksi üldjuhul mitte. Cloudflare on kasutusele võtnud kaitsereeglid, kuid hoiatab ise, et ainult päringuandmete põhjal koostatud reeglid ei piisa. WAF on täiendav kiht ajutiste meetmete ja paiga kõrval.

**Kui kaua tohin virtuaalsele paikamisele loota?**  
Nii lühidalt kui võimalik. See peab ületama aja tavapärase uuenduseni, näiteks kuni vabaneb hooldusaken või rakendus on testitud. PHP 8.1 ja vanemate puhul kuulub juurde migratsiooniplaan.

**Kas ajutised meetmed võivad mu veebisaiti häirida?**  
Jah, see on võimalik. Väiksemad üleslaadimispiirangud võivad takistada suurte failide üleslaadimist ja sessiooni üleslaadimise edenemise väljalülitamine mõjutab üleslaadimisel edenemisnäitajaid. Testime olulisemaid funktsioone pärast iga muudatust.

## Allikad

- [php.net: turvateated ja ajutised meetmed](https://www.php.net/)
- [BSI: Saksamaa föderaalne infoturbeamet](https://www.bsi.bund.de/)
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
- [TechTarget: PHP2Shell, 22M exposed servers at risk](https://www.techtarget.com/cybersecurity/news/366652444/PHP2Shell-22M-exposed-servers-at-risk-as-emergency-patches-released)
