Ukratko: Moodle sigurnost nakon PHP2Shella ovisi o PHP-u poslužitelja, a ne o Moodleu. Budući da platforme za učenje obrađuju podatke učenika, studenata i zaposlenika, brzo je djelovanje važno. Zakrpajte PHP za web i cron, ponovno pokrenite sve procese te provjerite config.php, moodledata, dodatke i admin račune.
Što PHP2Shell znači za operatere Moodlea
Moodle je raširen u školama, na visokim učilištima, u dodatnom obrazovanju i za interne edukacije u poduzećima. Platforma upravlja imenima, e-adresama, članstvima u tečajevima, ocjenama, predanim radovima i objavama na forumima, u školama često maloljetnika. PHP ranjivosti CVE-2026-109618 i CVE-2026-109619 prema PHP timu omogućuju zlonamjerni kôd na daljinu bez prijave.
Moodle poslužitelji gotovo su uvijek dostupni s interneta jer polaznici rade od kuće. BSI (njemački Savezni ured za informacijsku sigurnost) kod razine upozorenja 3 preporučuje hitno ažuriranje i, ako to nije moguće, privremeno isključivanje web-poslužitelja s mreže. Za škole i obrazovne ustanove to je organizacijski teško, ali se može planirati. Napomene specifične za sektor naći ćete na stranici IT sigurnost za škole i obrazovne ustanove.
Moodle sigurnost: provjera verzije PHP-a za web i cron
Pod Administracija web-mjesta > Poslužitelj > Okruženje Moodle provjerava verziju PHP-a i ostale zahtjeve. Pod Poslužitelj > PHP info administratori dodatno vide potpune PHP podatke. Oboje opisuje web PHP.
Moodle uz to treba cron zadatak koji redovito izvršava admin/cli/cron.php putem PHP-a naredbenog retka. Ta verzija može odstupati i također mora biti zakrpana. Ispravljene upstream verzije su 8.5.12, 8.4.27, 8.3.36 i 8.2.35; backportovi često nose starije brojeve. Koje PHP verzije podržava Vaša verzija Moodlea, provjerite prema sistemskim zahtjevima u dokumentaciji na moodle.org. Kako nakon toga uredno ponovno pokrenuti sve procese, piše na stranici Ponovno pokretanje PHP-FPM-a i svih workera.
Direktoriji i konfiguracija u Moodleu
| Mjesto | Sadržaj | Točka provjere |
|---|---|---|
config.php |
Pristup bazi podataka, wwwroot, put do moodledata |
Umetnuti kôd, nakon sumnje promijeniti lozinku |
moodledata/ |
Pohrana datoteka, predani radovi, sesije, predmemorije | Izvan korijena dokumenata, nema PHP datoteka |
mod/, blocks/, local/, theme/ |
Aktivnosti, blokovi, lokalna proširenja, dizajni | Nepoznati ili izmijenjeni dodaci |
admin/cli/ |
Skripte naredbenog retka | Koriste se samo putem CLI-ja |
Moodle nudi postavku koja sprječava mijenjanje putova programa putem web sučelja. Pripada u config.php i otežava da se preko preuzetog admin računa na poslužitelju pozivaju programi:
$CFG->preventexecpath = true;
Neopasne provjere u naredbenom retku, kao korisnik web-poslužitelja:
# Ispis Moodleovih vlastitih provjera stanja i sigurnosti
php admin/cli/checks.php
php admin/cli/checks.php --type=security
# Traženje PHP datoteka u direktoriju podataka (prilagodite put)
find /pfad/zu/moodledata -type f -name "*.php"
Kod sumnje na istjecanje podataka u školi ili na visokom učilištu brzo je uključeno više strana: ravnateljstvo, osnivač, službenici za zaštitu podataka i po potrebi nadzorno tijelo. Osigurajte logove od 20.10.2026. i dokumentirajte svaku mjeru s vremenom.
Dodaci, admin računi i uploadi
Praktična napomena za planiranje: PHP ažuriranja i ponovna pokretanja ne bi smjela pasti u razdoblja ispita ni u tijeku online testova. Moodle ima način održavanja koji korisnike prethodno obavještava. Od PHP2Shella, međutim, ne štiti jer i stranicu održavanja isporučuje PHP.
Moodle živi od dodataka: aktivnosti, alata za ispite, veza s videokonferencijama i školskom administracijom. Svaki je dodatak dodatni PHP kôd i mora odgovarati verziji Moodlea. U administraciji web-mjesta Moodle prikazuje dostupna ažuriranja za jezgru i dodatke. Dodatke koje nitko više ne koristi uklonite u potpunosti.
Provjerite popis administratora web-mjesta i globalne uloge s dalekosežnim pravima. Nastavnici i autori tečajeva uglavnom ne trebaju globalna prava. Aktivirajte dvofaktorsku prijavu barem za administratore. Dopuštene vrste datoteka za uploade trebaju biti što uže postavljene; napomene o tome nudi Sigurna izvedba uploada datoteka u PHP-u.
Što Moodle ažuriranje može, a što ne
Moodle ažuriranje zatvara pogreške u Moodleu i često omogućuje novije verzije PHP-a. Ne zakrpava PHP, ne pokreće ponovno ni web ni cron procese i ne uklanja strane datoteke iz moodledata, dodatne administratore ni izmijenjene dodatke. Ni na pitanje jesu li podaci iscurili u vremenu prije zakrpe ažuriranje ne odgovara.
Moodle prijave i radnje dodatno bilježi u vlastite zapisnike koje administratori pregledavaju pod Administracija web-mjesta > Izvješća. Tamo ciljano tražite upadljive prijave administratora, nove račune s globalnim ulogama i instalacije dodataka od 17.10.2026. Izvezite te unose prije nego što automatska čišćenja izbrišu starije podatke. Izvješća nadopunjuju logove web-poslužitelja, ali ih ne zamjenjuju.
Kako PHP SOS konkretno pomaže?
- Razjašnjavamo odgovornost za PHP te dajemo potvrditi stanje zakrpe i ponovno pokretanje weba i crona.
- Osiguravamo logove, bazu podataka i
moodledataprije svake promjene. - Provjeravamo konfiguraciju, dodatke, administratore, uloge i uploade.
- Na zahtjev platformu trajno održavamo u sigurnosnom ugovoru o održavanju, usklađeno sa školskom godinom i razdobljima ispita.
Česta pitanja
Pogađa li PHP2Shell Moodle?
Sam Moodle nema novu ranjivost, ali radi na PHP-u. Ako PHP poslužitelja nije zakrpan, napadač prema PHP timu može bez prijave izvršiti kôd. Moodle ažuriranje tu ništa ne mijenja.
Gdje u Moodleu vidim verziju PHP-a?
Pod Administracija web-mjesta > Poslužitelj > Okruženje Moodle provjerava verziju PHP-a prema svojim zahtjevima. Je li ugrađen backport, Moodle ne prikazuje; to potvrđuje operater poslužitelja.
Zašto moodledata mora biti izvan web direktorija?
Tamo se nalaze učitane datoteke, predani radovi, sesije i predmemorije. Ako je direktorij dostupan putem weba, sadržaji se možda mogu izravno dohvatiti. Moodle stoga zahtijeva mjesto izvan korijena dokumenata.
Tko je u školama odgovoran za PHP ažuriranje?
To je različito: osnivač škole, državna ustanova, komunalni računalni centar ili pružatelj usluga. Pisano razjasnite odgovornost i dajte si potvrditi stanje zakrpe i ponovno pokretanje.