# Vlastné zabezpečenie root servera a vServeru

> Zabezpečenie vServeru po PHP2Shell: skontrolujte balíky PHP, rozpoznajte backporty, reštartujte workerov a root server trvalo spevnite.

Zdroj: https://phpsos.de/sk/server/root-server-vserver/  
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:** Kto spravuje root server alebo vServer sám, musí ho po PHP2Shell aj sám zabezpečiť: dostať balíky PHP na opravený stav, reštartovať všetky procesy PHP a skontrolovať výsledok. Prevádzkovateľ dátového centra sa spravidla stará iba o hardvér, virtualizáciu a sieť. Potom sa oplatí server trvalo spevniť.

## Vaša zodpovednosť pri vlastnom serveri

Pri nespravovanom root serveri alebo vServeri si prenajímate výpočtový výkon, nie starostlivosť. Operačný systém, webový server, PHP, databáza, firewall, zálohy a monitorovanie sú vo vašich rukách. Pre vedenie a majiteľov to znamená: ak tieto úlohy výslovne neprevzal nikto vo firme ani externý dodávateľ, nevykoná ich nikto.

PHP2Shell to robí viditeľným. Obe zraniteľnosti CVE-2026-109618 a CVE-2026-109619 sú v samotnom PHP a umožňujú spustenie kódu bez prihlásenia. Projekt PHP zverejnil 21. 10. 2026 verzie 8.5.12, 8.4.27, 8.3.36 a 8.2.35. BSI (nemecký Spolkový úrad pre informačnú bezpečnosť) odporúča okamžitú aktualizáciu a, ak to nejde, webový server dočasne odpojiť od siete.

## Zabezpečenie vServeru: skontrolujte stav a balíky

Najprv si urobte prehľad, aké verzie PHP sú nainštalované a z akého zdroja pochádzajú. Mnohé servery používajú popri balíkoch distribúcie ďalšie zdroje balíkov. Nasledujúce príkazy iba čítajú. Názvy balíkov sú príklady.

```bash
# Debian/Ubuntu: nainštalované balíky PHP a ich pôvod
apt list --installed 'php*' 2>/dev/null
apt-cache policy php8.3-fpm

# AlmaLinux/Rocky/RHEL
dnf list installed 'php*'

# Aké binárky PHP vôbec existujú?
ls /usr/bin/php* /usr/sbin/php-fpm* 2>/dev/null
```

Samotné číslo verzie nestačí. Distribúcie dodávajú bezpečnostné opravy často ako backport, zobrazené číslo potom zostáva staršie. Rozhoduje changelog balíka.

```bash
# Debian/Ubuntu (názov balíka ako príklad)
apt changelog php8.3-fpm 2>/dev/null | grep -iE 'CVE-2026-1096(18|19)'

# Rodina RHEL (názov balíka ako príklad)
rpm -q --changelog php-fpm | grep -iE 'CVE-2026-1096(18|19)'
```

Podrobný návod nájdete na stránke [Kontrola verzie PHP a stavu záplat](https://phpsos.de/sk/php2shell/php-version-pruefen/).

## Nasaďte aktualizáciu a obnovte všetky procesy

Aktualizácie nasaďte cez správcu balíkov a potom reštartujte každú službu, ktorá načítava PHP. Podľa architektúry je to PHP-FPM, Apache s mod_php, LiteSpeed alebo aplikačný server. Nové súbory na disku nestačia, kým v pamäti bežia staré procesy.

```bash
# Nájdenie služieb s PHP
systemctl list-units --type=service | grep -iE 'php|apache2|httpd|lsws'

# Zobrazenie procesov s časom spustenia
ps -eo pid,lstart,cmd | grep -E 'php|apache2|httpd' | grep -v grep

# Debian/Ubuntu: rozpoznanie programov so zastaranými knižnicami (ak je nainštalované)
needrestart -r l
```

Každý relevantný proces by mal byť spustený po aktualizácii. Užitočný je nástroj `needrestart` v systémoch Debian, ktorý zobrazí služby so zastaranými knižnicami. Podrobnosti o reštarte opisuje stránka [Reštart PHP-FPM a všetkých workerov](https://phpsos.de/sk/php2shell/php-fpm-neustart/).

> **Dôležité:**
> Záplata neodstráni škodlivý softvér, ktorý bol zavlečený pred aktualizáciou. Uchovajte logy webového servera od 20. 10. 2026 a skontrolujte server na stopy, kým ho zaradíte medzi čistý.

Na prvé hľadanie stôp sa hodí niekoľko kontrol, ktoré nič nemenia. Hľadajte súbory PHP, ktoré boli od 17. 10. 2026 v adresároch webu nanovo vytvorené alebo zmenené, neznáme záznamy v crontabs všetkých používateľov, nových systémových používateľov a kľúče SSH, ako aj procesy používateľa webového servera, ktoré držia odchádzajúce spojenia.

```bash
# Súbory PHP zmenené od 17. 10. 2026 (cesta ako príklad)
find /var/www -type f -name '*.php' -newermt '2026-10-17' -ls

# Sieťové spojenia s príslušným procesom
ss -tupn
```

Žiadna z týchto kontrol sama osebe nepreukazuje vlámanie a prázdny výsledok nepreukazuje opak. Ukážu však, či je potrebné hlbšie vyšetrenie. Pracujte s kópiami logov a podozrivé súbory nemeňte, kým nie je stav zabezpečený. Pri nálezoch je bezpečnou cestou usporiadané vyšetrenie. Server v takom prípade jednoducho nevypínajte a ihneď ho neinštalujte nanovo, pretože tým sa strácajú stopy, ktoré sú dôležité pre posúdenie oznamovacích povinností a pre prípadné trestné oznámenie.

## Server trvalo spevnite

Po akútnej záplate nasleduje základné zabezpečenie. Nezabráni každej zraniteľnosti, ale obmedzí škodu a skráti čas reakcie nabudúce. Osvedčili sa tieto body:

- **Prístupy:** SSH iba s kľúčom, žiadne priame prihlásenie root, správcovské rozhrania dostupné len zo známych sietí.
- **Firewall:** otvorte iba porty, ktoré sa skutočne potrebujú, odchádzajúce spojenia webového servera obmedzte.
- **Konfigurácia PHP:** vypnite nebezpečné funkcie, `open_basedir` pre každý web, samostatné pooly a používatelia pre každú aplikáciu.
- **Práva k súborom:** webový server nesmie zapisovať do programového kódu, adresáre na nahrávanie nespúšťajú PHP.
- **Aktualizácie:** bezpečnostné aktualizácie nasadzujte automaticky, reštart a kontrolu pevne naplánujte.
- **Zálohy:** zálohovanie podľa pravidla 3-2-1, aspoň jedna kópia mimo servera a chránená pred zmenou.
- **Protokoly:** logy zbierajte centrálne a uchovávajte dostatočne dlho.

Ako vyzerá spoľahlivá záloha, opisuje stránka [Zálohy podľa pravidla 3-2-1](https://phpsos.de/sk/ratgeber/backups-3-2-1/). Ako rámec pre firmy sa hodí IT-Grundschutz od BSI.

## Kedy je managed server lepšou voľbou

Vlastný server sa oplatí, ak údržbu spoľahlivo prevezme niekto: sledovať aktualizácie, posudzovať situácie ako PHP2Shell, vedieť reagovať aj v noci. Ak táto kapacita chýba, zmysel má buď managed server, alebo pevná zmluva o údržbe. Dôležité je v oboch prípadoch zachytiť zodpovednosti písomne. Viac nájdete na stránke [Managed server: vyjasnenie zodpovednosti](https://phpsos.de/sk/server/managed-server/).

## Ako konkrétne pomáha PHP SOS?

- Zaznamenáme všetky inštalácie PHP, zdroje balíkov a služby vášho servera a posúdime skutočný stav záplat.
- Nasadíme aktualizácie, reštartujeme všetky procesy a výsledok zdokumentujeme.
- Server skontrolujeme na stopy kompromitácie a zabezpečíme logy na neskoršie vyhodnotenie.
- V rámci nášho [spevnenia servera (hardening)](https://phpsos.de/sk/leistungen/server-haertung/) čisto nastavíme prístupy, firewall, pooly PHP a práva.
- Na požiadanie preberáme priebežnú starostlivosť cez [zmluvu o bezpečnostnej údržbe](https://phpsos.de/sk/leistungen/security-wartungsvertrag/).


## Časté otázky

**Záplatuje moje dátové centrum vServer automaticky?**  
Pri nespravovaných root serveroch a vServeroch spravidla nie. Poskytovateľ zabezpečuje hardvér alebo virtualizáciu a sieť, operačný systém a všetky služby na ňom spravujete sami. Pri pochybnostiach si overte svoju zmluvu.

**Stačia automatické bezpečnostné aktualizácie?**  
Pomáhajú, ale kontrolu nenahrádzajú. Automatické aktualizácie nie vždy reštartujú bežiace procesy PHP a balíky z cudzích zdrojov často nepokrývajú. Po každej bezpečnostnej aktualizácii skontrolujte stav balíkov a časy spustenia procesov.

**Ako zistím, či môj balík obsahuje backport?**  
V changelogu balíka a v bezpečnostných hláseniach vašej distribúcie. Ak je tam číslo CVE, oprava je obsiahnutá, aj keď číslo verzie pôsobí staršie. Ak záznam chýba, objasnite stav skôr, než server zaradíte medzi záplatované.

**Čo robiť, ak pre moju verziu PHP záplata nevyjde?**  
PHP 8.1 a staršie už oficiálne aktualizácie nedostávajú. Nastavte prechodné opatrenia podľa php.net, rýchlo naplánujte prechod na podporovanú verziu a podľa odporúčania BSI server v prípade potreby dočasne odpojte od siete.

## Zdroje

- [php.net: bezpečnostné hlásenia](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [php.net: podporované verzie](https://www.php.net/supported-versions.php)
- [BSI IT-Grundschutz](https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/IT-Grundschutz/it-grundschutz_node.html)
