Trumpai: Dėl PHP2Shell Contao saugumas priklauso nuo serverio PHP, o ne nuo Contao. Pasirūpinkite, kad būtų pataisytas ir žiniatinklio PHP, ir Contao Manager komandinės eilutės PHP. Po to patikrinkite .env, savus šablonus, aplanką files ir prieigas prie administravimo bei Manager.
Contao ir PHP2Shell: apie ką kalbama
Contao yra vokiškai kalbančiuose kraštuose paplitusi turinio valdymo sistema, nuo 4 versijos besiremianti Symfony karkasu. PHP spragos CVE-2026-109618 ir CVE-2026-109619, PHP komandos teigimu, leidžia vykdyti kenkėjišką kodą nuotoliniu būdu be prisijungimo. Jos liečia patį PHP, taigi ir kiekvieną Contao diegimą nepataisytame serveryje.
Daug Contao svetainių priklauso vidutinio verslo įmonėms, asociacijoms ir savivaldybėms ir jas prižiūri agentūros. Todėl pirmiausia išsiaiškinkite, kas atsako už PHP: talpintojas, agentūra ar jūsų pačių IT.
Dažna klaida susijusi su priežiūros režimu. Contao gali užrakinti svetainę lankytojams, tačiau šį užraktą pateikia pats PHP. Taigi kiekviena užklausa vis tiek pasiekia PHP interpretatorių. Nuo PHP2Shell priežiūros režimas todėl neapsaugo. Kai BSI (Vokietijos federalinė informacijos saugumo tarnyba) rekomenduoja iki atnaujinimo atjungti žiniatinklio serverius nuo tinklo, turimas omenyje užraktas serverio ar talpinimo lygiu, o ne valdymo sistemos nustatymas.
Contao saugumas prasideda nuo dviejų PHP versijų
Contao naudoja PHP dviem keliais. Žiniatinklio serveris puslapių užklausas dažniausiai apdoroja per PHP-FPM. Contao Manager ir Contao konsolė papildomai dirba su komandinės eilutės PHP, pavyzdžiui, diegimams, atnaujinimams ir cron užduotims. Talpinimo paketuose su keliomis PHP versijomis tai gali būti dvi skirtingos programos.
Contao Manager savo serverio konfigūracijoje rodo, kokią PHP programos failą naudoja. Žiniatinklio versiją matote talpinimo valdymo skydelyje. Ištaisytos oficialios (upstream) versijos yra 8.5.12, 8.4.27, 8.3.36 ir 8.2.35; atgaliniai perkėlimai (backport) gali turėti senesnius numerius. Abu keliai turi būti pataisyti, o visi procesai paleisti iš naujo. Kurias PHP versijas palaiko jūsų Contao versija, pagal sistemos reikalavimus patikrinkite contao.org. Daugiau apie patikrą puslapyje Kaip teisingai patikrinti PHP versiją ir pataisų būseną.
Katalogai ir failai Contao
| Vieta | Turinys | Patikros punktas |
|---|---|---|
.env, .env.local |
Duomenų bazės prieiga, APP_SECRET |
atnaujinti kilus įtarimui |
config/config.yaml |
Diegimo konfigūracija | netikėti pakeitimai |
public/ (senesnėse versijose web/) |
Dokumentų šaknis su index.php, Contao Manager failu, ištekliais |
papildomi PHP failai |
files/ |
Redaktorių failų valdymas | jokių PHP failų |
templates/ |
savi šablonai, klasikiniai kaip .html5 su PHP |
nežinomi ar pakeisti šablonai |
system/config/localconfig.php |
senesni nustatymai | įterptas kodas |
var/ |
Talpykla ir žurnalai | išsaugoti žurnalus, talpyklą sugeneruoti iš naujo |
Būtent templates/ dažnai nuvertinamas: klasikiniai Contao šablonai su plėtiniu .html5 yra PHP failai. Į savą šabloną įterpta komanda vykdoma kiekvieną kartą atidarius puslapį ir išlieka per Contao atnaujinimus.
Nepavojingos pirmosios patikros:
# PHP failai failų valdyme
find files -type f -name "*.php"
# Nuo 2026 m. spalio 17 d. pakeisti šablonai
find templates -type f -newermt "2026-10-17"
# Patikrinti galimas Contao komandas ir priklausomybes
vendor/bin/contao-console list contao
composer audit
Contao Manager gali diegti paketus ir taip į serverį įnešti bet kokį kodą. Kilus įtarimui patikrinkite jo naudotojų paskyras, priskirkite naujus slaptažodžius ir pašalinkite buvusių paslaugų teikėjų prieigas.
Administravimas, Manager ir plėtiniai
Administravimas yra adresu /contao. Patikrinkite naudotojus su administratoriaus teisėmis ir naudotojų grupes su plačiomis teisėmis, pavyzdžiui, failų valdymui, šablonams ar naudotojų valdymui. Contao turi dviejų veiksnių prisijungimą; naudokite jį visoms paskyroms su išplėstinėmis teisėmis.
Plėtiniai diegiami per Composer arba Contao Manager. Kiekvienas atneša PHP kodą, o senesni neprižiūrimi plėtiniai stabdo PHP atnaujinimus. Serveriuose su keliomis svetainėmis kiekvienas diegimas turėtų veikti atskirai, kad incidentas neišplistų į kaimynines svetaines; daugiau apie tai puslapyje open_basedir ir izoliacija kiekvienai svetainei.
Ką gali Contao atnaujinimas ir ko ne
Contao atnaujinimas per Manager ar Composer uždaro žinomas Contao ir plėtinių klaidas. Jis netaiso PHP ir nepaleidžia iš naujo nei PHP-FPM, nei foninių procesų. Savi šablonai, failai files/ aplanke ir svetimos naudotojų paskyros lieka nepakitusios. Pakeitus pagrindinę PHP versiją reikėtų iš naujo sugeneruoti talpyklą ir patikrinti svetainę bandomojoje aplinkoje.
Svetainėse su daug redaktorių po pataisos verta pažvelgti į teises administravime. Kas gali redaguoti šablonus, gali klasikiniuose .html5 šablonuose palikti PHP kodą. Šios teisės turėtų būti tik nedaugelio techniškai išmanančių asmenų rankose. Tas pats galioja prieigai prie failų valdymo su įkėlimo teisėmis į viešai pasiekiamus aplankus.
Kaip PHP SOS padeda konkrečiai?
- Nustatome jūsų Contao diegimo žiniatinklio ir CLI PHP ir leidžiame patvirtinti pataisą bei paleidimą iš naujo.
- Prieš ką nors keisdami išsaugome žurnalus, failus ir duomenų bazę.
- Tikriname šablonus,
files/, dokumentų šaknį, administravimo ir Manager paskyras. - PHP keitimą su įrodymu pageidaujant atlieka mūsų PHP pataisų paslauga, suderinta su jūsų agentūra.
Dažni klausimai
Ar PHP2Shell paveikia Contao?
Pati Contao naujos spragos neturi. Tačiau jei svetainė veikia su nepataisytu PHP, ji, kaip ir bet kuri PHP programa, pažeidžiama. Contao atnaujinimas PHP spragos neuždaro.
Kodėl Contao Manager svarbus saugumui?
Contao Manager gali diegti, atnaujinti ir šalinti paketus. Kas turi prie jo prieigą, gali įdiegti bet kokį kodą. Todėl prieigai reikia stipraus slaptažodžio ir mažai įgaliotų asmenų.
Ar Contao šablonuose yra PHP kodo?
Klasikiniai šablonai su plėtiniu .html5 yra PHP šablonai. Todėl savi šablonai aplanke templates gali turėti PHP. Nežinomus ar neseniai pakeistus šablonus turėtumėte sugebėti paaiškinti.