Īsi: Craft CMS drošība pēc PHP2Shell ir atkarīga no servera PHP, nevis no Craft. Tieši aģentūrām ar daudzām Craft vietnēm tagad jāpārbauda katrs serveris atsevišķi. Pēc ielāpa un pārstartēšanas jāpārbauda .env, Security Key, devMode, dokumentu sakne un Project Config salīdzināšana.
Ko PHP2Shell nozīmē Craft vietnēm
Craft CMS aģentūrās ir iecienīts, jo piedāvā elastīgus satura modeļus un tīras veidnes. Attiecīgi daudzas aģentūras uztur desmitiem Craft vietņu dažādos serveros un hostinga pakotnēs. PHP ievainojamības CVE-2026-109618 un CVE-2026-109619 saskaņā ar PHP komandu ļauj izpildīt ļaunprātīgu kodu no attāluma bez pieteikšanās, neatkarīgi no Craft versijas.
Aģentūrām svarīgākais jautājums tāpēc ir organizatorisks: kura vietne kur darbojas, ar kuru PHP un kurš ir atbildīgs par atjauninājumu? Pirmais solis ir visu instalāciju saraksts ar hostinga sniedzēju, PHP stāvokli un kontaktpersonu. Kā mēs atbalstām aģentūras, apraksta Drošības partneris aģentūrām.
Craft CMS drošība: PHP versijas pārbaude
Control Panel sadaļa Utilities > System Report rāda PHP versiju, datubāzi un uzstādītos spraudņus. Tā ir versija, ar kuru vietne tīmeklī darbojas. Craft konsole php craft, rindas apstrāde un cron uzdevumi turpretī izmanto komandrindas PHP. Abiem jābūt ielāpotiem.
Labotās upstream versijas ir 8.5.12, 8.4.27, 8.3.36 un 8.2.35. Daudzi hostinga sniedzēji labojumus ievieš kā backport; numurs tad paliek tāds pats. Kuras versijas ir skartas, rāda raksts Kuras PHP versijas ir skartas?. Kuras PHP versijas atbalsta jūsu Craft versija, pārbaudiet pēc sistēmas prasībām dokumentācijā vietnē craftcms.com.
Craft fona uzdevumus apstrādā rindā. Ja tā darbojas kā pastāvīgs process zem procesu pārvaldnieka, arī tas pēc PHP atjauninājuma jāpārstartē.
Direktorijas un konfigurācija Craft
| Vieta | Saturs | Pārbaudes punkts |
|---|---|---|
.env |
Datubāzes piekļuve, CRAFT_SECURITY_KEY, citas atslēgas |
Aizdomu gadījumā vērtības mainīt |
config/general.php |
devMode, allowAdminChanges, ceļš uz Control Panel |
Ievietots PHP kods |
config/project/ |
Project Config kā YAML | Salīdzināšana ar Git |
web/ |
Dokumentu sakne ar index.php, cpresources/, bieži augšupielādes |
Papildu PHP faili |
storage/ |
Žurnāli, izpildlaika faili, bieži datubāzes dublējumi | Nav pieejams caur tīmekli |
templates/ |
Twig veidnes | Svešs JavaScript |
modules/, vendor/ |
Pašu moduļi un spraudņi | Mainīti faili, composer audit |
Bieži palaists garām punkts ir storage/backups/. Craft tur glabā datubāzes dublējumus, kas var saturēt pilnus klientu un veidlapu datus. Šī mape nekad nedrīkst atrasties zem dokumentu saknes.
Droši pārbaudes soļi komandrindā:
# Parādīt atšķirības starp Project Config un datubāzi
php craft project-config/diff
# PHP faili dokumentu saknē, izņemot index.php
find web -type f -name "*.php" ! -name "index.php"
composer audit
Produkcijā devMode jābūt false. Ar ieslēgtu devMode Craft rāda detalizētus kļūdu paziņojumus ar ceļiem un koda fragmentiem, kas atvieglo uzbrucēju darbu.
Control Panel, lietotāji un spraudņi
Control Panel pēc noklusējuma atrodas adresē /admin. Pārbaudiet, kuriem lietotājiem ir administratora tiesības, un noņemiet bijušo darbinieku un ārštata darbinieku piekļuves. Craft atbalsta divfaktoru autentifikāciju; izmantojiet to visiem kontiem ar paaugstinātām tiesībām.
Produkcijā iestatiet allowAdminChanges uz false. Tad laukus, sadaļas un spraudņu iestatījumus var mainīt tikai caur versionēto Project Config, un katra atšķirība ir pamanāma salīdzināšanā ar Git. Spraudņi no Plugin Store atnes savu PHP kodu; pārbaudiet, vai visi vēl tiek uzturēti un vai atbilst mērķa PHP versijai.
// config/general.php, izvilkums ražošanas videi
'devMode' => false,
'allowAdminChanges' => false,
Ko Craft atjauninājums var un ko ne
Craft vai spraudņa atjauninājums aizver kļūdas šajā kodā un var ļaut izmantot jaunākas PHP versijas. Tas neielāpo PHP, nepārstartē ne PHP-FPM, ne rindu, nemaina noplūdušu Security Key un nenoņem svešus failus no web/ vai storage/.
Aģentūrām ar daudzām Craft instalācijām pēc ielāpa galvenais ir atkārtojamība. Fiksējiet katrai vietnei, kāda PHP versija darbojas tīmeklī un komandrindā, kad pārstartēšana tika apstiprināta un vai pārbaudes bija neatbilstošas. Šis pārskats palīdz atbildēt uz klientu jautājumiem un nākotnes ziņojumos. Padomājiet arī par publiski pieejamām staging un izstrādes vidēm. Tās bieži darbojas ar devMode, vecākiem stāvokļiem un īstiem klientu datiem, un atjauninājumos tās labprāt aizmirst. Ja ir šaubas, vai klienta vietne ir skarta, informējiet klientu lietišķi, nevis gaidiet.
Kā PHP SOS palīdz konkrēti?
- Mēs kopā ar jums apkopojam visas Craft instalācijas ar hostinga sniedzēju, PHP stāvokli un atbildību.
- Mēs liekam apstiprināt ielāpu un pārstartēšanu katram serverim un saglabājam žurnālus no 20.10.2026.
- Mēs pārbaudām dokumentu sakni,
storage, konfigurāciju, lietotājus un Project Config salīdzināšanu. - Pēc vēlēšanās mēs uzņemamies jūsu klientu vietņu pastāvīgo drošības uzturēšanu drošības uzturēšanas līgumā, arī zem jūsu vārda.
Biežāk uzdotie jautājumi
Vai Craft CMS ir skarts ar PHP2Shell?
Pašam Craft CMS jaunas ievainojamības nav. Tas tomēr darbojas uz PHP, un PHP2Shell atrodas PHP. Katra Craft instalācija uz neielāpota servera tāpēc potenciāli ir ievainojama neatkarīgi no Craft versijas.
Kur Craft rāda PHP versiju?
Control Panel sadaļā Utilities > System Report. Tur ir PHP versija, datubāze un uzstādītie spraudņi. Ieviestu backport pēc numura atpazīt nevar; to apstiprina jūsu hostinga sniedzējs.
Kas ir Security Key Craft un kāpēc to mainīt?
Security Key no faila .env kalpo datu parakstīšanai un šifrēšanai. Kas to zina, noteiktos apstākļos var viltot sesijas vai veidlapu datus. Aizdomu gadījumā to vajadzētu mainīt, saskaņojot ar jūsu aģentūru.
Ko dod allowAdminChanges uz false?
Tad produkcijā laukus, sadaļas un spraudņu iestatījumus vairs nevar mainīt caur Control Panel. Izmaiņas notiek tikai caur versionēto Project Config, kas manipulācijas padara grūtākas un redzamākas.