Praegune olukord: PHP2Shell. Kaks kriitilist PHP turvaauku (CVSS 9,2) lubavad kahjulikku koodi ilma sisselogimata. Paigad alates 21.10.2026.Mida nüüd teha →

Moodle'i turvalisus pärast PHP2Shelli: õppekeskkondade õige kaitsmine

Moodle haldab osalejate andmeid, hindeid ja eksamitöid, sageli alaealiste omi. Pärast PHP2Shelli loevad PHP paik, veebi ja croni taaskäivitus, kaitstud moodledata ja kontrollitud pluginad.

Seis Lugemisaeg 3 minPlatvormid

Lühidalt: Moodle'i turvalisus sõltub pärast PHP2Shelli serveri PHP-st, mitte Moodle'ist. Kuna õppekeskkonnad töötlevad õpilaste, üliõpilaste ja töötajate andmeid, on kiire tegutsemine oluline. Paigake PHP veebi ja croni jaoks, taaskäivitage kõik protsessid ning kontrollige config.php, moodledata, pluginaid ja admin-kontosid.

Mida PHP2Shell Moodle'i haldajatele tähendab

Moodle on levinud koolides, kõrgkoolides, täiendõppes ja ettevõtete sisekoolitustel. Platvorm haldab nimesid, e-posti aadresse, kursuste kuuluvust, hindeid, eksamitöid ja foorumipostitusi, koolides sageli alaealiste omi. PHP turvaaugud CVE-2026-109618 ja CVE-2026-109619 võimaldavad PHP meeskonna andmetel kahjuliku koodi kaugkäivitamist ilma sisselogimiseta.

Moodle'i serverid on peaaegu alati internetist kättesaadavad, sest õppijad töötavad kodus. BSI (Saksamaa föderaalne infoturbeamet) soovitab hoiatustaseme 3 puhul kohest uuendust ja kui see ei õnnestu, veebiserverid ajutiselt võrgust maha võtta. Koolide ja haridusasutuste jaoks on see korralduslikult keeruline, kuid planeeritav. Valdkonnaspetsiifilised juhised leiate lehelt Koolide ja haridusasutuste IT-turvalisus.

Moodle'i turvalisus: PHP versiooni kontrollimine veebi ja croni jaoks

Menüüs Saidi administreerimine > Server > Keskkond kontrollib Moodle PHP versiooni ja muid nõudeid. Menüüs Server > PHP-info näevad administraatorid lisaks täielikke PHP andmeid. Mõlemad kirjeldavad veebi-PHP-d.

Moodle vajab lisaks cron-tööd, mis käivitab admin/cli/cron.php regulaarselt käsurea PHP kaudu. See versioon võib erineda ja peab samuti olema paigatud. Upstream'i parandatud versioonid on 8.5.12, 8.4.27, 8.3.36 ja 8.2.35; tagasiportimised (backport) kannavad sageli vanemaid numbreid. Milliseid PHP versioone teie Moodle'i versioon toetab, kontrollige süsteeminõuete järgi dokumentatsioonis lehel moodle.org. Kuidas pärast seda kõik protsessid korralikult taaskäivitada, on kirjas lehel PHP-FPM-i ja kõigi töötajate taaskäivitamine.

Kataloogid ja konfiguratsioon Moodle'is

Koht Sisu Kontrollpunkt
config.php Andmebaasi ligipääs, wwwroot, rada moodledata-ni Sissetoodud kood, parool kahtluse korral muuta
moodledata/ Failihoidla, esitatud tööd, sessioonid, vahemälud Väljaspool dokumendijuurt, PHP faile pole
mod/, blocks/, local/, theme/ Tegevused, plokid, kohalikud laiendused, kujundused Tundmatud või muudetud pluginad
admin/cli/ Käsurea skriptid Kasutatav ainult CLI kaudu

Moodle pakub sätet, mis takistab programmiradade muutmist veebiliidese kaudu. See kuulub faili config.php ja raskendab kaaperdatud admin-konto kaudu serveris programmide kutsumist:

$CFG->preventexecpath = true;

Ohutud kontrollid käsurealt, veebiserveri kasutajana:

# Moodle'i enda oleku- ja turvakontrollide väljastamine
php admin/cli/checks.php
php admin/cli/checks.php --type=security
# PHP failide otsimine andmekataloogist (kohandage rada)
find /pfad/zu/moodledata -type f -name "*.php"
Oluline

Andmelekke kahtluse korral koolis või kõrgkoolis on kiiresti kaasatud mitu osapoolt: koolijuhtkond, pidaja, andmekaitsespetsialistid ja vajaduse korral järelevalveasutus. Varundage logid alates 20.10.2026 ja dokumenteerige iga meede kellaajaga.

Pluginad, admin-kontod ja üleslaadimised

Praktiline nõuanne planeerimiseks: PHP uuendused ja taaskäivitused ei tohiks langeda eksamiperioodidesse ega käimasolevatesse veebitestidesse. Moodle'il on hooldusrežiim, mis teavitab kasutajaid ette. PHP2Shelli eest see aga ei kaitse, sest ka hooldusleht serveeritakse PHP kaudu.

Moodle elab pluginatest: tegevused, eksamitööriistad, ühendused videokonverentside ja koolihaldusega. Iga plugin on lisa-PHP kood ja peab sobima Moodle'i versiooniga. Saidi administreerimises näitab Moodle tuumiku ja pluginate saadaolevaid uuendusi. Eemaldage pluginad, mida keegi enam ei kasuta, täielikult.

Kontrollige saidi administraatorite loendit ja globaalseid rolle kaugeleulatuvate õigustega. Õpetajad ja kursuste loojad ei vaja tavaliselt globaalseid õigusi. Aktiveerige kaheastmeline autentimine vähemalt administraatoritele. Lubatud failitüübid üleslaadimiseks tuleks määrata nii kitsalt kui võimalik; selle kohta annab juhiseid leht Failide üleslaadimise turvaline teostus PHP-s.

Mida Moodle'i uuendus suudab ja mida mitte

Moodle'i uuendus sulgeb vead Moodle'is ja võimaldab sageli uuemaid PHP versioone. See ei paiga PHP-d, ei taaskäivita veebi- ega cron-protsesse ega eemalda võõraid faile kataloogist moodledata, lisaadministraatoreid ega muudetud pluginaid. Ka seda, kas andmeid enne paika lekkis, uuendus ei vasta.

Moodle logib sisselogimisi ja toiminguid lisaks oma logidesse, mida administraatorid näevad menüüs Saidi administreerimine > Aruanded. Otsige sealt sihipäraselt silmatorkavaid administraatorite sisselogimisi, globaalsete rollidega uusi kontosid ja plugina paigaldusi alates 17.10.2026. Eksportige need kirjed, enne kui automaatsed puhastused vanemad andmed kustutavad. Aruanded täiendavad veebiserveri logisid, kuid ei asenda neid.

Kuidas PHP SOS konkreetselt aitab?

  • Selgitame välja PHP eest vastutuse ning laseme veebi ja croni paigataseme ning taaskäivituse kinnitada.
  • Varundame logid, andmebaasi ja moodledata enne iga muudatust.
  • Kontrollime konfiguratsiooni, pluginaid, administraatoreid, rolle ja üleslaadimisi.
  • Soovi korral hooldame platvormi püsivalt turvahoolduslepingus, kooskõlastatult õppeaasta ja eksamiperioodidega.

Korduma kippuvad küsimused

Kas Moodle on PHP2Shellist mõjutatud?

Moodlel endal uut turvaauku ei ole, kuid see töötab PHP peal. Kui serveri PHP on paigamata, võib ründaja PHP meeskonna andmetel koodi käivitada ilma sisselogimiseta. Moodle'i uuendus seda ei muuda.

Kust ma Moodle'is PHP versiooni näen?

Menüüs Saidi administreerimine > Server > Keskkond kontrollib Moodle PHP versiooni oma nõuete vastu. Kas tagasiportimine (backport) on sisse toodud, Moodle ei näita; seda kinnitab serveri haldaja.

Miks peab moodledata asuma väljaspool veebikataloogi?

Seal asuvad üleslaaditud failid, esitatud tööd, sessioonid ja vahemälud. Kui kataloog on veebi kaudu kättesaadav, saab sisu võib-olla otse kätte. Moodle nõuab seetõttu asukohta väljaspool dokumendijuurt.

Kes vastutab koolide puhul PHP uuenduse eest?

See on erinev: koolipidaja, riigiasutus, kohalik andmekeskus või teenuseosutaja. Selgitage vastutus kirjalikult ja laske paigatase ning taaskäivitus kinnitada.

Allikad

Kohene kontakt

Iga tund loeb. Kirjutage meile kohe.

Kirjeldage lühidalt süsteemi, PHP versiooni ja tähelepanekut. Võtame teiega ühendust, selgitame olukorra välja ja töötame kaugtööna, kuni intsident on lõpetatud ja dokumenteeritud.

Kohene abi