Aktuální situace: PHP2Shell. Dvě kritické zranitelnosti PHP (CVSS 9.2) umožňují spustit škodlivý kód bez přihlášení. Záplaty od 21. 10. 2026.Co nyní udělat →

Automatické bezpečnostní aktualizace na serverech s Linuxem

Podle zpráv distribuce dodávaly backporty PHP zčásti už 21. října 2026, v den záplat. Kdo používá automatické bezpečnostní aktualizace, měl je na serveru rychle. Aby i zabíraly, je třeba restarty, zdroje třetích stran a kontrola.

Stav 5 min čteníHardening a konfigurace

Stručně: Pomocí unattended-upgrades v Debianu a Ubuntu a dnf-automatic v rodině RHEL nasazují servery s Linuxem bezpečnostní aktualizace samy. Aby aktualizace také zabrala, musí se dotčené služby jako PHP-FPM poté restartovat; ověřte to pomocí needrestart nebo časů spuštění procesů. Zdroje třetích stran jako sury.org je třeba výslovně povolit, kontejnery a změny hlavní verze automatika nepokrývá.

Od záplaty na server: automatika šetří čas

Když php.net 21. října 2026 v 16:00 německého času zveřejnil záplaty proti PHP2Shell, začal pro správce závod. Podle zpráv distribuce své backporty dodávaly zčásti ještě týž den. Servery s automatickými bezpečnostními aktualizacemi mohly nové balíčky nainstalovat při nejbližším plánovaném běhu, aniž by musel někdo zasahovat.

To je dobrá zpráva. Méně dobrá: nainstalováno neznamená účinné. Služba PHP-FPM, která běží týdny, pracuje dál se starým kódem v paměti, dokud se nerestartuje. A balíčky ze zdrojů třetích stran, kontejnery nebo hostingové panely s vlastní správou PHP automatika často nechá nedotčené.

Tento článek ukazuje, jak nastavit automatické bezpečnostní aktualizace a doplnit je tak, aby v ostrém případě skutečně chránily.

unattended-upgrades v Debianu a Ubuntu

V Ubuntu je balíček unattended-upgrades standardně nainstalován a nasazuje bezpečnostní aktualizace. V Debianu jej v případě potřeby doinstalujete. Řídí se dvěma soubory pod /etc/apt/apt.conf.d/.

sudo apt install unattended-upgrades apt-listchanges
sudo dpkg-reconfigure -plow unattended-upgrades

Soubor 20auto-upgrades určuje, zda a jak často se aktualizují seznamy balíčků a nasazují aktualizace. Hodnota je počet dnů, "1" znamená denně:

// /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

V 50unattended-upgrades je uvedeno, z jakých zdrojů smějí aktualizace pocházet, zda se poté restartuje a kdo dostane zprávu. Standardně jsou povoleny jen oficiální bezpečnostní zdroje distribuce. Podle dokumentace Ubuntu nestačí zapojit další repozitář: musí navíc stát v tomto seznamu, jinak jej automatika ignoruje. Týká se to například repozitáře třetí strany sury.org, který podle zpráv poskytoval buildy PHP pro všechny větve od 5.6 do 8.5. Pozadí je v článku Repozitář sury.org.

Zda je všechno v pořádku, ukáže zkušební běh, který nic nemění:

sudo unattended-upgrade -v --dry-run
# Protokoly skutečných běhů
ls -l /var/log/unattended-upgrades/

dnf-automatic v RHEL, AlmaLinux a Rocky Linux

V rodině RHEL přebírá stejný úkol dnf-automatic. Konfigurace leží v /etc/dnf/automatic.conf. Podle dokumentace upgrade_type = security kontroluje jen aktualizace s bezpečnostním upozorněním a apply_updates je standardně vypnuto.

# /etc/dnf/automatic.conf (výňatek)
[commands]
upgrade_type = security
download_updates = yes
apply_updates = yes
reboot = never
sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic.timer
systemctl list-timers 'dnf-automatic*'

Vedle dnf-automatic.timer, který se řídí konfiguračním souborem, existují časovače, které jen hlásí, jen stahují nebo vždy instalují. Pro začátek je časovač s konfiguračním souborem nejlépe srozumitelný.

Podceňovaná část: restart služeb

Správce balíčků nahrazuje soubory na disku. Běžící procesy si ponechávají starý kód v paměti. U PHP to znamená: dokud PHP-FPM nebo Apache s mod_php nejsou restartovány, zůstává zranitelnost otevřená.

Nástroj Systém Co dělá
needrestart Debian, Ubuntu rozpozná služby se zastaralými soubory; v Ubuntu od 24.04 je standardně automaticky restartuje
dnf needs-restarting -s rodina RHEL vypíše služby, které by se měly restartovat
Automatic-Reboot unattended-upgrades restartuje server, pokud to aktualizace vyžaduje; standardně vypnuto
reboot dnf-automatic never, when-changed nebo when-needed

Podle dokumentace Ubuntu běží služby, které jsou z needrestart vyloučeny, až do ručního restartu se starými soubory. Po každé aktualizaci PHP proto zkontrolujte čas spuštění procesů, jak je popsáno v článku Restart PHP-FPM a všech workerů.

Důležité

U backportů zůstává zobrazené číslo verze PHP často stejné. Záplatu doložíte changelogem balíčku s čísly CVE, například pomocí apt-get changelog nebo rpm -q --changelog. Jak na to podrobně, ukazuje Debian a Ubuntu: je můj balíček PHP záplatován?.

Co automatika nepokrývá

Automatické aktualizace jsou stavební kámen, ne úplná správa záplat. Některé oblasti potřebují vlastní postupy:

  1. Kontejnery: PHP v imagích Dockeru se aktualizacemi hostitele neaktualizuje. Image znovu sestavit, kontejnery znovu vytvořit.
  2. Hostingové panely: Plesk, cPanel a podobné panely spravují PHP zčásti přes vlastní balíčky a mechanismy.
  3. Hlavní verze: Přechod například z PHP 8.2, které dosáhne konce podpory 31. 12. 2026, na novější verzi se automaticky neděje.
  4. Aplikace: CMS, pluginy a závislosti Composeru mají vlastní cesty aktualizací.
  5. Kontrola: Někdo musí číst protokoly a chybová hlášení automatiky. Potichu selhávající běh je horší než žádný, protože předstírá bezpečí.

Jak tyto části srůstají v proces, popisuje Správa záplat jako proces místo hašení požárů.

Závěr: automatika ano, slepá důvěra ne

Automatické bezpečnostní aktualizace patří na každý server s Linuxem dostupný z internetu. PHP2Shell ukázalo, jak málo času může zbýt: podle zpráv médií byl první pokus o útok pozorován už 17. října, čtyři dny před záplatami. Kdo poté stále čeká na ruční servisní okno, ztrácí cenný čas.

Automatika vám však odebírá jen nasazení. Restart služeb, doložení stavu záplat, kontejnery, panely a včasný přechod na podporované verze zůstávají úkoly, za které musí někdo odpovídat. Určete tuto odpovědnost písemně a namátkou kontrolujte, zda se protokoly automatiky skutečně čtou. Teprve kombinace automatiky a kontroly činí aktualizace spolehlivými.

Jak konkrétně pomáhá PHP SOS?

  • Nastavit: Nakonfigurujeme unattended-upgrades nebo dnf-automatic podle vašich serverů, včetně povolených zdrojů třetích stran.
  • Zajistit restarty: Zavedeme needrestart nebo odpovídající kontroly a po aktualizacích PHP ověřujeme časy spuštění procesů.
  • Uzavřít mezery: Kontejnery, panely a změny hlavní verze zařadíme do pevného servisního postupu.
  • Kontrolovat: V rámci smlouvy o bezpečnostní údržbě kontrolujeme protokoly automatiky a hlásíme nápadnosti.

Časté dotazy

Nejsou automatické aktualizace na produkčních serverech příliš riskantní?

Omezené na bezpečnostní aktualizace distribuce je riziko zpravidla menší než riziko otevřené zranitelnosti. Tyto aktualizace nemají přinášet nové funkce, ale opravovat chyby. U kritických systémů patří k tomu zálohy, monitoring a testovací systém.

Restartuje unattended-upgrades PHP-FPM po aktualizaci?

Ne nutně samo. V Ubuntu od verze 24.04 nástroj needrestart dotčené služby standardně restartuje automaticky, vyloučené služby ale běží dál se starými soubory. Po každé aktualizaci PHP zkontrolujte čas spuštění všech procesů PHP.

Aktualizují se balíčky ze sury.org nebo jiných zdrojů třetích stran automaticky?

Jen pokud zdroj výslovně povolíte. Podle dokumentace Ubuntu nestačí repozitář přidat; musí navíc stát v seznamu povolených původů unattended-upgrades.

Zvedne automatika i PHP 8.2 na 8.3?

Ne. Automatické bezpečnostní aktualizace zůstávají v rámci nainstalovaných verzí balíčků. Změna hlavní verze PHP, například před koncem podpory PHP 8.2 31. 12. 2026, zůstává plánovaným projektem s testy.

A co kontejnery Dockeru?

Aktualizace na hostiteli verzi PHP v kontejnerech neaktualizují. Image kontejnerů je nutné znovu sestavit nebo stáhnout a kontejnery znovu vytvořit.

Zdroje

Okamžitý kontakt

Každá hodina se počítá. Napište nám hned.

Stručně popište systém, verzi PHP a pozorování. Ozveme se, vyjasníme situaci a budeme pracovat na dálku, dokud nebude incident uzavřen a zdokumentován.

Okamžitá pomoc