Īsi sakot: WAF atjauninājuma vietā pret PHP2Shell nedarbojas. Tīmekļa lietojumprogrammu ugunsmūris (Web Application Firewall), tātad filtrs pirms vietnes, pārbauda pieprasījumus un var bloķēt zināmus uzbrukuma paraugus. Pati nepilnība tomēr atrodas PHP interpretatorā un pazūd tikai ar atjauninājumu un visu PHP procesu pārstartēšanu. WAF ir lietderīgs papildu slānis un tilts uz dažām dienām, nevis risinājums.
Kāpēc šis jautājums tagad tiek uzdots tik bieži
Daudzi operatori PHP2Shell nedēļā izlasīja šķietami labu ziņu: Cloudflare saskaņā ar saviem datiem kopš 2026. gada 21. oktobra plkst. 03:02 UTC ir aktivizējis aizsardzības noteikumus, arī bezmaksas tarifa klientiem. Kas tāpat atrodas aiz Cloudflare vai cita WAF, saprotami jautā, vai tad atjauninājums vēl ir steidzams.
Godīgā atbilde ir jā. Pats Cloudflare to ierobežo: noteikumi, kas balstās tikai uz pieprasījuma datiem, nepietiek, tāpēc pakalpojums papildus pārbauda servera atbildi. Cloudflare turklāt novērojis mainītus uzbrukuma paraugus. Un aizsardzība darbojas tikai datplūsmai, kas tiešām iet caur Cloudflare. Detaļas par šo pakalpojumu sniedzēju apraksta Cloudflare aizsardzības noteikumi pret PHP2Shell. Šeit runa ir par principiālu svēršanu, neatkarīgi no pakalpojumu sniedzēja.
Ko WAF redz un ko atjauninājums maina
WAF atrodas pirms lietojumprogrammas. Tas redz katru pieprasījumu, salīdzina to ar noteikumiem un laiž cauri, bloķē vai reģistrē. Tas nezina, kā PHP pieprasījumu apstrādā iekšēji. Abas PHP2Shell nepilnības rodas tieši tur: CVE-2026-109618 atmiņas pietrūkuma stāvoklī, kamēr pieprasījuma dati ir inicializēti tikai daļēji, CVE-2026-109619 iekšēja stāvokļa dēļ, kas pēc pieprasījuma saglabājas tajā pašā darbiniekā (worker).
Atjauninājums labo šo kodu. Pēc tam cēlonis ir novērsts, lai kā pieprasījums izskatītos. Kas vēlas saprast, kurā pieprasījuma norises vietā tas notiek, pamatus atradīs sadaļā Pieprasījuma dzīves cikls PHP.
WAF atjauninājuma vietā: godīgs salīdzinājums
| Kritērijs | Tīmekļa lietojumprogrammu ugunsmūris | PHP atjauninājums ar pārstartēšanu |
|---|---|---|
| Ko tas novērš? | Neko, zināmi paraugi tiek pārtverti | Cēloni PHP interpretatorā |
| Aizsardzība pret jauniem uzbrukuma variantiem | Tikai ja noteikumi tiek laikus pielāgoti | Jā, nepilnības vairs nav |
| Vai iespējams apiet? | Jā, piemēram, ar izcelsmes servera tiešu sasniedzamību | Nē, ja visi PHP procesi ir pārstartēti |
| Ātrums | Bieži aktīvs uzreiz | Atkarīgs no versijas, piekļuves un apkopes loga |
| Blakusefekti | Kļūdaini trauksmes signāli, traucētas veidlapas vai augšupielādes | Reti, versiju lēcienos vajadzīgi saderības testi |
| Labums nākamās nepilnības gadījumā | Augsts, ja uzturēts | Nekāds, katrai nepilnībai vajadzīgs savs atjauninājums |
| Vai palīdz ar PHP 8.1 un vecākām versijām? | Kā pāreja | Tikai ar atpakaļportējumu vai migrāciju |
Tabula parāda, kāpēc abi pasākumi ir saistīti. WAF ir ātrs un plašs, bet nekad pilnīgs. Atjauninājums ir pilnīgs, bet tikai konkrētai nepilnībai un ne vienmēr iespējams uzreiz.
Vienu punktu praksē bieži palaiž garām: WAF maina vietnes uzvedību. Stingri noteikumi var bloķēt likumīgus pasūtījumus, kontaktu veidlapas vai failu augšupielādes, neviens to uzreiz nepamanot. Kas krīzē aktivizē WAF, tāpēc vienreiz pats izklikšķina svarīgākās vietnes norises un pārbauda pirmo dienu protokolus uz bloķētiem, bet pamatotiem pieprasījumiem.
Kā abus saprātīgi apvienot
- Nekavējoties: pārbaudīt, vai WAF ir un vai atbilstošie noteikumi ir aktīvi. Cloudflare maksas tarifos saskaņā ar pakalpojumu sniedzēju Managed Ruleset iestatīt uz Block.
- Nekavējoties: nodrošināt, ka izcelsmes serveris ir sasniedzams tikai caur WAF, piemēram, ar ugunsmūra atļauju tikai tā adrešu diapazoniem. Citādi aizsardzība iet tukšumā.
- Nākamajā apkopes logā: atjaunināt PHP uz 8.5.12, 8.4.27, 8.3.36 vai 8.2.35 vai uzstādīt apstiprināto distribūcijas atpakaļportējumu.
- Tūlīt pēc tam: pārstartēt visus PHP darbiniekus un procesus un pārbaudīt, ka vairs nedarbojas neviens vecs process. Ar jauniem failiem vien nepietiek; vairāk sadaļā Pēc atjauninājuma: PHP-FPM un visu darbinieku pārstartēšana.
- Pēc tam: WAF noteikumus paturēt, kļūdainos trauksmes signālus izvērtēt un izņēmumus iestatīt mērķtiecīgi, nevis noteikumus izslēgt pa visam.
Ar paša WAF uz ModSecurity un OWASP Core Rule Set bāzes var sasniegt līdzīgu; pamatus apraksta ModSecurity un OWASP Core Rule Set izmantošana. Īpaša forma ir autoru ierosinātā augšupielādes pieprasījumu filtrēšana ārpus īstajiem augšupielādes ceļiem. Tā ir neoficiāla, var salauzt veidlapas un darbībā jānodod tikai pēc testa.
Ne WAF, ne atjauninājums nenoņem ļaunprātīgo programmatūru, kas ielaista iepriekš. Pēc ielāpa pārbaudiet, vai kopš 2026. gada 17. oktobra nav parādījušās nepilnības.
Kad WAF nav vajadzīgs un kad nav vajadzīgs pakalpojumu sniedzējs
WAF nav obligāts katrai vietnei. Maza uzņēmuma vietne pie hostinga pakalpojumu sniedzēja, kas PHP savlaicīgi ielāpo un to apstiprina, bez paša WAF bieži ir pietiekami aizsargāta, ja CMS un spraudņi ir aktuāli. Arī kas savu serveri īsā laikā var atjaunināt pats, tam WAF kā tilts nav vajadzīgs.
Lietderīgs tas kļūst veikalos, portālos un lietojumprogrammās ar daudzām veidlapām, vecajās sistēmās, ko nevar atjaunināt uzreiz, un tur, kur vairākas vietnes jāaizsargā centralizēti. Pakalpojumu sniedzējs tam vajadzīgs tikai tad, ja iestatīšana, testi un pastāvīgā uzturēšana uzņēmumā nav nosegti.
Kā PHP SOS palīdz konkrēti?
- Mēs pārbaudām, vai jūsu WAF tiešām atrodas pirms visām piekļuvēm un vai izcelsmes serveris ir tieši sasniedzams.
- Mēs iestatām noteikumus vai tos pielāgojam un testējam veidlapas, augšupielādes un saskarnes attiecībā uz blakusefektiem.
- Mēs uzstādām PHP atjauninājumu, pārstartējam visus procesus un dokumentējam stāvokli.
- Kur atjauninājums aizņem laiku, mēs pārvaram ar WAF un virtuālo ielāpošanu un fiksētu termiņu īstajam ielāpam.
Secinājums
Jautājums „WAF vai atjauninājums” ir nepareizi uzdots. Atjauninājums aizver nepilnību, WAF dod laiku un pārtver daudz ko citu. Kas paļaujas tikai uz WAF, tas paļaujas uz noteikumiem, ko uzbrucēji var apiet. Kas tikai ielāpo, tas nākamajā nepilnībā atkal stāv bez tilta.
Biežāk uzdotie jautājumi
Vai ar WAF pietiek aizsardzībai pret PHP2Shell?
Nē. WAF pārbauda datplūsmu un var bloķēt zināmus uzbrukuma paraugus. Pati nepilnība atrodas PHP interpretatorā un saglabājas, kamēr PHP nav atjaunināts un pārstartēts. Cloudflare skaidri uzsver, ka tā noteikumi atjauninājumu neaizstāj.
Vai aiz Cloudflare esmu automātiski aizsargāts?
Tikai datplūsmai, kas tiešām iet caur Cloudflare. Ja izcelsmes serveris ir tieši sasniedzams no interneta, aizsardzība tiek apieta. Maksas tarifos saskaņā ar Cloudflare jāpārbauda, ka Managed Ruleset ir iestatīts uz Block.
Vai WAF pēc atjauninājuma joprojām ir vērts?
Bieži jā. WAF var pārtvert masveida skenēšanu, zināmus uzbrukumus spraudņiem un pieteikšanās lapu ļaunprātīgu izmantošanu un nākamās nepilnības gadījumā dod laiku. Taču tam vajadzīga uzturēšana un testi, citādi kļūdaini trauksmes signāli traucē darbību.
Kas ir virtuālā ielāpošana?
Ar to saprot ievainojamības īslaicīgu aizsegšanu ar noteikumiem pirms lietojumprogrammas, nemainot kodu. Tas ir tilts līdz īstajam atjauninājumam, nevis aizstājējs.