# Bezpečnosť Moodle po PHP2Shell: ako správne zabezpečiť vzdelávacie platformy

> Zabezpečte Moodle po PHP2Shell: skontrolujte PHP v Server > Prostredie, reštartujte cron, chráňte moodledata a overte pluginy a admin účty.

Zdroj: https://phpsos.de/sk/plattformen/moodle/  
Stav: 25.10.2026  
Poskytovateľ: PHP SOS, Núdzová pomoc pri PHP a bezpečnosť serverov. Okamžitá pomoc cez WhatsApp: https://wa.me/491736494914?text=Dobr%C3%BD%20de%C5%88%2C%20PHP%20SOS%2C%20potrebujeme%20pomoc%20s%20na%C5%A1%C3%ADm%20serverom%20s%20PHP.%20Spolo%C4%8Dnos%C5%A5%3A%20%E2%80%A6%20Web%3A%20%E2%80%A6

**Stručne:** Bezpečnosť Moodle závisí po PHP2Shell od PHP servera, nie od Moodle. Keďže vzdelávacie platformy spracúvajú údaje žiakov, študentov a zamestnancov, je rýchle konanie dôležité. Záplatujte PHP pre web aj cron, reštartujte všetky procesy a skontrolujte `config.php`, `moodledata`, pluginy a admin účty.

## Čo PHP2Shell znamená pre prevádzkovateľov Moodle

Moodle je rozšírené na školách, vysokých školách, vo vzdelávaní dospelých a pre interné školenia vo firmách. Platforma spravuje mená, e-mailové adresy, príslušnosť ku kurzom, známky, odovzdané skúšky a príspevky vo fórach, na školách často maloletých. Zraniteľnosti PHP CVE-2026-109618 a CVE-2026-109619 podľa tímu PHP umožňujú spustenie škodlivého kódu na diaľku bez prihlásenia.

Servery Moodle sú takmer vždy dostupné z internetu, pretože sa študuje z domu. BSI (nemecký Spolkový úrad pre informačnú bezpečnosť) odporúča pri stupni varovania 3 okamžitú aktualizáciu a, ak to nejde, webové servery dočasne odpojiť od siete. Pre školy a vzdelávacie inštitúcie je to organizačne ťažké, ale plánovateľné. Odvetvové informácie nájdete na stránke [IT bezpečnosť pre školy a vzdelávacie inštitúcie](https://phpsos.de/sk/branchen/schulen-bildung/).

## Bezpečnosť Moodle: skontrolovať verziu PHP pre web a cron

Pod **Administrácia webu > Server > Prostredie** kontroluje Moodle verziu PHP a ďalšie požiadavky. Pod Server > Informácie o PHP vidia administrátori navyše úplné údaje o PHP. Obe popisujú webové PHP.

Moodle okrem toho potrebuje cron úlohu, ktorá pravidelne spúšťa `admin/cli/cron.php` cez PHP z príkazového riadku. Táto verzia sa môže líšiť a musí byť tiež záplatovaná. Opravené upstream verzie sú 8.5.12, 8.4.27, 8.3.36 a 8.2.35; backporty často nesú staršie čísla. Ktoré verzie PHP vaša verzia Moodle podporuje, skontrolujte podľa systémových požiadaviek v dokumentácii na moodle.org. Ako potom čisto reštartovať všetky procesy, je na stránke [Reštartovať PHP-FPM a všetkých workerov](https://phpsos.de/sk/php2shell/php-fpm-neustart/).

## Adresáre a konfigurácia v Moodle

| Miesto | Obsah | Bod kontroly |
|---|---|---|
| `config.php` | Prístup k databáze, `wwwroot`, cesta k `moodledata` | Vložený kód, pri podozrení zmeniť heslo |
| `moodledata/` | Úložisko súborov, odovzdané práce, relácie, cache | Mimo koreňa dokumentov, žiadne súbory PHP |
| `mod/`, `blocks/`, `local/`, `theme/` | Aktivity, bloky, lokálne rozšírenia, dizajny | Neznáme alebo zmenené pluginy |
| `admin/cli/` | Skripty príkazového riadku | Použiteľné len cez CLI |

Moodle ponúka nastavenie, ktoré bráni zmene ciest k programom cez webové rozhranie. Patrí do `config.php` a sťažuje volanie programov na serveri cez unesený admin účet:

```php
$CFG->preventexecpath = true;
```

Neškodné kontroly v príkazovom riadku, ako používateľ webového servera:

```bash
# Vypísať vlastné kontroly stavu a bezpečnosti Moodle
php admin/cli/checks.php
php admin/cli/checks.php --type=security
# Hľadať súbory PHP v dátovom adresári (cestu prispôsobiť)
find /pfad/zu/moodledata -type f -name "*.php"
```

> **Dôležité:**
> Pri podozrení na únik údajov na škole alebo vysokej škole je rýchlo zapojených viac miest: vedenie školy, zriaďovateľ, zodpovedné osoby za ochranu údajov a prípadne dozorný orgán. Zálohujte logy od 20. 10. 2026 a každé opatrenie zdokumentujte s časom.

## Pluginy, admin účty a nahrávky

Praktická poznámka k plánovaniu: aktualizácie PHP a reštarty by nemali spadnúť do skúšobného obdobia ani do prebiehajúcich online testov. Moodle má režim údržby, ktorý používateľov vopred informuje. Pred PHP2Shell však nechráni, pretože aj stránku údržby doručuje PHP.

Moodle žije z pluginov: aktivity, skúšobné nástroje, napojenia na videokonferencie a školskú správu. Každý plugin je dodatočný kód PHP a musí zodpovedať verzii Moodle. V administrácii webu zobrazuje Moodle dostupné aktualizácie jadra a pluginov. Pluginy, ktoré už nikto nepoužíva, úplne odstráňte.

Skontrolujte zoznam administrátorov webu a globálne roly s rozsiahlymi právami. Učitelia a tvorcovia kurzov zvyčajne globálne práva nepotrebujú. Aktivujte dvojfaktorové prihlásenie aspoň pre administrátorov. Povolené typy súborov pre nahrávky by mali byť čo najužšie; tipy k tomu ponúka stránka [Bezpečné nahrávanie súborov v PHP](https://phpsos.de/sk/ratgeber/datei-upload-sicher/).

## Čo aktualizácia Moodle dokáže a čo nie

Aktualizácia Moodle uzatvára chyby v Moodle a často umožňuje novšie verzie PHP. PHP nezáplatuje, nereštartuje ani webové, ani cron procesy a neodstráni cudzie súbory z `moodledata`, ďalších administrátorov ani zmenené pluginy. Ani to, či v čase pred záplatou unikli údaje, aktualizácia nezodpovie.

Moodle navyše zaznamenáva prihlásenia a akcie vo vlastných logoch, ktoré administrátori vidia pod Administrácia webu > Správy. Hľadajte tam cielene nápadné prihlásenia administrátorov, nové účty s globálnymi rolami a inštalácie pluginov od 17. 10. 2026. Tieto záznamy exportujte skôr, než automatické čistenie zmaže staršie údaje. Správy dopĺňajú logy webového servera, ale ich nenahrádzajú.

## Ako konkrétne pomáha PHP SOS?

- Vyjasníme zodpovednosť za PHP a necháme si potvrdiť stav záplat a reštart webu aj cronu.
- Zálohujeme logy, databázu a `moodledata` pred akoukoľvek zmenou.
- Kontrolujeme konfiguráciu, pluginy, administrátorov, roly a nahrávky.
- Na požiadanie platformu dlhodobo spravujeme v [bezpečnostnej zmluve o údržbe](https://phpsos.de/sk/leistungen/security-wartungsvertrag/), zladenej so školským rokom a skúšobnými obdobiami.


## Časté otázky

**Týka sa PHP2Shell Moodle?**  
Samotné Moodle nemá novú zraniteľnosť, ale beží na PHP. Ak je PHP servera nezáplatované, môže útočník podľa tímu PHP spustiť kód bez prihlásenia. Aktualizácia Moodle na tom nič nemení.

**Kde v Moodle vidím verziu PHP?**  
Pod Administrácia webu > Server > Prostredie kontroluje Moodle verziu PHP voči svojim požiadavkám. Či je nasadený backport, Moodle neukazuje; potvrdí to prevádzkovateľ servera.

**Prečo musí byť moodledata mimo webového adresára?**  
Nachádzajú sa tam nahrané súbory, odovzdané práce, relácie a cache. Ak je adresár dostupný cez web, dá sa obsah možno priamo vyvolať. Moodle preto vyžaduje umiestnenie mimo koreňa dokumentov.

**Kto je pri školách zodpovedný za aktualizáciu PHP?**  
Je to rôzne: zriaďovateľ školy, krajská prevádzková organizácia, komunálne dátové centrum alebo dodávateľ. Zodpovednosť si vyjasnite písomne a nechajte si potvrdiť stav záplat a reštart.

## Zdroje

- [php.net: bezpečnostné hlásenia](https://www.php.net/)
- [Moodle](https://moodle.org/)
- [BSI (nemecký Spolkový úrad pre informačnú bezpečnosť)](https://www.bsi.bund.de/)
- [GDPR čl. 33](https://dsgvo-gesetz.de/art-33-dsgvo/)
