Jak na zabezpečení WordPress webu, abyste mohli klidně spát
📝Obsah
Zabezpečení webu je jednou z naprosto základních akcí, kterou bychom měli zařídit. Můžeme optimalizovat až do zblbnutí, ale jakmile nám někdo prolomí zabezpečení, může všechna naše snaha přijít naprosto vniveč. WordPress je skvělý redakční systém, což ale také znamená, že je často terčem útoků. Prolomení nějaké slabiny totiž znamená, že mají hackeři možnost prolomit obrovskou spoustu webů.
Žádný web není zcela bez děr a ať máme web na WordPressu nebo jiném volném nebo na míru vytvořeném redakčním systému, tak musíme počítat s tím, že se budou hlavně automatizované systémy pokoušet prolomit jejich ochranu. Vždy se může stát, že nám web opravdu někdo prolomí, ale díky pár jednoduchým zásadám bychom měli šance hackerů naprosto minimalizovat.
Zálohujte, zálohujte, zálohujte
Nejde ani tak o to jestli, ale spíše kdy se na webu něco totálně podělá tak, že web přestane fungovat. Nepovede se aktualizace pluginu, což ani nemusí být vaše chyba, a web najednou nefunguje. Proto je naprosto zásadní, důležité, podstatné a kritické, abyste zálohovali a mohli web obnovit, když se něco stane.
O tom, jak zálohovat, jsme psali tady, takže rozhodně toto nepodceňte, a až budete zálohu potřebovat, rozhodně si pak můžete oddychnout, že není problém web během chvíle obnovit do funkčního stavu.
Pravidelně aktualizujte WordPress, pluginy i šablony
Aktualizace mnohdy přidávají funkce nebo mění fungování pluginů, šablon, ale i samotného jádra WordPressu. Mnohem častěji jde ale o opravy bezpečnostních trhlin nebo optimalizace výkonu. Všechny prvky webu bychom měli udržovat v aktuálním stavu, aby bylo riziko ohrožení webu minimální. WordPress hned po přihlášení na administrační stránce ukazuje, že je potřeba něco aktualizovat, což také zpravidla zvládneme na pár kliknutí.
Co se týče velkých aktualizací, které výrazněji mění fungování pluginů nebo WordPressu, tak u těch naprosto vždy před aktualizací celý web zazálohujte (zpravidla je fajn zálohovat i u menších aktualizací, ale tam se typicky nic moc nerozbíjí). Je možné, že web přestane fungovat, objeví se nějaké kolize nebo nebude vše ještě zcela vyladěné (ono vyzkoušet kompatibilitu s desítkami tisíc pluginů není úplně možné, takže se může stát, že prostě něco nebude při nějaké kombinaci pluginů fungovat).
Pokud se něco po aktualizaci rozbije, vraťte web do původní podoby a s aktualizací počkejte. Tyto chyby se časem vyladí, takže můžete v pohodě počkat, až bude vše ve stabilním stavu. To se zpravidla stane během několika dní. Pokud je chyba na straně pluginu, můžete to dát vědět vývojářům, kteří pak o chybě vědí a mohou jí opravit.
Silná hesla jsou základem bezpečnosti
Hlavní ochranou vašich stránek i vašich účtů je silné heslo. Pokud někdo zná vaše heslo k účtu s administrátorskými právy, může si v zásadě dělat, co chce. Instalovat nebo mazat pluginy, šablony, upravovat/tvořit/mazat obsah nebo prostě cokoliv jiného, co vás napadne. I když máte všechny ostatní bezpečnostní prvky webu na místě, tak jakmile někdo zná kombinaci přihlašovacího jména a hesla, tak jste nahraní.
Jak tedy heslo zvolit? Stačí dodržovat několik poměrně jednoduchých rad. Snadno se to říká, složitěji aplikuje, a i třeba takový Mark Zuckerberg, zakladatel Facebooku, měl podle hackerů na svých účtech heslo „dadada“, takže nebuďte jako Mark Zuckerberg a zvolte si pro web něco, co se nedá jen tak prolomit:
Heslo musí být dostatečně dlouhé
Při volení hesla se po vás obvykle chce, aby mělo nějakou minimální délku. A dává to smysl. Hesla se dají časem prolomit pouhým zkoušením, ale když je heslo dost dlouhé, tak je potřeba tolik pokusů, že by jeho prolomení trvalo stovky nebo tisíce let. Nikomu se to tedy ani zkoušet nevyplatí. Obecně tedy čím delší heslo, tím lepší.
Heslo by se nemělo týkat vašeho života
Hesla, která obsahují datum narození, přezdívku, jméno nebo výročí, a dokonce i běžně používaná slova, nejsou moc dobrá. Hackeři tato hesla zkoušejí a jsou schopni vyzkoušet obrovské množství kombinací. Heslo by měl být pokud možno nesmyslný pelmel znaků, které nic neznamenají. To nejde vždy zařídit, protože si pak heslo nejde pamatovat, ale snaha by opravdu měla být, aby heslo neznamenalo vůbec nic.
Velká/malá písmena, číslice a speciální znaky
Pokud používáte kombinaci různých druhů znaků, je vaše heslo mnohem hůře prolomitelné. Není to naprosto zásadní, ale minimálně kombinace písmen a čísel je dobrá praktika
Nepoužívejte jedno heslo všude
Velkou neřestí je si zvolit jedno velmi silné heslo, a to používat na všech službách. Někdy se stane, že nějaký web, kam jste heslo zadali, bude prolomen, což pak znamená, že vaše heslo někdo zná. Pokud to heslo používáte na dalších službách, tak je jedno, jak je silné. Obecně byste měli používat zcela unikátní hesla na email (který také slouží jako případný způsob, jak si vyžádat zapomenutá hesla), sociální sítě (kde máte fůru osobních informací), banky a jiné služby, kde máte peníze, a pak také na weby, o které samozřejmě nechcete přijít.
Typická praxe je tedy mít na email naprosto nejsilnější heslo, které můžete vymyslet. Toto heslo je totiž klíčem k ostatním heslům. Pokud si ukládáte hesla třeba do prohlížeče, tak i toto heslo, kterým se přihlašujete, by mělo být extrémně silné a jedinečné (tedy byste ho měli používat právě 1x, a ne více).
Pak tu máme hesla k webům, sociálním sítím, bankám a webům. Tato hesla musí být velmi silná a pokud možno také unikátní. Na druhou stranu, pokud o ně přijdete, typicky je můžete díky emailu vyžádat znovu a obnovit. Jde o velký problém, ale přijít o emailovou adresu je horší.
No a pak tu jsou hesla ke službám, které pro nás nejsou zase tak zásadní, typicky jde třeba o přihlášení k nějakému fóru, fanouškovskému webu o filmech atp.. Pokud tohle někdo prolomí, asi se svět nezboří, takže tady už není zase takový problém, když se hesla recyklují, ale rozhodně by toto heslo mělo být rozdílné od důležitých hesel. Tyto menší weby mohou mít zabezpečení všelijaké, takže je lepší jim nedůvěřovat
Nainstalujte bezpečnostní plugin
Bezpečnostní pluginy chrání web stejně, jako bezpečnostní programy na počítači. Hlídají, že web funguje, že na ně někdo nenahrál něco, co tam být nemá, ale také blokují pokusy o různé útoky. Naštěstí jsou tyto pluginy i v základních verzích velmi účinné a weby ochrání. Nikdy se nemá říkat, že je něco neprůstřelné, ale obecně platí, že když máte nainstalovaný bezpečnostní plugin, tak můžete spát rozhodně klidněji.
Teď je potřeba vybrat, který je nejlepší. Nejdříve je potřeba také upozornit, že se nedoporučuje instalovat více bezpečnostních pluginů najednou, které se svými funkcemi překrývají. Mohly by se navzájem blokovat, označovat se navzájem za hrozbu a prostě to nedělá dobrotu. Vyberte tedy pouze 1 tento plugin. Mezi špičku pak rozhodně patří tyto 2:
WordFence
Velmi robustní plugin, který ve verzi zdarma nabízí firewall, scanner, ale také analýzu návštěvnosti v reálném čase, respektive chování. Ihned vidíte, jestli na váš web někdo neútočí a jakým způsobem se to děje. Můžete snadno zablokovat IP adresy, zapnout dvoufaktorové přihlašování, nebo blokovat všechny, kteří se pokusí přihlásit pod neexistujícím jménem.
WordFence také zkoumá pluginy a jejich zabezpečení, spolupracuje s řadou vývojářů a ladí chyby. Kromě toho vám dá plugin vědět, jestli není nějaký plugin zastaralý nebo neaktuální. Všeho všudy jde o skvělou volbu, která prostě funguje a i v neplacené verzi jde o obrovsky silnou ochranu, která předejde řadě útoků. Placená verze pak nabízí hlavně pokročilé funkce jako ochranu před spamem, blokování IP adres na základě blacklistů nebo častější scanování.
Sucuri
Druhým velikánem v oblasti ochrany webů je Sucuri. Ve verzi zdarma nabízí scanování, audity návštěv a prostě vše, co by měl správný bezpečnostní software obsahovat. S WordFence jsou to v zásadě největší konkurenti a nejde úplně jednoznačně říci, který je lepší, hlavně pak v placené verzi.
Co se týče verze zdarma, tak zde bychom doporučili raději WordFence, který nabízí také firewall, který rovnou odfiltruje návštěvnost, která nemá co na webu dělat (tedy typicky roboti, kteří se snaží web prolomit). Sucuri tento firewall nabízí až v placené verzi.
Kromě WordFence a Sucuri existují i další pluginy, jako iThemes Security, All In One WP Security a další. I tyto pluginy jsou velmi dobré, ale obecně právě dvojka WordFence nebo Sucuri je považována za lídra trhu.
Omezte počet pokusů o přihlášení
WordPress umožňuje neomezený počet pokusů o přihlášení, což prostě není moc bezpečné, protože pak hackeři mohou zkoušet a zkoušet a zkoušet bez omezení. Ideální je, když po nějakém počtu pokusů už není z dané IP adresy možné se přihlašovat. Jako obvykle jde přesně toto řešit pomocí pluginů.
Velmi dobrý je Limit Login Attempts Reloaded, který bývá někdy i ve WordPressu předinstalovaný – nastavíte si počet pokusů o přihlášení i čas blokace dané IP adresy. Jednoduché, ale velmi účinné.
Přejděte na HTTPS
Protokol HTTPS (kde písmeno S znamená Secure) v praxi šifruje komunikaci mezi uživatelem a webem, takže je pro hackery mnohem složitější tuto komunikaci odchytit a rozšifrovat. Toto zvyšuje bezpečnost, ale jde také o zlepšení webu v očích vyhledávačů i prohlížečů. V zásadě prostě HTTPS nastavte, nepřináší to žádné nevýhody, zatímco nemít HTTPS znamená, že budou internetové prohlížeče označovat váš web jako nezabezpečený, což prostě vypadá blbě.
HTTPS nastavíte tak, že u svého poskytovatele webhostingu vyžádáte SSL certifikát (jsou i certifikáty Let’s Encrypt zdarma). Jak to přesně udělat, záleží na hostingu samotném, ale typicky jde jen o to najít, kde přesně se to nastavuje. Vyžádání samotného certifikátu je pak na 2 kliknutí a počkání pár desítek minut, než se certifikát vygeneruje. Pokud nevíte, zeptejte se nejlépe na zákaznické podpoře hostingu, případně pogooglete, kde se ono nastavení nachází.
Po vygenerování certifikátu je potřeba přenastavit adresu svého webu z http://vasweb.cz na https://vasweb.cz – tedy přidání onoho S za HTTP na začátku adresy.
To uděláte v Nastavení > Obecné, kde přepíšete pole Instalace WordPressu a Úvodní stránka webu na variantu s https, a pak můžete využít plugin Really Simple SSL, který se na pár kliknutí postará o to, aby váš web a obsah na něm byl přenášen přes zabezpečený protokol.
Jestli jste se dostali až sem, tak máte hotové vše zásadní. Vždy je ale prostor ke zlepšení, tak se na tyto drobnosti podíváme také.
Skryjte své přihlašovací jméno
Jak bylo řečeno, k přihlášení je potřeba kombinace jména a hesla. Ideální stav je, když i vaše přihlašovací jméno není veřejné. Rozhodně byste se neměli přihlašovat jmény typu Admin, Administrator, nebo jménem vašeho webu. Tato přihlašovací jména roboti zkouší nejčastěji, takže je nejlepší jim to co nejvíce znepříjemnit.
V praxi tedy vaše přihlašovací jméno by mělo být rozdílné od jména, které je vidět jednak na webu, jednak i v URL daného autora.
V praxi tedy:
- V administraci rozklikněte v levém menu Uživatelé > Profil. Zde změňte, jak se budete veřejně zobrazovat na webu. Můžete si zvolit celé jméno, přezdívku nebo cokoliv jiného.
- Nainstalujte plugin Edit Author Slug – díky tomuto pluginu můžete měnit URL, pod kterou najdete profil daného autora nebo uživatele. Typicky může tato UTR vypadat třeba jako vasweb.cz/author/admin/
Díky pluginu můžete změnit jednak základ autorské URL, tedy ono author (v tomto případě by to asi chtělo počeštit na autor, ale není to zase tak zásadní), ale také ono admin. Toto slovo admin v URLje jméno samotného autora. Toto jméno by nemělo odpovídat vašemu přihlašovacímu jménu. V praxi se tedy na webu můžete jmenovat Admin, ale vaše přihlašovací jméno by mělo být třeba FrantaVomacka, tedy úplně něco jiného.
Variantou je také založení nového uživatele s administrátorskými právy, a smazání uživatele starého.
Změňte přihlašovací stránku
Typicky se do administrace přihlašujete na stránce vasweb.cz/wp-admin/. Pro roboty není složité tuto stránku najít a pak se zkoušet přihlašovat. Ideální je jim ani tuto možnost nedat a adresu této stránky změnit. K tomu využijte plugin WPS Hide Login.
Díky tomuto pluginu můžete změnit stránku s přihlášením na cokoliv chcete. Kdo se pokusí dostat na standardní stránku s přihlášením, tak se dostane na stránku s chybou, nebo může být přesměrován třeba na domovskou stránku webu (je to na vás a vašem nastavení). Novou stránku s přihlášením si tak pamatujte nebo uložte do záložek.
Díky tomuto pluginu se naprosto razantně sníží počet pokusů o přihlášení (ideálně na 0), což samozřejmě výrazně zvyšuje bezpečnost webu.
Jednou za čas projděte, jestli na webu nemáte nepoužívané pluginy
Stane se to asi každému. Chceme nějakou funkci, nainstalujeme plugin, ale pak stejně zjistíme, že tato funkce nebyla důležitá a nepoužíváme jí. Na webu nám ale zůstane plugin, který web zpomaluje, ale také nabízí teoretickou bezpečnostní trhlinu.
Obecně tedy platí, že když něco na webu nepotřebujeme, tak to tam nemá být. Jednou za čas bychom měli projít pluginy a zjistit, jestli třeba nestojí za to nějaké smazat.
Další články ze série o WordPressu:
- Jak si vytvořit webové stránky – postup, rady i tipy
- Jak fungují webové stránky (HTML, CSS, JavaScript i PHP)
- Co je WordPress a proč na něm postavit web (i bez znalosti programování)
- Jak ručně nainstalovat WordPress krok za krokem
- Co je WordPressový plugin a jak ho nainstalovat
- Základní nastavení WordPressu krok za krokem
- Jak pravidelně a zdarma zálohovat WordPress
- Základy optimalizace WordPressu – cachování a zrychlení načítání
- Optimalizujme obrázky na WordPressu a zrychleme tak celý web
- Jak na zabezpečení WordPress webu, abyste mohli klidně spát (právě čtete)
- Jak (nejen) ve WordPressu používat rubriky a štítky/tagy
- Jak ve WordPressu vytvořit menu
- WordPress Stránka (Page) vs. Příspěvek (Post) – jaký je v nich rozdíl?
- Zrychlete svůj WordPressový web za 10 minut a bez složitého nastavování