Jak si zabezpečit svůj web na WordPressu?

20. října 2020

Bezpečnost je tématem, které se řeší už od prvních systémů a jinak tomu není ani v případě WordPressu. Tento redakční systém má nespočet výhod, což z něj činí nejrozšířenější CMS na světě. Právě to ale pochopitelně láká i útočníky.

Roboti útočí

Drtivá většina útoků je dnes automatizována roboty. A riziko není nijak nízké. Společnost Sucuri zachytila za rok 2019 celkem přes 170 milionů útoků a vyčistila na 60 tisíc stránek.

Nejčastěji je napadený web zneužit pro SEO spam, který může výrazně uškodit především firmám, jak u vyhledávačů, tak jejich reputaci. Způsobů, jak WordPress zabezpečit, existuje celá řada a vycházejí vždy z potřeb konkrétního webu. My se podíváme na zcela základní místa, která by měla být dostatečně zabezpečena, aby se minimalizovalo riziko napadení.

Aktualizace

Nejčastějším důvodem napadení webu jsou neaktualizované pluginy, šablona či samotné jádro WordPressu. Dle Sucuri mělo 56 % napadených webů neaktualizované jádro. Útoky jsou odhalovány stále a včasná aktualizace může hrát zásadní roli v tom, zda dojde k napadení webu, nebo nikoliv.

Je tedy vhodné sledovat informace o nových zranitelnostech a především pravidelně a často aktualizovat. Z toho důvodu také není vhodné zasahovat do pluginů přímo. WordPress 5.5 navíc umožňuje automatické aktualizace přímo v základu.

Poskytovatel WordPress hostingu CZECHIA.com, poskytuje předinstalovaný WordPress, který je již nastaven, aby sám prováděl automatické aktualizace. Svým uživatelům navíc doporučují, aby si nainstalovali plug-in Vevida Optimizer, který dále rozšiřuje funkci automatické aktualizace.

https://cs.wordpress.org/plugins/vevida-optimizer/

Přihlašování do administrace

Jak už bylo zmíněno, jsou to nejčastěji roboti, kteří zkouší získat přístup do administrace tzv. brute-force útokem, kdy zkrátka stále dokola zkouší kombinace přihlašovacích jmen a hesel.

Obranou před tímto se nabízí hned několik:

  • Změna výchozí adresy pro přihlašování
  • Nepoužívání výchozího uživatelské jména “admin”
  • Používání silného hesla
  • Omezení přístupu k přihlašování (geoblokace, HTTP autentizace, pouze vybrané IP adresy)
  • Dvoufaktorové ověření

Efektivitu obrany pochopitelně zvyšuje kombinace výše uvedených opatření.

WP hosting od CZECHIE má automaticky ošetřena GeoIP pravidla, díky kterým povoluje přístup k wp-login.php a xmlrpc.php pouze jen z Česka a Slovenska. Zároveň uživatelům vždy generují silné heslo včetně zřizování výchozího účtu, který se nejmenuje admin.

Ošetřené vstupy a výstupy

WordPress je ve své výchozí konfiguraci poměrně otevřený, ať už směrem ven či dovnitř systému. Pozor je potřeba dávat zejména na funkci XML-RPC, procedury která je nejčastěji využívána právě k brute-force útokům a měla by být adekvátně chráněna (popř. zakázána, pokud není používána). Český WP hosting tyto útoky na xmlrpc.php a wp-login.php automaticky blokuje, včetně ošetření nejběžnějších sql injectů.

Další opomíjeným místem je REST API. Zatímco vývojářům dávat skvělé možnosti, tak útočníkům může snadno umožnit tzv. ENUMERACI. Ta jednoduchým zavoláním URL adresy umožňuje vypsat všechny uživatele a při nezabezpečeném přihlašování hned ví, co zkoušet. Zdali máte ošetřenu enumeraci, můžete vyzkoušet ve svém prohlížeči přes parametr /?author=X. Na Czechii tuto enumeraci uživatelů blokují přímo při zřízení služby, není tedy možné uživatele snadno vypsat.

Bezpečnostní hlavičky

Jednou z velmi podceňovaných bezpečnostních praktik jsou tzv. bezpečnostní hlavičky (angl. Security Headers). U většiny WordPress instalací je nenajdete, protože nejvhodnější je jejich nastavení přímo na úrovni serveru. Přesto ve WordPressu tuto možnost několik bezpečnostních pluginů nabízí. Druhým důvodem bude, že většina uživatelů o jejich existenci nemá ponětí, do vývojářské konzole svého prohlížeče se nedívá a jsou rádi, že se jim vše zobrazuje jak má.

I když jde “pouze” o nějaký text v hlavičce dokumentu, na úroveň zabezpečení mohou mít velký vliv. Hlavičky totiž nastavují bezpečnostní pravidla mezi prohlížečem a serverem. Chránit tak mohou před XSS zranitelnostmi, načítáním na nezabezpečeném protokolu či zobrazováním obsahu ze serveru třetí strany.

Už základní nastavení může snadno zvýšit úroveň zabezpečení. Pokročilejší uživatelé pak mohou zcela kontrolovat načítání zdrojů. A zamezit tak spuštění nebezpečného skriptu z cizího serveru.

WAF

Jde-li o důležité webové stránky, je vhodné přidat i tzv. webový aplikační firewall. Oproti klasickému firewallu se nezaměřuje na serverovou úroveň (blokace portů apod.), ale filtruje přímo HTTP provoz konkrétní webové aplikace.

WordPress je webovou aplikací, kterou je potřeba chránit před SQL injection, XSS a dalšími útoky. WAF tento škodlivý provoz dokáže odfiltrovat. Nabídka je dnes pestrá ať už jde o cloudová či on-premise řešení, dokonce s pravidly přímo pro WordPress.

U aplikačních firewallů je potřeba si však dávat pozor na falešně pozitivní záchyty, kdy legitimní požadavky mohou být zablokovány. Zároveň je vhodné, aby veškerý provoz procházel nejprve přes firewall. U řešení, která se spouští jako plugin až po inicializaci WordPressu je úroveň ochrany nižší.

WP hosting od Czechie je bezpečný

Zřízením služby WP hosting na CZECHIA.com ošetříte všechny výše uvedené zranitelnosti. Nemusíte myslet na to, co kde nastavit, aby byl Váš WP bezpečný, jelikož jako bezpečný je pro Vás již zřízen.

Jakub Knytl

Full Stack Designer se zaměřením na WordPress.

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *