Trumpai: Plesk PHP tvarkyklė nustato, kaip PHP veikia svetainei: kaip FPM programa su bendru baseinu, kaip Dedicated FPM su atskiru baseinu kiekvienai svetainei, kaip FastCGI programa ar kaip Apache modulis (mod_php). Saugumo požiūriu Linux sistemoje paprastai geriausias pasirinkimas yra Dedicated FPM, blogiausias Apache modulis. Pats Plesk jį vadina pasenusiu arba nesaugiu, o esant PHP2Shell PHP komanda didžiausią riziką mato būtent mod_php atveju.
Kodėl tvarkyklė yra daugiau nei našumo klausimas
Plesk kiekvienai svetainei pasirenkate PHP versiją ir tvarkyklę. Daugelis tvarkyklę laiko našumo ir atminties detale. Tačiau ji lemia ir tai, kiek stipriai svetainės viena nuo kitos atskirtos, kur veikia saugumo nustatymai ir kuriuos procesus po atnaujinimo reikia paleisti iš naujo.
Po PHP2Shell šis pasirinkimas tampa konkretus. Pažeidžiamumai CVE-2026-109618 ir CVE-2026-109619 paveikia visus įprastus veikimo režimus, tačiau PHP komanda didžiausią riziką vertina mod_php atveju. Kas savo Plesk serveryje dar eksploatuoja domenus su Apache moduliu, turėtų tai pakeisti dabar. Kaip tikrinti versijas ir jas taisyti, aprašo puslapis Plesk serveris: PHP versijų patikra ir pataisymas; čia kalbama apie veikimo režimo pasirinkimą.
Plesk PHP tvarkyklių apžvalga
Toliau pateikta apžvalga remiasi Plesk Obsidian dokumentacija ir papildyta saugumo požiūriu. Pagal Plesk, Linux sistemoje FPM tvarkykles galima pasirinktinai pateikti per Apache arba nginx, FastCGI visada per Apache.
| Tvarkyklė | Pateikiama per | Izoliacija | Rekomendacija pagal Plesk | Saugumo požiūris |
|---|---|---|---|---|
| Dedicated FPM application | Apache arba nginx | atskiras baseinas kiekvienai svetainei | Linux su bendrinamu hostingu | geriausias atskyrimas, atskiros reikšmės kiekvienam baseinui |
| FPM application | Apache arba nginx | bendras baseinas kiekvienai PHP versijai | dedikuoti Linux serveriai | klaidinga svetainė gali sutrikdyti kitas su ta pačia versija |
| FastCGI application | Apache (Linux) | ilgalaikiai procesai, geras atskyrimas | Windows serveriai | patikima, Linux sistemoje dažniausiai pakeista FPM |
| Apache module (mod_php) | Apache | PHP žiniatinklio serverio procese | nerekomenduojama | didžiausia PHP2Shell rizika pagal PHP komandą |
| CGI application | Apache | naujas procesas kiekvienai užklausai | nerekomenduojama | pasenusi |
Pačių veikimo režimų pagrindus paaiškina puslapiai PHP-FPM paaiškinimas ir Kodėl mod_php kelia didžiausią riziką.
Bendras ar atskiras baseinas?
Skirtumas tarp FPM ir Dedicated FPM dažnai nuvertinamas. Su įprasta FPM tvarkykle, pagal Plesk, visos svetainės su ta pačia PHP versija dalijasi vienu procesų baseinu. Tai taupo atmintį, bet reiškia ir tai, kad svetainė, kuri kelia problemų, gali pasiimti su savimi visas kitas su ta pačia versija, o bendra talpykla yra dalijamasi.
Dedicated FPM kiekvienai svetainei suteikia savo baseiną. Pagal Plesk, tai pagerina izoliaciją ir našumą, bet kainuoja daugiau atminties. Saugumo požiūriu atskiras baseinas yra pagrindas nustatyti tokius parametrus kaip open_basedir, atminties ribos ar įkėlimo ribos kiekvienai svetainei atskirai. Kaip nuosekliai atskirti baseinus, aprašo straipsnis PHP-FPM baseinų izoliavimas kiekvienai svetainei.
nginx ar Apache: .htaccess spąstai
Jei pasirenkate tvarkyklę, kuri pateikiama per nginx, pasikeičia kai kas esminio: pagal Plesk, šios tvarkyklės ignoruoja failą .htaccess. Kas ten parašyta, nebeveikia.
Tai saugumo klausimas. Daugelis programų ir administratorių apsaugos taisykles deda į .htaccess, pavyzdžiui, draudimą vykdyti PHP failus įkėlimų aplankuose ar konfigūracijos failų blokavimą. Perėjus prie nginx šios taisyklės tyliai nustoja galioti. Todėl prieš keisdami patikrinkite, kokios apsaugos taisyklės yra .htaccess, ir perkelkite jas į domeno nginx konfigūraciją.
Tvarkyklės keitimas yra saugumo konfigūracijos pakeitimas. Po to tikslingai išbandykite, ar užblokuoti keliai tebėra užblokuoti, o ne tik ar atsidaro pradžios puslapis.
Tvarkyklės patikra ir perjungimas
Pirmiausia susidarykite vaizdą, kurie domenai kokią tvarkyklę naudoja. Komandos tik skaito.
# Visos užregistruotos tvarkyklės su ID, versija ir tipu
plesk bin php_handler --list
# Domenai, kurie naudoja tam tikrą tvarkyklę (ID iš sąrašo)
plesk bin php_handler --get-usage -id <handler-id>
# Ar PHP veikia Apache procese? (Debian/Ubuntu: apache2ctl, RHEL šeima: httpd)
apache2ctl -M 2>/dev/null | grep -i php
Perjungimą atlikite domenas po domeno:
- Surinkite apsaugos taisykles iš
.htaccess, jei nauja tvarkyklė pateikiama per nginx. - Naujai tvarkyklei nustatykite pereinamąsias reikšmes nuo PHP2Shell, pavyzdžiui,
session.upload_progress.enabled=0. Su FPM jos priklauso kaipphp_admin_valueį papildomas baseino direktyvas, su FastCGI veikia kiti keliai. - Domeno PHP nustatymuose pakeiskite tvarkyklę, jei įmanoma, pirmiausia kopijoje.
- Išbandykite funkcijas ir patikrinkite, ar domeną aptarnauja procesai su naujausiu kodu.
- Jei Apache modulio nebenaudoja nė vienas domenas, tvarkyklę išjunkite.
Kokia tvarka perjungti?
Išaugusiame Plesk serveryje retai pavyksta viską perjungti per vieną dieną. Eilė pagal riziką padeda prasmingai panaudoti trūkstamą laiką:
- Pirmiausia domenai su Apache moduliu, nes ten PHP2Shell rizika pagal PHP komandą didžiausia, o Plesk ir taip nerekomenduoja.
- Tada domenai su jautriais duomenimis, pavyzdžiui, parduotuvės, klientų portalai ar formos su sveikatos ar sutarčių duomenimis. Čia atskiras baseinas ypač naudingas.
- Po to domenai su senomis PHP versijomis, kuriuos vis tiek reikia perjungti. Tvarkyklę ir versiją galima keisti kartu vieno priežiūros lango metu.
- Galiausiai perėjimas nuo bendro prie atskiro baseino likusiems domenams, jei serverio atmintis leidžia.
Prieš paskutinį etapą patikrinkite atminties apkrovą. Plesk atkreipia dėmesį, kad Dedicated FPM reikia daugiau atminties, ir pataria su daug svetainių stebėti. Serveris, kuris po perjungimo ima keisti atmintį į diską, tampa lėtas, o trūkstama atmintis kaip tik esant PHP2Shell nėra gera būsena.
Kaip PHP SOS padeda konkrečiai?
- Surandame, kurie jūsų Plesk serverio domenai kokią tvarkyklę naudoja, ir pažymime domenus su Apache moduliu.
- Perjungiame į Dedicated FPM ir, kur reikia, perkeliame apsaugos taisykles iš
.htaccessį nginx konfigūraciją. - Nustatome pereinamąsias reikšmes ir ribas kiekvienam baseinui ir patikriname, ar jos veikia žiniatinklio kontekste.
- Vykdydami serverio sutvirtinimą išjungiame pasenusias tvarkykles ir dokumentuojame konfigūraciją.
Dažni klausimai
Kokią PHP tvarkyklę rekomenduoja Plesk?
Pagal Plesk dokumentaciją, FPM yra rekomenduojama tvarkyklė dedikuotuose Linux serveriuose, Dedicated FPM Linux serveriuose bendrinamam hostingui ir FastCGI Windows serveriuose. Apache modulį, CGI ir ISAPI Plesk vadina smarkiai pasenusiais arba nesaugiais.
Kodėl po PHP2Shell tvarkyklė Apache modulis ypač kritiška?
Ši tvarkyklė atitinka mod_php. PHP komanda PHP2Shell riziką mod_php atveju vertina didžiausia, nes ten išnaudojimas buvo parodytas dar prieš pradedant vykdyti programos kodą. Be to, pats Plesk šios tvarkyklės nerekomenduoja.
Kas pasikeičia, jei PHP pateikiamas per nginx, o ne per Apache?
Pagal Plesk, per nginx pateikiamos tvarkyklės ignoruoja failą .htaccess. Ten nurodytos saugumo taisyklės, pavyzdžiui, PHP blokavimas įkėlimų aplankuose, tuomet nebeveikia ir jas reikia perkelti į nginx taisykles.
Ar pakeitus tvarkyklę PHP reikia paleisti iš naujo?
Po pakeitimo patikrinkite, kurie PHP procesai veikia domenui ir nuo kada. Su Dedicated FPM domenas gauna savo baseiną. Senas procesas su pasenusiu kodu po to nebeturėtų aptarnauti domeno.
Ar Dedicated FPM visada geriausias pasirinkimas?
Izoliacijos požiūriu taip, nes kiekviena svetainė gauna savo baseiną. Kaina yra didesnis atminties poreikis. Plesk pataria serverius su daug svetainių tuo atveju stebėti.