Aktuālā situācija: PHP2Shell. Divas kritiskas PHP ievainojamības (CVSS 9.2) ļauj izpildīt ļaunprātīgu kodu bez pieteikšanās. Ielāpi kopš 21.10.2026.Kas jādara tagad →

Plesk serveris: PHP versiju pārbaude un ielāpošana

Plesk serveros bieži paralēli darbojas vairākas PHP versijas. Šeit uzzināsiet, kā pārbaudīt katru handleri, ieinstalēt PHP atjauninājumu un pārstartēt visus darbprocesus.

Aktuāls uz 4 min lasīšanas laiksServeri un hostings

Īsi: Plesk PHP atjaunināšana ir pabeigta tikai tad, kad katra instalētā PHP versija ir labotā stāvoklī, visi PHP-FPM pakalpojumi ir pārstartēti un to var pierādīt ar pakotnes stāvokli un procesu startēšanas laiku. Panelī redzamais versijas numurs vien nav pietiekams, jo backporti to bieži atstāj nemainītu.

Par ko ir runa PHP2Shell gadījumā Plesk serveros

PHP2Shell ir divas kritiskas ievainojamības pašā PHP (CVE-2026-109618 un CVE-2026-109619, katrai CVSS v4.0 9.2). Tās ļauj uzbrucējiem izpildīt kodu serverī bez autentifikācijas. Skarti, cita starpā, PHP-FPM un Apache ar mod_php, tātad tieši tie darbības režīmi, ko Plesk izveido vietnēm.

  1. gada 21. oktobrī PHP projekts publicēja labotās versijas 8.5.12, 8.4.27, 8.3.36 un 8.2.35. PHP 8.1 un vecākām versijām oficiālu atjauninājumu vairs nav. Plesk serveriem ir īpatnība: šeit bieži paralēli darbojas vairākas PHP versijas, daļa no paša Plesk, daļa no operētājsistēmas. Katrai no tām nepieciešama sava pārbaude.
Svarīgi

Atjauninājums panelī nomaina failus diskā. Kamēr atmiņā darbojas veci PHP procesi, ievainojamība paliek atvērta. Bez visu darbprocesu pārstartēšanas ielāps nav spēkā.

Plesk PHP atjaunināšana: vispirms uzskaitiet esošo

Pirms ko atjaunināt, sastādiet sarakstu ar visiem PHP handleriem un domēniem, kas tos izmanto. To var izdarīt panelī (Tools & Settings, PHP Settings) vai komandrindā. Turpmākās komandas neko nemaina, tās tikai lasa.

# Visi reģistrētie PHP handleri ar versiju un ceļu
plesk bin php_handler --list

# Katras Plesk instalētās PHP versijas versija (ceļš kā piemērs)
for p in /opt/plesk/php/*/bin/php; do echo "$p"; "$p" -v | head -1; done

Katram handlerim pierakstiet versiju, darbības režīmu (FPM, FastCGI, Apache modulis) un domēnu skaitu. Handleris bez domēna nav pamats atslābt. To vēlāk var piešķirt, vai arī tas var darboties testa apakšdomēnos.

Pārbaudiet pakotnes stāvokli, nevis rādījumu

Plesk rāda versijas numuru, ko paziņo pats PHP. Ja Plesk vai distributīvs labojumu piegādā kā backportu, tur joprojām var būt, piemēram, 8.2.34, kaut gan labojums ir iekļauts. Un otrādi: šķietami aktuāls numurs var maldināt, ja pakotne vēl nav atjaunināta. Izšķiroši ir instalētās pakotnes stāvoklis un sniedzēja rakstisks apstiprinājums.

# Debian/Ubuntu (pakotņu nosaukumi kā piemērs)
dpkg -l | grep -E 'plesk-php|php[0-9.]+-(fpm|cli)'

# AlmaLinux/Rocky/RHEL (pakotņu nosaukumi kā piemērs)
rpm -qa | grep -E 'plesk-php|^php' | sort

Salīdziniet pakotņu versijas ar Plesk izmaiņu žurnālu un jūsu distributīva norādēm. Ja tur nav nepārprotami dokumentēts, ka CVE-2026-109618 un CVE-2026-109619 ir novērstas, vaicājiet sniedzējam. Paraugu tam atradīsiet lapā Kā vaicāt hostinga sniedzējam par ielāpa stāvokli.

Atjauninājuma ieinstalēšana un visu darbprocesu pārstartēšana

Pats atjauninājums notiek ar Plesk Installer vai sistēmas pakotņu pārvaldību. Pēc tam seko solis, kas visbiežāk tiek izlaists: pārstartēšana. Katrai PHP versijai Plesk ir savs FPM pakalpojums. Pārstartējiet visus, ne tikai galvenā domēna pakalpojumu.

# Uzskaitīt visus PHP-FPM pakalpojumus (pakalpojumu nosaukumi kā piemērs)
systemctl list-units --type=service | grep -i 'php.*fpm'

# Katru pakalpojumu pārstartēt, piem.:
systemctl restart plesk-php84-fpm

# Pārbaudīt darbojošos PHP procesu startēšanas laiku
ps -eo pid,lstart,cmd | grep -E 'php-fpm|php-cgi' | grep -v grep

Ja domēns darbojas ar Apache un mod_php, pilnībā pārstartējiet Apache. Ja PHP procesa startēšanas laiks ir pirms atjauninājuma, tas vēl nav atjaunots. Vairāk par šo soli skatiet lapā PHP-FPM un visu darbprocesu pārstartēšana.

Pagaidu aizsardzība, kamēr atjauninājuma vēl nav

Ja kādai versijai ielāpa vēl nav, php.net iesaka pagaidu pasākumus. Tie nav pilnīga aizsardzība. Plesk vidē vērtības, ko lietojumprogrammām nav atļauts pārrakstīt, iestatiet kā php_admin_value domēna papildu FPM direktīvās vai servera mērogā attiecīgās versijas php.ini.

; Piemērs papildu PHP-FPM direktīvām Plesk vidē
php_admin_value[session.upload_progress.enabled] = 0
php_admin_value[post_max_size] = 8M
php_admin_value[upload_max_filesize] = 6M

Ja ir augšupielādes, php.net paredz post_max_size = 32M, un upload_max_filesize zem tā. PHP 8.5 gadījumā klāt nāk fatal_error_backtraces=0. Atmiņas ierobežojumu ar memory_limit=-1 drīkst lietot tikai kopā ar ierobežojumu konteinera vai cgroup līmenī. Pēc tam atkal jāpārstartē visi darbprocesi. Sīkāk skatiet lapā Tūlītēji pasākumi bez ielāpa. BSI iesaka tīmekļa serverus uz laiku atvienot no tīkla, ja atjauninājumu nevar ieviest nekavējoties.

Pēc ielāpa: saglabājiet žurnālus un meklējiet pēdas

Ielāps aizver ievainojamību nākotnei. Tas nenoņem ļaunprātīgu programmatūru, kas tika ievadīta iepriekš, un nepierāda, ka nekas nav noticis. Tāpēc saglabājiet tīmekļa servera žurnālus no 2026. gada 20. oktobra. Plesk tos glabā katram domēnam direktorijā logs; šajā situācijā nesaīsiniet glabāšanas laiku.

Pievērsiet uzmanību jauniem vai mainītiem PHP failiem augšupielāžu direktorijos, nezināmiem ieplānotiem uzdevumiem un jauniem administratoru kontiem. Publicētu, apstiprinātu Indicators of Compromise līdz šim nav; atklāšanas pamatā ir uzvedības analīze. Ja atrodat aizdomīgas pazīmes, nestrādājiet tālāk uz savu roku, bet vispirms saglabājiet stāvokli.

Kā PHP SOS palīdz konkrēti?

  • Mēs uzskaitām visus jūsu Plesk servera PHP handlerus, piesaistām domēnus un pārbaudām faktisko pakotņu stāvokli katrai versijai.
  • Savā PHP ielāpu pakalpojumā mēs ieinstalējam atjauninājumus, pārstartējam visus pakalpojumus un dokumentējam procesu startēšanas laikus kā pierādījumu.
  • Kur ielāpa trūkst, mēs servera mērogā un nepārrakstāmi iestatām pagaidu pasākumus saskaņā ar php.net.
  • Mēs saglabājam žurnālus un meklējam kompromitēšanas pēdas, atradumu gadījumā kopā ar Incident Response.
  • Pēc tam mēs servera aizsardzību nostiprinām ilgtermiņā un noņemam nevajadzīgās PHP versijas.

Biežāk uzdotie jautājumi

Kāpēc Plesk pēc atjaunināšanas joprojām rāda PHP 8.2.34?

Distributīvi un sniedzēji drošības labojumus dažkārt ievieš kā backportu, nemainot versijas numuru. Tad noteicošais ir pakotnes stāvoklis un sniedzēja apstiprinājums. Pats rādījums nedz pierāda ielāpu, nedz tā neesamību.

Vai pietiek ar to, ka Plesk panelī noklikšķina uz Atjaunināt?

Atjauninājums ievieto jaunus failus, bet darbojošies PHP procesi atmiņā turpina strādāt ar veco kodu. Jaunais stāvoklis ir spēkā tikai pēc visu PHP-FPM pakalpojumu un tīmekļa servera pārstartēšanas. Pēc tam pārbaudiet procesu startēšanas laiku.

Vai man jāielāpo arī PHP versijas, ko neizmanto neviens domēns?

Jā, ja tās paliek instalētas. Neizmantotu handleri vēlāk var nejauši piešķirt, vai arī tas var būt sasniedzams caur testa vidēm. Nevajadzīgās versijas labāk noņemt pilnībā.

Vai WordPress atjauninājums Plesk rīkjoslā palīdz pret PHP2Shell?

Nē. PHP2Shell skar pašu PHP, nevis CMS. CMS atjauninājums tik un tā ir lietderīgs, taču šo ievainojamību tas nenovērš.

Avoti

Tūlītējs kontakts

Katra stunda ir svarīga. Rakstiet mums tūlīt.

Īsi aprakstiet sistēmu, PHP versiju un novēroto. Mēs sazināsimies, noskaidrosim situāciju un strādāsim attālināti, līdz incidents ir slēgts un dokumentēts.

Tūlītēja palīdzība