# Craft CMS turvalisus pärast PHP2Shelli: agentuuride veebisaitide kaitsmine

> Craft CMS pärast PHP2Shelli: kontrollige PHP-d süsteemiaruandes, kaitske .env ja Security Key't, lülitage devMode välja, võrrelge Project Configi.

Allikas: https://phpsos.de/et/plattformen/craft-cms/  
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:** Craft CMS turvalisus sõltub pärast PHP2Shelli serveri PHP-st, mitte Craftist. Eriti agentuurid, kellel on palju Craft veebisaite, peaksid nüüd iga serveri eraldi üle vaatama. Pärast paika ja taaskäivitust kuuluvad kontrollimisele `.env`, Security Key, `devMode`, dokumendijuur ja Project Configi võrdlus.

## Mida PHP2Shell Craft veebisaitidele tähendab

Craft CMS on agentuuride seas populaarne, sest pakub paindlikke sisumudeleid ja puhtaid malle. Vastavalt haldavad paljud agentuurid kümneid Craft veebisaite erinevatel serveritel ja majutuspakettides. PHP turvaaugud CVE-2026-109618 ja CVE-2026-109619 võimaldavad PHP meeskonna andmetel kahjuliku koodi kaugkäivitamist ilma sisselogimiseta, sõltumata Crafti versioonist.

Agentuuride jaoks on tähtsaim küsimus seetõttu korralduslik: milline veebisait töötab kus, millise PHP-ga ja kes vastutab uuenduse eest? Esimene samm on loend kõigist paigaldustest koos majutaja, PHP seisu ja kontaktisikuga. Kuidas agentuure selles toetame, kirjeldab leht [Turvapartner agentuuridele](https://phpsos.de/et/branchen/agenturen-white-label/).

## Craft CMS turvalisus: PHP versiooni kontrollimine

Control Panelis näitab **Tööriistad > Süsteemiaruanne** PHP versiooni, andmebaasi ja paigaldatud pluginaid. See on versioon, millega veebisait veebis töötab. Crafti konsool `php craft`, järjekorratöötlus ja cron-tööd kasutavad seevastu käsurea PHP-d. Mõlemad peavad olema paigatud.

Upstream'i parandatud versioonid on 8.5.12, 8.4.27, 8.3.36 ja 8.2.35. Paljud majutajad toovad parandused sisse tagasiportimisena (backport); number jääb siis samaks. Millised versioonid on mõjutatud, näitab leht [Millised PHP versioonid on mõjutatud?](https://phpsos.de/et/php2shell/betroffene-php-versionen/). Milliseid PHP versioone teie Crafti versioon toetab, kontrollige süsteeminõuete järgi dokumentatsioonis lehel craftcms.com.

Craft töötleb taustaülesandeid järjekorras. Kui see töötab püsiprotsessina protsessihalduri all, tuleb ka see pärast PHP uuendust taaskäivitada.

## Kataloogid ja konfiguratsioon Craftis

| Koht | Sisu | Kontrollpunkt |
|---|---|---|
| `.env` | Andmebaasi ligipääs, `CRAFT_SECURITY_KEY`, muud võtmed | Väärtused kahtluse korral uuendada |
| `config/general.php` | `devMode`, `allowAdminChanges`, rada Control Paneli juurde | Sissetoodud PHP kood |
| `config/project/` | Project Config YAML-ina | Võrdlus Gitiga |
| `web/` | Dokumendijuur koos `index.php`, `cpresources/`, sageli üleslaadimised | Lisa-PHP failid |
| `storage/` | Logid, käitusfailid, sageli andmebaasi varukoopiad | Veebi kaudu kättesaamatu |
| `templates/` | Twig-mallid | Võõras JavaScript |
| `modules/`, `vendor/` | Oma moodulid ja pluginad | Muudetud failid, `composer audit` |

Sageli tähelepanuta jäetud koht on `storage/backups/`. Craft salvestab sinna andmebaasi varukoopiad, mis võivad sisaldada täielikke klientide- ja vormiandmeid. See kaust ei tohi kunagi asuda dokumendijuure all.

Ohutud kontrollid käsurealt:

```bash
# Project Configi ja andmebaasi erinevuste kuvamine
php craft project-config/diff
# PHP failid dokumendijuures peale index.php
find web -type f -name "*.php" ! -name "index.php"
composer audit
```

> **Oluline:**
> Tootmises kuulub `devMode` väärtusele `false`. Sisselülitatud `devMode` korral näitab Craft põhjalikke veateateid radade ja koodilõikudega, mis hõlbustavad ründajate tööd.

## Control Panel, kasutajad ja pluginad

Control Panel asub vaikimisi aadressil `/admin`. Kontrollige, millistel kasutajatel on administraatoriõigused, ja eemaldage endiste töötajate ja vabakutseliste ligipääsud. Craft toetab kaheastmelist autentimist; kasutage seda kõigi kõrgendatud õigustega kontode puhul.

Seadke tootmises `allowAdminChanges` väärtusele `false`. Siis saab välju, alasid ja pluginate sätteid muuta ainult versioonihaldusega Project Configi kaudu ning iga kõrvalekalle jääb Gitiga võrdlemisel silma. Plugin Store'i pluginad toovad kaasa oma PHP koodi; kontrollige, kas kõiki veel hooldatakse ja kas need sobivad sihitud PHP versiooniga.

```php
// config/general.php, väljavõte tootmiskeskkonna jaoks
'devMode' => false,
'allowAdminChanges' => false,
```

## Mida Crafti uuendus suudab ja mida mitte

Crafti või plugina uuendus sulgeb selle koodi vead ja võib võimaldada uuemaid PHP versioone. See ei paiga PHP-d, ei taaskäivita PHP-FPM-i ega järjekorda, ei uuenda lekkinud Security Key't ning ei eemalda võõraid faile kaustadest `web/` või `storage/`.

Palju Craft paigaldusega agentuuride jaoks loeb pärast paika eelkõige korratavus. Pange iga veebisaidi kohta kirja, milline PHP versioon töötab veebis ja käsurealt, millal taaskäivitus kinnitati ja kas kontrollid olid silmatorkavad. See ülevaade aitab klientide järelepärimiste ja tulevaste teadete puhul. Mõelge ka avalikult kättesaadavatele staging- ja arenduskeskkondadele. Need töötavad sageli `devMode`-iga, vanemate seisudega ja päris klientide andmetega ning ununevad uuenduste puhul meelsasti. Kui on kahtlus, et kliendi sait on mõjutatud, teavitage klienti asjalikult, selle asemel et oodata.

## Kuidas PHP SOS konkreetselt aitab?

- Kaardistame koos teiega kõik Craft paigaldused koos majutaja, PHP seisu ja vastutusega.
- Laseme paigatud ja taaskäivituse serveri kaupa kinnitada ning varundame logid alates 20.10.2026.
- Kontrollime dokumendijuurt, `storage`, konfiguratsiooni, kasutajaid ja Project Configi võrdlust.
- Soovi korral võtame teie klientide saitide jooksva turvahoolduse enda peale [turvahoolduslepingus](https://phpsos.de/et/leistungen/security-wartungsvertrag/), ka teie nime all.


## Korduma kippuvad küsimused

**Kas Craft CMS on PHP2Shellist mõjutatud?**  
Craft CMS-il endal uut turvaauku ei ole. See töötab aga PHP peal ja PHP2Shell asub PHP-s. Iga Craft paigaldus paigamata serveris on seetõttu potentsiaalselt ründamisele avatud, olenemata Crafti versioonist.

**Kus Craft PHP versiooni näitab?**  
Control Panelis menüüs Tööriistad > Süsteemiaruanne. Seal on PHP versioon, andmebaas ja paigaldatud pluginad. Sisse toodud tagasiportimist (backport) numbrist ära ei tunne; seda kinnitab teie majutaja.

**Mis on Crafti Security Key ja miks seda uuendada?**  
Security Key failist .env on mõeldud andmete allkirjastamiseks ja krüpteerimiseks. Kes seda teab, võib teatud tingimustel sessioone või vormiandmeid võltsida. Kahtluse korral tuleks see kooskõlastatult oma agentuuriga uuendada.

**Mida annab allowAdminChanges väärtusel false?**  
Sellega ei saa välju, alasid ja pluginate sätteid tootmises enam Control Panelis muuta. Muudatused tulevad ainult versioonihaldusega Project Configi kaudu, mis muudab manipuleerimise raskemaks ja nähtavamaks.

## Allikad

- [php.net: turvateated](https://www.php.net/)
- [Craft CMS](https://craftcms.com/)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
- [Toetatud PHP versioonid](https://www.php.net/supported-versions.php)
