Modul 7 · 7.2
Udržujte aktualizace v pořádku
Modul 7: Zabezpečení · Doba čtení: 8 minut
Cíl lekce: Po této lekci budete umět nastavit aktualizace tak, aby probíhaly rychle a bezpečně, a budete vědět, co dělat s pluginem, který už aktualizace nedostává.
Klíčové pojmy: malá verze, velká verze, bezpečnostní aktualizace, automatické aktualizace (jádro, pluginy, šablony), rollback, aktualizace instalátorem, opuštěný plugin, changelog, testovací prostředí (staging) pro velké aktualizace
Proč je rychlá aktualizace důležitější než opatrné čekání
Lekce 7.1 to ukázala: útočníci hledají známé bezpečnostní díry, pro které už existuje oprava. Mezi vydáním opravy a prvními hromadnými skenováními bývá někdy jen pár hodin nebo dní. Kdo "nejdřív měsíc počká, jestli je aktualizace v pořádku", je ten měsíc zranitelný.
Zároveň může aktualizace něco rozbít. Řešením není čekat, ale zařídit, aby aktualizace probíhala automaticky, rychle a byla vratná:
- malé aktualizace a aktualizace pluginů automaticky;
- záloha těsně před aktualizací, s automatickým návratem, pokud se něco pokazí;
- velké aktualizace nejprve otestovat v testovacím prostředí (staging) (lekce 8.3), ale v řádu dnů, ne měsíců.
Malé a velké verze WordPressu
WordPress čísluje verze jako 7.1.4:
- 7.1 je velká verze (major release). Vychází jich několik ročně, s novými funkcemi.
- .4 je malá verze (minor release): opravy a bezpečnostní aktualizace, bez velkých změn.
Od verze 3.7 instaluje WordPress malé verze a bezpečnostní aktualizace automaticky, pokud jste to nevypnuli. Velké verze standardně instalujete sami, pomocí tlačítka na Nástěnka > Aktualizace. V souboru wp-config.php můžete toto chování řídit:
define( 'WP_AUTO_UPDATE_CORE', 'minor' ); // standardní: pouze malé verze
define( 'WP_AUTO_UPDATE_CORE', true ); // i velké verze
define( 'WP_AUTO_UPDATE_CORE', false ); // nic automaticky (nedoporučeno)Vyberte si jeden z těchto tří řádků. Výchozí nastavení (minor) je pro většinu webů v pořádku; pokud Vám velké verze aktualizuje Váš instalátor nebo hoster, je to také v pořádku.
WordPress oficiálně podporuje pouze nejnovější velkou verzi. Bezpečnostní opravy se po nějakou dobu zpětně vydávají i pro starší řady, ale na to se nedá spoléhat.
Pluginy a šablony automaticky
Od verze WordPress 5.5 můžete u Pluginy u každého pluginu zapnout Zapnout automatické aktualizace, a u Vzhled > Šablony u každé šablony zvlášť. Zapněte to pro většinu pluginů: právě tam se nachází bezpečnostní díry (lekce 7.1).
Od verze WordPress 6.6 WordPress po automatické aktualizaci pluginu zkontroluje, zda web ještě funguje. Pokud aktualizace způsobí fatální chybu, WordPress vrátí předchozí verzi (rollback) a Vy dostanete e-mail. Tím se eliminuje největší riziko automatických aktualizací: bílá obrazovka webu, kterou si všimnete třeba až za týden.
Instalátory jako Installatron (lekce 2.2) to umí také: se zálohou předem a návratem, pokud aktualizace selže. Používejte vědomě jeden z obou systémů; nevylučují se, ale chcete vědět, kdo co dělá.
Výjimky, kdy automatické aktualizace někdy vypnete:
- plugin, u kterého víte, že velké verze často něco mění (nástroj pro tvorbu stránek, plugin e-shopu s propojeními); takový aktualizujte po otestování v testovacím prostředí (staging), ale rychle;
- šablona s úpravami přímo v souborech. Lepší je: dát tyto úpravy do podřazené šablony (child theme) (lekce 5.2), pak může nadřazená šablona aktualizovat normálně automaticky.
Placené pluginy
Placené pluginy dostávají aktualizace pouze dokud běží Vaše licence. Propadlá licence znamená: žádné bezpečnostní aktualizace. Hlídejte si své licence (lekce 9.4). A placený plugin stažený z nějaké stránky s nabídkami ke stažení nedostává aktualizace vůbec (lekce 5.3).
Opuštěný plugin
Plugin bez aktualizací po dlouhou dobu, nebo plugin odstraněný z adresáře pluginů na wordpress.org ("Tento plugin byl uzavřen"), už žádné opravy nedostane. Co dělat:
- Zjistěte proč. U uzavřeného pluginu bývá často uveden důvod (například bezpečnostní problém). Pokud jde o bezpečnostní problém, jednejte okamžitě.
- Najděte alternativu, která je aktivně udržovaná (lekce 5.3), nebo zvažte, zda danou funkci ještě potřebujete.
- Nahraďte jej v testovacím prostředí (staging), otestujte a starý plugin potom úplně odstraňte.
Nechat opuštěný plugin "pro jistotu" nainstalovaný je přesně to riziko, kterému se chcete vyhnout.
Čtení changelogu
U každé aktualizace je uveden changelog: co se změnilo. Najdete jej na Nástěnka > Aktualizace nebo na stránce pluginu (záložka Vývoj nebo Changelog). Všímejte si zejména slov jako "security", "bezpečnost" nebo "fix vulnerability": v takovém případě chcete aktualizovat co nejdříve. A slov jako "breaking change", "requires PHP 8.x" nebo "nová verze": v takovém případě nejprve otestujte.
Po aktualizaci
- Prohlédněte si svůj web, včetně nejdůležitějších funkcí (formulář, košík, přihlášení).
- Přečtěte si e-maily od WordPressu nebo svého instalátoru o úspěšných, neúspěšných nebo vrácených aktualizacích. Rollback znamená, že znovu běží stará (zranitelná) verze: vyřešte to, často i aktualizací PHP, šablony nebo jiného pluginu, nebo nahrazením pluginu.
- Podívejte se do nástroje Stav webu (lekce 5.4), zda tam ještě jsou nějaká upozornění.
V praxi: jak to vypadá v panelu
V administraci WordPressu:
- Nástěnka > Aktualizace: stav WordPressu, pluginů a šablon. Je zde uvedeno také to, zda jsou zapnuté automatické aktualizace pro velké verze.
- Pluginy: ve sloupci Automatické aktualizace u každého pluginu "zapnout" nebo "vypnout". Nahoře můžete pomocí Hromadné akce zapnout více najednou.
- Vzhled > Šablony: klikněte na šablonu pro tlačítko automatických aktualizací.
V Installatronu (DirectAdmin) to nastavíte pro každou instalaci u Upravit > Nastavení > Auto-Update. V Softaculous (cPanel) a WP Toolkit (Plesk) najdete stejnou volbu v nastavení instalace.
Shrnutí
- Známé bezpečnostní díry jsou rychle zneužívány; aktualizace musí probíhat rychle, automaticky a musí být vratná.
- WordPress instaluje malé verze automaticky (od verze 3.7); velké verze standardně po kliknutí, nebo automaticky, pokud si to zvolíte.
- Zapněte automatické aktualizace pro většinu pluginů a šablon; od verze 6.6 WordPress vrací neúspěšné aktualizace pluginů zpět.
- Propadlá licence nebo opuštěný plugin znamená žádné bezpečnostní aktualizace: nahraďte ho.
- Přečtěte si changelog a e-maily po aktualizaci; rollback aktivně vyřešte.
Kvíz
Úkol
Úkol A7.2: Je Váš WordPress aktuální? Podívejte se v administraci svého webu na Nástěnka > Aktualizace, jakou verzi WordPressu máte, a vyplňte ji spolu se svou doménou. Program načte nejnovější verzi z veřejného API verzí na wordpress.org a porovná: zelená, pokud máte nejnovější verzi, oranžová, pokud jste ve stejné velké verzi, ale chybí Vám malá aktualizace, červená, pokud běžíte na starší velké verzi. Vyplňte také, kolik pluginů má zapnuté automatické aktualizace a kolik ne, a proč.
Další čtení
Tyto články popisují kroky v panelech WebOké; v jiných panelech fungují obdobně.
- Příručka k DirectAdmin 13.5: Aktualizace a automatické aktualizace
- Aktualizace Joomly a WordPressu přes Installatron
- Chyba 500 nebo „kritická chyba“ na Vašem webu (i po aktualizaci WordPress)
- Nastavení automatických aktualizací (wordpress.org, anglicky): https://wordpress.org/documentation/article/configuring-automatic-background-updates/
