Vaše vysněné stránky visí na internetu a vy se radujete, že máte konečně hotovo. Ne tak docela. Aby vám web dobře sloužil, musíte ho správně zabezpečit. Poradíme vám, jak si stránky na WordPressu ochráníte proti nevítaným hostům.
Bezpečné přístupy: FTP a administrace
Základní podmínkou zabezpečeného webu jsou účinná hesla. Ideální heslo je náhodně vygenerované. Obavu, že si takové heslo nezapamatujete, vyřešíte správcem hesel. V heslu nepoužívejte jméno domény (např. heslo pro doménu ignum.cz by nemělo obsahovat řetězec “ignum”), po sobě jdoucí čísla (třeba 123456) ani oblíbený prvek – rok vzniku vašeho webu (například “heslo2018”). O vytváření silných hesel se dozvíte víc ve speciálním článku.
Zabezpečení webového prostoru
Heslo je nezbytné pro ochranu přístupu do webového prostoru, kde se nacházejí soubory vašeho webu. Pro přihlašování doporučuji používat alespoň protokol FTPS (zabezpečený protokol FTP, který si zaškrtnete hned na začátku v FTP klientu), aby nikdo nemohl při FTP komunikaci získat vaše přihlašovací údaje. Pokud používáte webového FTP klienta od vašeho poskytovatele webhostingu, ujistěte se, že stránka s tímto klientem má platný SSL certifikát.
Bezpečný přístup do administrace
Dál si musíte zajistit administraci samotného WordPressu. Protože heslo zadáváte přes webový prohlížeč, můžete ho mít uložené ve správci hesel nebo přímo v prohlížeči. Pamatujte také na bezpečnou URL přihlašovací stránky do WordPressu. Zabezpečit přístup do administrace vám pomůže speciální plugin. Více se o něm dočtete na konci článku.
Pravidelné aktualizace
Stinnou stránkou oblíbenosti WordPressu je jeho rozšířenost a otevřenost. Na WordPressu běží přes čtvrtinu všech webových stránek a protože se jedná o otevřený projekt, všichni uživatelé mají přístup ke zdrojovému kódu. To vše dělá z WordPressu oblíbený terč hackerů, kteří dokážou najít skuliny v kódu a přes ně nahrát do vašeho webu škodlivé soubory. Přes ně může útočník vložit na váš web svůj vlastní obsah nebo z něj rozesílat SPAM.
Jak aktualizovat WordPress
Aktualizace WordPressu tyto skuliny a bezpečnostní chyby pravidelně opravují. Kromě toho přinášejí do WordPressu nové funkce a optimalizují aplikaci, aby byla rychlejší. Zabezpečit web vám pomůžou pravidelně aktualizace. Na nutnost aktualizování vás WordPress upozorní v horní části přehledu v administraci, stačí jen kliknout. Během aktualizace dojde ke krátkému výpadku webu, tudíž doporučuji provádět aktualizace v nočních hodinách. Pokud se z nějakého důvodu rozhodnete WordPress neaktualizovat, alespoň neuvádějte verzi WordPressu v patičce své webové prezentace.
Pozor na zastaralé pluginy a šablony
Kromě redakčního systému se starejte o pravidelné aktualizování šablony a pluginů, které máte ve WordPressu nainstalované. Aktualizace opravují bezpečnostní chyby a přizpůsobují šablony a rozšíření novým verzím WordPressu.
Tip: Ne vždy platí, že nejstahovanější plugin je zároveň bezpečný, tak pozor na to.
Už při výběru se dívejte, zda jsou pluginy nebo šablona, které jste si vyhlédli, pravidelně aktualizované. Hodně vám poví i fakt, jestli jejich autoři pravidelně komunikují s uživateli a poskytují jim podporu. S výběrem pluginů pro WordPress radíme v samostatném článku.
Smažte všechny nepoužívané
Neskladujte ve WordPressu pluginy a šablony, které nepoužíváte. Zbytečně zabírají místo ve vašem webovém prostoru a jelikož je nevyužíváte, pravděpodobně je nebudete ani aktualizovat. A to znamená bezpečnostní riziko pro vaše stránky. Plugin nebo šablonu snadno odstraníte z výběru přes tlačítko “Smazat”.
Licence se vyplatí
Pokud máte zakoupenou licenci na plugin nebo šablonu, pamatujte na její prodlužování. Jinak přicházíte o podporu i o aktualizace. I když vám může připadat, že plugin běží v pořádku, přesto vám radím koupit si na něj licenci, protože s novou aktualizací WordPressu se mohou vyskytnout nové bezpečnostní díry.
Šifrovaná komunikace
Pro uživatele WordPressu je SSL certifikát naprosto nezbytný, protože heslo zadáváme už při samotném přihlášení do administrace. Donedávna sice platilo, že SSL certifikát musíte mít na webu nasazený jen v případě, kdy vaši uživatelé zadávají citlivá data. Útočníci se tak nedostanou k jejich heslům nebo údajům platebních karet.
Od letoška se však Google rozhodl, že weby bez zabezpečené HTTP:// komunikace začne znevýhodňovat ve svém vyhledávači. Pokud si chcete správně zabezpečit web, bez SSL certifikátu se neobejdete. Certifikát šifruje komunikaci zákazníka s vaším webem. Navíc přispívá k lepší dohledatelnosti (SEO) vašich stránek.
Jak si vybrat SSL certifikát
Pokud máte malou osobní či firemní prezentaci nebo e-shopík, kam nechodí tisíce lidí, web vám dokáže zabezpečit certifikát Let’s Encrypt, který řada poskytovatelů hostingu nabízí i zdarma. Pokud jej váš poskytovatel nenabízí, pořiďte si klasický certifikát s doménovou validací (DV), jehož cena zpravidla nepřesáhne 1 000 korun za rok platnosti (záleží na autoritě, která certifikát vydává).
Pokud však spravujete rozsáhlý e-shop nebo velkou firemní prezentaci, doporučuji certifikát s rozšířenou validací (EV – Extended Validation). Ten kromě vlastnictví domény ověřuje také organizaci, která doménu vlastní (včetně telefonního čísla, korespondenční adresy, kontaktní osoby, která o certifikát zažádala apod.).
Jak SSL certifikát nasadit na WordPress
SSL certifikát vám na web pomůže nasadit poskytovatel webhostingu. Dál je potřeba ještě přesměrovat vaše stránky na HTTPS:// protokol. Jinak budou návštěvníci vašeho webu při vstupu upozorněni, že došlo k chybě ochrany soukromí a že jejich připojení není soukromé. Problém vyřešíte přidáním tzv. rewrite pravidla do souboru .htaccess. Postup vysvětlujeme v naší Nápovědě.
Jestli se ale nechcete “hrabat” v kódech, tuhle práci za vás obratem udělá instalace pluginu Really Simple SSL. Osobně jej doporučuji, má pravidelné aktualizace a jeho autoři poskytují včasnou podporu. Po instalaci (v sekci administrace Pluginy, přes tlačítko Instalovat) stačí plugin aktivovat a máte stránku na protokol HTTPS:// nasměrovanou.
Důležité: Přesměrování stránek na na HTTPS:// protokol provádějte až poté, co vám poskytovatel webhostingu SSL certifikát nasadí na web.
Jak zabezpečit web pomocí pluginů
Všechny typy zabezpečení, které jsem uvedl výše, jsou základem, který by měl mít na webu každý, kdo využívá WordPress. Pokud však chcete své stránky opravdu dobře zabezpečit a snížit pravděpodobnost úspěšného útoku hackerů téměř na nulu, budete potřebovat něco navíc. Drtivá většina útoků na WordPress stránky totiž probíhá automaticky, za pomoci robotů. Když takový robot přijde na vaši stránku a zjistí, že běží na WordPressu, začne spouštět automatické skripty, které jsou definované pro základní nastavení.
Je tedy dobré vaší stránku odlišit. Můžete tak učinit i ručně, ale pokud si na to netroufáte, pomohou vám pluginy, které vám ušetří čas i práci. O různých pluginech (rozšířeních) pro WordPress píšeme ve speciálním článku, zde se zaměříme jen na bezpečnostní rozšíření.
Co všechno umějí speciální pluginy
O extra zabezpečení se starají speciální pluginy, které vás provedou kompletním zabezpečením stránek, a to od blokování spamu v komentářích přes omezení vstupu do administrace až po automatickou blokaci IP adres útočníků, která je u placených verzí pluginů. Funkcí, které tento typ pluginů přináší, existuje opravdu velké množství, takže uvedu pouze některé z nich. Pokud by vám tu nějaká funkce chyběla, napište nám ji do komentářů a my pro vás najdeme vhodný plugin.
Změna tabulkové předpony
Proti útokům je potřeba ochránit také databázi vašich stránek. Tady pomůže změna tabulkové předpony, kterou provedete v nastavení databáze v bezpečnostním pluginu. I když název zní složitě, jedná se o přepsání řetězce wp_ na jakýkoliv jiný řetězec o 3-4 písmenech ukončených podtržítkem ((například wrz_ namísto wp_). Pokud máte u této změny již něco jiného, než “wp_”, tak jste toto nastavení provedli již při prvotním zřízení vašeho WordPressu.
Když už jsme u změn na hostingové úrovni, tak je také dobré změnit práva souborů a složek ve vašem webovém prostoru, aby nebyly veřejně přístupné (řiďte se doporučením v pluginu). Výběr doporučených pluginů, které se umějí postarat o všechna zabezpečení, o kterých zde píšu, najdete na konci článku.
Změna URL stránky pro přihlašování do administrace
WordPress má základní přihlašovací URL /wp-login.php. Ve chvíli, kdy útočníci zjistí, že vaše prezentace běží na WordPressu, tak se automaticky pokusí prolomit vaše heslo přes tuto stránku (útok hrubou sikou). Pokud si URL přihlašovací stránky změníte (např. z “/wp-login.php” na “/prihlasovani” nebo, ještě lépe, na náhodně vygenerovaný řetězec). Útočníkům se bude vracet error 404 a web je v bezpečí.
Alternativou je přístup na přihlašování do administrace pouze z určitých IP adres. To automaticky zamezí jakýkoliv přístup na tuto stránku odjinud, než si vy sami určíte. Pokud nevíte, jakou IP adresou jste právě připojení k internetu, stačí jít na stránku IPV4.cz, a tam IP adresu zjistíte. Poté už stačí potřebné IP adresy (jinou můžete mít doma, jinou v práci) napsat do příslušné tabulky, a máte hotovo.
Ochrana před SPAMem
Pokud svým zákazníkům dáváte na stránkách možnost něco psát a následně odesílat, například komentáře, údaje přes kontaktní formulář apod., je zapotřebí zabránit robotům, aby vám do těchto polí něco psali. Některé pluginy to řeší všeobecně uznávaným Recaptcha kódem, jiné obdobou tohoto kódu. Toto nastavení najdete buď v sekci administrace pro komentáře, nebo v sekci, která řeší SPAM.
Na závěr bych chtěl uvést pár zabezpečovacích pluginů, které dokážou váš web spolehlivě zabezpečit: Wordfence Security – Firewall & Malware Scan, All In One WP Security & Firewall, iThemes Security (dříve Better WP Security), Shield Security for WordPress. Každý z těchto pluginů se pravidelně aktualizuje a postupně Vás provede zabezpečením.
Foto: USAJFKSWCS on VisualHunt / CC BY-ND
2 komentářů On Jak zabezpečit web na WordPressu
Dobrý den,
v první řadě děkuji za skvělý článek! Jsem v tvorbě webovek nováček, tak se zeptám možná hloupě – jestliže mám nainstalované všechny Vámi doporučené bezpečnostní pluginy včetně Shiledu, který je mimochodem skutečně velmi obsáhlý, mohu odstranit plugin Akismet Anti-Spam, který mi hned na začátku WordPress automaticky nabídl?
Předem děkuji za radu!
O.
Ptáte se naprosto chytře, protože obecně platí, že pokud máte nainstalované dva pluginy se stejnou funkcí, je dobré jeden deaktivovat a odstranit. Dále, pokud máte zapnutou funkci „SPAM Bot Protection“, tak opravdu můžete plugin Akismet deaktivovat a odstranit. Děkujeme za dotaz!