# Varnost MediaWiki po PHP2Shell: zaščita internih wikijev

> Varnost MediaWiki po PHP2Shell: preverite PHP na Special:Version, zavarujte LocalSettings.php in images, nadzorujte Interface-Admins in Common.js.

Vir: https://phpsos.de/sl/plattformen/mediawiki/  
Stanje: 25.10.2026  
Ponudnik: PHP SOS, Nujna pomoč za PHP in varnost strežnikov. Takojšnja pomoč po WhatsAppu: https://wa.me/491736494914?text=Pozdravljeni%2C%20PHP%20SOS%2C%20potrebujemo%20pomo%C4%8D%20z%20na%C5%A1im%20stre%C5%BEnikom%20PHP.%20Podjetje%3A%20%E2%80%A6%20Spletna%20stran%3A%20%E2%80%A6

**Na kratko:** Varnost MediaWiki po PHP2Shell se začne pri PHP na strežniku, saj je ranljivost tam in ne v wikiju. Interni wikiji se pogosto leta ne dotaknejo in tečejo na starih različicah PHP. Preverite stanje na `Special:Version`, popravite in znova zaženite ter nato preglejte `LocalSettings.php`, `images` in skrbnike vmesnika.

## Zakaj so interni wikiji vabljiva tarča

MediaWiki v številnih podjetjih, organih in raziskovalnih ustanovah služi kot interni priročnik. Tam so postopki, kontaktne osebe, omrežni načrti, navodila za strežnike in včasih celo dostopni podatki, ki tja ne sodijo. Za napadalca je tak wiki zemljevid podjetja.

Ranljivosti PHP CVE-2026-109618 in CVE-2026-109619 po navedbah ekipe PHP omogočata izvajanje škodljive kode na daljavo brez prijave. Wiki, ki je bil mišljen »samo interno«, pa je dosegljiv prek interneta, je s tem neposredno ranljiv. In ker wikiji redko stojijo v žarišču IT, pogosto tečejo na starih strežnikih, večkrat še s PHP kot modulom Apache, načinom delovanja z najvišjim tveganjem po ekipi PHP.

## Varnost MediaWiki: preverite različico PHP in stanje popravkov

Stran **Special:Version** prikaže različico MediaWiki, PHP in podatkovne zbirke ter vse nameščene razširitve in teme. Odpravljene različice izvorne kode so 8.5.12, 8.4.27, 8.3.36 in 8.2.35. Številni strežniki wikijev tečejo na distribucijah Linuxa z backporti; prikazana številka potem ostane enaka, čeprav je popravljeno.

Če wiki teče na PHP 8.1 ali starejšem, uradnih posodobitev projekta PHP ni več, obstajajo samo minimalni backporti izvorne kode za 7.4, 8.0 in 8.1. Kaj takrat velja, povzema prispevek [PHP 8.1 in starejši](https://phpsos.de/sl/php2shell/php-8-1-und-aelter/). Katere različice PHP podpira vaša različica MediaWiki, preverite v sistemskih zahtevah na mediawiki.org. Zamenjava PHP lahko zahteva nadgradnjo MediaWiki.

Vzdrževalne skripte in izvajalci opravil (job runner) tečejo prek PHP v ukazni vrstici. Tudi ta različica mora biti popravljena. Če čakalna vrsta opravil teče kot trajna storitev, se mora po posodobitvi znova zagnati enako kot spletni strežnik ali PHP-FPM. Pri mod_php to pomeni ponovni zagon samega Apacheja, saj je PHP tam v procesu spletnega strežnika.

Razjasnite tudi, čigav je wiki. Interne wikije je pogosto postavil strokovni oddelek in tečejo zunaj običajnega vzdrževanja strežnikov. Brez jasne pristojnosti posodobitev PHP tam obleži najdlje.

## Mape in datoteke v MediaWiki

| Mesto | Vsebina | Točka preverjanja |
|---|---|---|
| `LocalSettings.php` | Dostop do podatkovne zbirke, `$wgSecretKey`, `$wgUpgradeKey`, pravice, nastavitve nalaganja | Vstavljena koda, ob sumu obnoviti ključe |
| `images/` | Naložene datoteke in sličice | Brez datotek PHP, brez izvajanja PHP |
| `extensions/`, `skins/` | Razširitve in podobe | Neznane ali spremenjene datoteke |
| `cache/` | Vmesni pomnilnik | Po čiščenju izprazniti |
| `maintenance/` | Vzdrževalne skripte za ukazno vrstico | Ne uporabljati prek spleta |

Mapa za nalaganje na ravni spletnega strežnika ne sme izvajati skriptov. Pod Apacheom to deluje neodvisno od načina delovanja PHP takole:

```apache
<Directory "/var/www/wiki/images">
    <FilesMatch "\.(php|phtml|phar)$">
        Require all denied
    </FilesMatch>
</Directory>
```

Neškodljiv prvi pregled:

```bash
find images -type f -name "*.php*"
ls -l LocalSettings.php
```

> **Nasvet:**
> V zgodovini različic preglejte strani `MediaWiki:Common.js` in `MediaWiki:Common.css`. Spremembe tam veljajo za vsakega obiskovalca wikija in so tipično mesto za vneseno kodo.

## Pravice, skupine in razširitve

V MediaWiki o varnosti odločajo uporabniške skupine. Pod `Special:ListUsers` in `Special:UserRights` preverite, kdo spada v skupine skrbnikov (administrators), birokratov in skrbnikov vmesnika (interface administrators). Skrbniki vmesnika lahko spremenijo JavaScript celotnega wikija; ta skupina naj bo zelo majhna.

Pri internem wikiju naj bo branje brez prijave izklopljeno in registracija novih računov blokirana. Nalaganja dovolite samo za vrste datotek, ki so res potrebne. Razširitve prinašajo lastno kodo PHP; nevzdrževane razširitve poleg tega zavirajo vsako nadgradnjo. Za pravice datotek na strežniku orientacijo daje vodnik [Pravice datotek na spletnem strežniku](https://phpsos.de/sl/ratgeber/dateirechte-webserver/).

## Kaj posodobitev MediaWiki zmore in česa ne

Posodobitev MediaWiki zamenja jedro in zapre znane napake v njem. PHP ne popravi, ne zažene znova procesov PHP, ne spremeni ničesar v `LocalSettings.php` in ne odstrani ne datotek v `images/` ne sprememb v `MediaWiki:Common.js` ne dodatnih članov skupin. Tudi ne dokazuje, da pred popravkom nihče ni bral.

Hiter pregled dajejo tudi dnevniki pod `Special:Log`. Novi uporabniški računi, spremembe pravic skupin in urejanja strani vmesnika od 17. 10. 2026 so tam zabeleženi s časom.

## Kako PHP SOS pomaga konkretno?

- Preverimo različico PHP, način delovanja in stanje backportov na vašem strežniku wikija ter dosežemo potrditev ponovnega zagona.
- Dnevnike od 20. 10. 2026, podatkovno zbirko in datoteke zavarujemo.
- Preverimo `LocalSettings.php`, nalaganja, razširitve, pravice skupin in zgodovino različic strani vmesnika.
- V okviru [nujne pomoči PHP2Shell](https://phpsos.de/sl/leistungen/php2shell-soforthilfe/) z vami ocenimo, ali mora wiki ostati javno dosegljiv.


## Pogosta vprašanja

**Ali je MediaWiki prizadet zaradi PHP2Shell?**  
MediaWiki sam nima nove ranljivosti, vendar teče na PHP. Če PHP na strežniku ni popravljen, lahko napadalec po navedbah ekipe PHP izvede kodo brez prijave. Posodobitev MediaWiki ranljivosti ne zapre.

**Kje vidim različico PHP svojega wikija?**  
Na strani Special:Version MediaWiki našteje nameščeno programsko opremo, med drugim različico PHP. Ali je nameščen backport, iz tega ne razberete; to potrdi upravljavec strežnika.

**Zakaj je MediaWiki:Common.js tveganje?**  
Vsebina te strani se kot JavaScript dostavi vsem obiskovalcem wikija. Kdor jo lahko spremeni, lahko izvede kodo v brskalniku vsakega uporabnika. Skupina skrbnikov vmesnika (Interface-Admins) mora biti zato zelo majhna.

**Ali zadošča, da je wiki dosegljiv samo interno?**  
Wiki samo v omrežju podjetja ali prek VPN tveganje občutno zmanjša, ker ga napadalci z interneta ne dosežejo neposredno. Popraviti ga morate kljub temu, saj lahko napad pride tudi iz notranjega omrežja.

## Viri

- [php.net: varnostna obvestila](https://www.php.net/)
- [MediaWiki](https://www.mediawiki.org/)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
