10 super účinných způsobů jak zabezpečit WordPress

27. června 2016

Že se někomu někdo nabourá do blogu a dotyčný přes noc přijde o roky blogovací práce, je bohužel smutná realita, kterou už lidé v současnosti zažívají. Skutečně, výzkumy ukazují, že každý den je napadeno 37 000 webů, a vzhledem k tomu, že WordPress pohání přibližně 25,4 % všech webů, můžete si být jisti, že značná část blogů WordPressu je napadena každý den.

Bezpečnost WordPressu je úplně jiná opera; jakmile vlastníte nějaký blog WordPressu, tipy jako že máte použít takové uživatelské jméno, které je obtížné uhádnout, a mít heslo pevné jako skála, už nejsou postačující. Jediný chybový motiv, špatný plugin nebo nesprávně chráněný soubor může způsobit, že přes noc do blogu někdo pronikne.

Ať už s WordPressem nemáte žádné zkušenosti, nebo používáte tuto platformu od doby, kdy vznikla, v tomto článku najdete deset praktických a super účinných způsobů, jak zabezpečit blog WordPressu, které dokáže implementovat každý. Většinu těchto tipů sice nenajdete v populárních článcích typu „jak zabezpečíte svůj blog“, možná vám však jednoho krásného dne blog zachrání!

Přečtěte si ještě: Padesát nejžádanějších tipů, triků a hacků WordPressu

1. Vypněte editor motivů a pluginů WordPressu

WordPress je vybaven šikovnou schopností, která poskytuje vlastníkům webu větší flexibilitu, protože jim dovoluje přizpůsobovat a editovat jejich motivy a pluginy přímo z nástěnky (dashboardu) WordPressu, tato schopnost však způsobuje zkázu většiny blogů.

Když tuto schopnost používáte, může drobná chybička způsobit, že web zhavaruje, a váš vlastní web se před vámi uzamkne. Hackeři mohou snadno vložit do motivu škodlivý kód, aby získali do webu přístup zadními vrátky, nebo dokonce kompletně převzít vládu nad celým webem tím, že získají kontrolu nad účtem, který má dostatečná oprávnění k tomu, aby mohl používat editor motivů a pluginů.

Před tím se můžete ochránit tak, že prostě vypnete editor motivů a pluginů, čímž znemožníte, aby mohl někdo bez přístupu FTP modifikovat motivy a pluginy.

Uděláte to tak, že do svého souboru wp-config.php přidáte následující kód:

define( ‚DISALLOW_FILE_EDIT‘, true );

Přečtěte si ještě: Devět pluginů WordPressu pro detekci škodlivého kódu na webu

2. Zapněte dvoufázové ověření

Dvoufázové ověření (two-factor authentication) se rychle stává jedním z nejspolehlivějších způsobů, jak chránit online účty, a nejspolehlivější weby trvají na tom, aby je měli jejich uživatelé zapnuté.

Přestože WordPress nemusí nutně mít v sobě dvoufázové ověření zabudované, na svém blogu můžete dvoufázové ověření zapnout tak, že nainstalujete následující pluginy:

3. Limitujte přihlašování počtem nezdařených pokusů

Existují nejrůznější cestičky, jimiž se hackeři snaží získat přístup k blogům. Jednou z nejběžněji používaných technik je útok hrubou silou: hacker zkouší kombinace uživatelských jmen a hesel jednu za druhou, dokud nebude schopen úspěšně do blogu proniknout.

WordPress není ve výchozím stavu chráněn proti tomuto útoku. Když nainstalujete pluginy, které zamezují přihlášení z konkrétní IP adresy po daném počtu neúspěšných pokusů, bude pro hackery mnohem obtížnější získat k blogu přístup.

Proti útokům hrubou silou může také ochránit plugin Jetpack Protect Module.

4. Pravidelně blog skenujte

Soubory motivů, pluginy, odkazy a další zdánlivě neškodné elementy mohou posloužit k získání (neoprávněného) přístupu k blogu. Nečekejte na dobu, až už bude web infikovaný, musíte o něm získat informace, dokud je v dobré kondici. Proto nainstalujte bezpečnostní skenovací pluginy, aby web pravidelně skenovaly a oznamovaly, že se soubory změnily.

Dobrým příkladem bezpečnostního skenovacího pluginu je Wordfence. Kromě toho, že poskytuje možnost ručně či automaticky skenovat blog WordPressu, okamžitě také oznamuje jakoukoli podezřelou aktivitu, ke které na blogu dochází.

Odesílá také informace o potenciálně škodlivých komentářích a porovnává váš motiv a soubory pluginů s repozitářem WordPressu, aby vás uvědomil o tom, že byla modifikována vaše verze pluginu nebo motiv a že mohou potenciálně posloužit jako zadní vrátka pro hackery do vašeho webu.

Mezi další bezpečnostní pluginy, které mohou pomoci se skenováním blogu na škodlivý malware a na exploity, patří:

5. Změňte hosting

I když to vypadá jako triviální rada, ve skutečnosti má hodně do sebe. Výzkumy ukazují, že 41% průniků do webů WordPressu bylo způsobeno vniknutím prostřednictvím nějaké bezpečnostní slabiny na jejich hostingové platformě. To je mnohem víc než z jiných zdrojů, včetně případů, kdy se jedná o slabé heslo.

Hosting může hrát hlavní roli v tom, zda se někomu podaří do vašeho webu proniknout nebo ne; proto vždy vybírejte jen spolehlivé webové hostingy, které obstály ve zkoušce času a jsou v souladu s nejlepšími praktikami odvětví.

6. Skryjte číslo verze WordPressu

WordPress standardně zobrazuje číslo verze vašeho WordPressu; usnadňuje to WordPressu evidenci o tom, kolik WordPressových blogů je na celém světě aktivních. Může to ale také představovat obrovitý zdroj problémů; hackeři a roboti mohou skenovat web na blogy pomocí čísla té verze WordPressu, o které je známo, že je zranitelná, takže jste pak jejich snadným cílem.

Tento problém však můžete snadno vyřešit tím, že skryjete číslo své verze WordPressu. Abyste skryli číslo verze WordPressu, stačí, když do svého souboru functions.php přidáte tento kód:

add_filter( ‚the_generator‘, ‚__return_null‘ );

7. Vypněte zprávy PHP o chybách

Když na blogu nepracuje nějaký plugin nebo motiv správně, mohou pomoci chybové reporty PHP, které zobrazují zprávy odhalující příčinu chyby. S touto výhodou je ovšem spojena též nevýhoda: když se vydá zpráva o nějaké PHP chybě, zahrnuje také úplnou serverovou cestu chyby, prozrazuje tedy informaci, kterou mohou hackeři zneužít proti vám.

Ochránit se proti tomu můžete tím, že vypnete chybové reporty PHP. Do svého souboru wp-config.php přidejte toto:

1

2

 error_reporting(0);

@ini_set(‘display_errors‘, 0);

 

8. Zapracujte na oprávněních přístupu k souboru WordPressu

Pokud jde o opatření, jimiž je možné chránit web WordPressu proti bezpečnostním exploitům, je podstatné zajistit, že máte nastavena správná oprávnění přístupu k souborům. Pak je pro hackera obtížné manipulovat s pluginy, motivy nebo soubory na serveru, aby tak převzal vládu nad webem.

Přesvědčte se, že oprávnění ke složkám WordPressu jsou nastavena na 755 nebo 750; oprávnění k souborům, že jsou nastavena na 640 nebo 644; a že oprávnění k souboru wp-config.php jsou nastavená na 600.

 

9. Pravidelně zálohujte

Proniknout se dá i do obrovitého webu opečovávaného týmem bezpečnostních expertů a konzultantů, a i když dodržováním všech nejlepších praktik učiníte svůj web silnějším než 99.9% všech ostatních webů, přesto se může stát něco ošklivého.

Nejlepší bezpečnostní opatření, jaké můžete učinit proti násilným vniknutím do WordPressu, je mít dobře zorganizované zálohování; zajistěte, aby se web zálohoval pravidelně – pokud možno denně. Pak, pokud se do něho někdo nabourá, máte své soubory k dispozici a můžete provést okamžitě obnovu.

Tady máte některé z nejlepších zálohovacích pluginů WordPressu:

10. Omezte přístup ke své přihlašovací stránce

Když se zdá, že běžná řešení nepomáhají, možná budete muset učinit nějakou opravdu drastickou akci. Velmi spolehlivý způsob, jak ochránit blog proti pokusům o vniknutí, je zcela zablokovat přístup k wp-admin a ke stránce wp-login.php.

Doporučuje se to pouze tehdy, pokud používáte jednu IP adresu, která se nemění (nechcete přece uzamknout svůj blog sami před sebou!). Přesto můžete tuto volbu použít i tehdy, pokud používáte více IP adres. Musíte je však explicitně uvést.

Chcete-li omezit přístup ke své přihlašovací stránce, přidejte do svého souboru .htaccess následující kód:

 1

2

3

4

5

6

7

8

9

10

11

 <IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]

RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$

RewriteCond %{REMOTE_ADDR} !^Vase IP adresa 1$

RewriteCond %{REMOTE_ADDR} !^ Vase IP adresa 2$

RewriteCond %{REMOTE_ADDR} !^ Vase IP adresa 3$

RewriteCond %{REMOTE_ADDR} !^ Vase IP adresa 4$

RewriteCond %{REMOTE_ADDR} !^ Vase IP adresa 5$

RewriteRule ^(.*)$ – [R=403,L]

</IfModule>

Nezapomeňte upravit Vase IP adresa 1Vase IP adresa 5 na různé IP adresy, jimž chcete udělit přístup; pak budete moci snadno přidávat nebo odstraňovat řádky, budete-li chtít udělit přístup k webu více IP adresám, resp. zabránit přístupu z některých IP adres.

Závěr

Neměli byste samozřejmě ignorovat základní bezpečnostní tipy, jako nepoužívat předvídatelné uživatelské jméno, mít silné heslo, aktualizovat pravidelně instalaci WordPressu, atd. Ovšem s výše uvedenými, méně známými, a často ignorovanými bezpečnostními tipy, bude váš blog WordPressu o dost bezpečnější.

Poznámka editora: Tento hostující příspěvek napsal pro Hongkiat.com John Stevens. John je expert na WordPress a hosting. Je zakladatelem a výkonným ředitelem HostingFacts.com, což je portál, kde se recenzují web hostingy a sestavuje se jejich pořadí podle výkonu.

Celý článek v originálním znění najdete na 10 Little-Known, Super Effective Tips to Secure Your WordPress Blog

Přeložil: RNDr. Jan Pokorný

Štítky: WordPress

Mohlo by vás také zajímat

Nejnovější

9 komentářů

  1. Vláďa Smitka

    Čvn 27, 2016 v 23:01

    Nedá mi to a musím připsat pár komentářů:

    1) prakticky nic neřeší, pokud již útočník získá práva, kdy by mohl upravovat soubory přes editor, tak má také práva si nahrát vlastní kód jako plugin, který mu umožní si s webem dělat co se mu zachce.

    2) 2 fázová autentifikace je rozhodně dobrá věc, nicméně je potřeba si uvědomit, že přihlášení přes formulář není zdaleka jedinou cestou, tak se do WP přihlásit, jde to dále pomocí autentifikačních cookie, xml-rpc a velmi brzo pomocí rest-api.

    3) omezení počtu pokusů o přihlášení je rozhodně velmi důležitá věc. Funkce omezování počtu pokusů je součástí většiny velkých bezpečnostních pluginů (osobně mám velmi rád zmíněný WordFence). Na VPS a serverech je výhodné tuto funkcionalitu implementovat pomocí fail2ban přímo na serveru. V tomto ohledu je také velmi důležité nepoužívat uživatelské jméno admin a bránit se vyčítání uživatelských jmen pomocí URL parametru author:
    https://www.interval.cz/?author=1

    4) ano, WordFence dělá v tomto velmi dobrou službu, je dobré zmínit i to, že případně změněné soubory umí vrátit do původního stavu dle repozitáře (což neplatí pro vlastní úpravy).

    5) to považuji za poměrně troufalé tvrzení, zvlášť, když nejsou poskytnuty konkrétní informace o tom, co hosting pro bezpečnost dělá a jaké technologie k tomu používá. To je bohužel obecný neduh, že většina hostingů tyto informace tají…

    6) toto je opět poměrně zbytečné, každý zkušenější útočník umí verzi poznat např. podle obsahu css souborů jádra. Pokud je používána aktuální verze WP, tak není nutné tuto informaci tajit. A mnoho útoků od robotů je stejně prováděno silovou metodou, že zranitelnost prostě zkusí.

    7) Výchozí chování WP je, že jsou chybové hlášky potlačené, zapnout je lze direktivou define( ‚WP_DEBUG‘, true ); ve wp-config.php.

    8) Práva souborů jsou opravdu důležitá, nicméně je tomu tak hlavně proto, aby byly chráněny před ostatními službami (a uživateli), které na serveru běží. Pokud hacker napadne WP způsobem, že by již mohl modifikovat soubory, tak jsou mu mohou být práva souborů vašeho webu vcelku ukradená, protože si je může jednoduše změnit sám.

    9) Zálohování je jednou z nejdůležitějších věcí, doplnil bych můj oblíbený plugin BackWPup.

    10) uvedený způsob zabezpečení má jednu velkou nevýhodu a to tu, že odřízne přístup ke složce wp-admin, ve které se nachází soubor admin-ajax.php, který využívá mnoho různých pluginů. Díky tomu mohou přestat fungovat. Je potřeba doplnit pro tento soubor výjimku (a také admin-post.php, ten je však aktuálně velmi málo používaný), případně chránit jen wp-login.php. Problém je, že si toho administrátor ani nevšimne, protože jeho IP je povolená, návštěvníkům pak však web nemusí správně fungovat.

    Odpovědět
  2. David Odehnal

    Čvn 28, 2016 v 12:50

    Já si tedy dovolím i jeden méně kvalitní komentář, který navazuje na Vláďův bod 5) se změnou hostingu. Kdyby ten odkaz nevedl rovnou na czechia.com asi bych to překousl, ale v tu chvíli se pro mě celý bod stal silně zavádějící. Pokud nebyl motivem článku content marketing, považoval bych za slušné uvést seznam hostingů i s porovnáním toho, jak mají ve výchozím stavu nastavenou bezpečnost pro WP relevantní a případně jaké další nástroje pro zvýšení bezpečnosti nabízejí. Pro odstranění této demagogie by mi bohatě stačilo uvést nějaký oficiálnější zdroj (např. https://wordpress.org/hosting/ ať už je úroveň jednotlivých webhosterů jakákoliv, alespoň by to bylo čistě nezaujaté). Budiž k dobru, že ten link neobsahuje přímý affiliate ;-)

    Odpovědět
  3. David Odehnal

    Čvn 28, 2016 v 12:51

    Já si tedy dovolím i jeden méně kvalitní komentář, který navazuje na Vláďův bod 5) se změnou hostingu. Kdyby ten odkaz nevedl rovnou na czechia.com asi bych to překousl, ale v tu chvíli se pro mě celý bod stal silně zavádějící. Pokud nebyl motivem článku content marketing, považoval bych za slušné uvést seznam hostingů i s porovnáním toho, jak mají ve výchozím stavu nastavenou bezpečnost pro WP relevantní a případně jaké další nástroje pro zvýšení zabezpečení nabízejí. Pro odstranění této demagogie by mi bohatě stačilo uvést nějaký oficiálnější zdroj (např. https://wordpress.org/hosting/ ať už je úroveň jednotlivých webhosterů jakákoliv, alespoň by to bylo čistě nezaujaté). Budiž k dobru, že ten link neobsahuje přímý affiliate ;-)

    Odpovědět
  4. Postreh

    Čvn 30, 2016 v 7:34

    Affiliate neni treba, interval vlastni stejna spolecnost co czechii…

    Odpovědět
  5. Kalendarz koncertów Music Zone

    Srp 21, 2016 v 18:12

    Děkuji Vám mnohokrát, udělali jste kus práce.

    Odpovědět
  6. Natálie Nedvědová

    Říj 24, 2017 v 14:00

    Užitečné rady, jak zabezpečit wordpress web jsem našla i tady: http://freshface.cz/zabezpeceni-wordpress-webu-behem-10-minut/

    Odpovědět

Napsat komentář

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