Na internetu dnes existuje více než 1 miliarda webů a každý týden jsou na Googlu desítky tisíc z nich blacklistovány kvůli malwaru (škodlivému programu) nebo phishingu (získávání citlivých údajů). WordPress bezpečnost se proto stává tématem #1 pro každého vlastníka webu.
Možná si říkáte, že právě ten váš web je příliš nezajímavý na to, aby se stal terčem online útoku. To je častý mýtus, protože i menší a zdánlivě nezajímavé weby se dají zneužít k nekalým účelům. Přičemž útočníci jsou si toho dobře vědomi. Spokojí se proto i s obyčejným webem.
Zabezpečení WordPressu je dnes důležitější, než kdy jindy, protože útoků neustále přibývá, a jsou navíc sofistikovanější. Právě proto jsem připravil komplexního průvodce WordPress bezpečností, který vás provede od základních kroků, až k pokročilejším technikám ochrany webu.
Význam zabezpečení WordPressu
Dnes je WordPress používán na 61,8 % webů využívajících redakční systém celosvětově. To se blíží polovině (43,8 %) všech webů. Jen v Česku provozuje velkou část online projektů, včetně webů velkých hráčů. Deník N, Rádio Expres FM, Forbes a mnohé další.
Obrovská popularita WordPressu s sebou zákonitě přináší nežádoucí pozornost hackerů, kteří se chtějí zmocnit webových stránek a jejich dat zmocnit. Mimo jiné proto je zabezpečení WordPressu tak zásadní.
Jedním z nejrozšířenějších mýtů je přesvědčení, že malé weby nejsou pro hackery zajímavé. Ve skutečnosti většina útoků není cílená na konkrétní web. Útočníci často využívají automatizované skripty, které systematicky prohledávají internet a hledají jakékoliv zranitelné weby.
Většina takto mířených útoků nemá primární zájem o konkrétní data. Jejich cílem typicky je získat kontrolu nad webem a využít ho k distribuci spamu, zapojit ho do sítě pro DDoS útoky (vysvětleno v pojmech níže), nebo jednoduše otestovat nové techniky hackování.
V následující kapitole se podíváme na nejčastější typy útoků, které jsou využívány k narušení bezpečnosti webů.
Nejčastější typy útoků na WordPress weby
Útoky na WordPress weby jsou dnes z velké části automatizované a provádějí je speciální (ro)boti. Bot je počítačový program, který pro útočníka vykonává rutinní činnosti na internetu. Sbírá data, odesílá a zpracovává požadavky a podobně. Mezi nejčastější útoky patří:
- Brute force – metoda pokoušející se o autorizaci „hrubou silou“, pomocí automatických skriptů, které zkoušejí uhodnout heslo,
- Backdoors – umělé chyby v zabezpečení, které poskytují útočníkům takzvaná „zadní vrátka“ k webu,
- Malware – škodlivý kód, který útočníci vkládají do souborů webu, obvykle kvůli neaktualizovaným pluginům,
- XSS (Cross-Site Scripting) – útok, kdy dochází ke vložení škodlivého kódu přímo do těla stránky,
- SQL injection – metoda, při které útočníci vkládají škodlivý SQL kód do databázových dotazů přes webové formuláře,
- DDoS (Distributed Denial of Service) – jeden z nejnebezpečnějších útoků založený na velkém množství falešných požadavků, následném přetížení serveru a nepřístupném webu,
- Phishingové & Fake pluginy – podvodné pluginy a šablony s malwarem (škodlivým kódem), který ohrožuje bezpečnost uživatele,
- Sociální inženýrství – manipulativní technika, kdy útočník přesvědčí administrátora nebo uživatele ke sdělení/odhalení přihlašovacích údajů, instalaci škodlivého pluginu nebo provedení jiných akcí, které vedou ke kompromitaci webu.
Navíc se útoky neustále zdokonalují. I když je velká část bezpečnostních opatření (mimo jiné těch, o kterých budu psát níže) účinná, vždy existuje jisté riziko prolomení bezpečnosti. Myslete na to a buďte v online prostředí obezřetní.
Následky napadení webu
Osobně vnímám jako jeden z nejvíce nebezpečných útoků výše zmíněné sociální inženýrství. Člověk má přirozené sklony věřit druhým lidem – a uvěří-li útočníkovi, průšvih je na cestě. Bez ohledu na to, zda se jedná o tento nebo jiné typy ohrožení bezpečnosti, následky mohou zahrnovat:
- poškození reputace, která se velmi těžko získává zpět – návštěvníci webu mohou být například přesměrováni na podvodné stránky, což výrazně narušuje důvěru,
- krádež hesel a osobních informací,
- zasažení takzvaným ransomwarem, kdy je pro opětovné získání přístupu k webu zapotřebí zaplatit hackerům konkrétní částku,
- umístění na Google blacklist, což znamená, že se web zcela přestane zobrazovat ve výsledcích vyhledávání – každý den se na tomto seznamu objeví přibližně 10 000 nových webů.
- ovlivnění ostatních webů umístěných na stejném serveru (týká se především sdíleného hostingu) – toto se stává zejména, když napadený web začne rozesílat spam – IP adresa serveru se může objevit na blacklistu.
Zabezpečení WordPressu by proto mělo být jednou z hlavních priorit, bez ohledu na velikost či návštěvnost webu. Následující části tohoto průvodce vám ukážou, jak toho prakticky dosáhnout.
Základní pilíře WordPress bezpečnosti
Zabezpečení vašeho WordPress webu stojí na několika základních pilířích. Pokud tyto oblasti podceníte, vystavujete web zvýšenému riziku napadení. Pojďme se podívat na čtyři klíčová opatření, která tvoří základ kvalitního zabezpečení.
1) Silná hesla a správa přihlašovacích údajů
Bezpečnost vašeho webu začíná u přihlašovacích údajů. Útočníci často používají automatizované skripty k prolomení jednoduchých hesel.
Bezpečné přihlašovací údaje pro WordPress by měly splňovat aspoň následující základní doporučení:
- vyhněte se uživatelským jménům typu „admin“, „administrator“,
- používejte silné heslo – ideálně kombinaci 15 znaků (velká a malá písmena, číslice a symboly),
- omezte počet pokusů o přihlášení na 3 (například pomocí známého pluginu Limit Login Attempts Reloaded),
- alternativou je velmi dlouhé heslo složené z běžného textu, například: „M0je-He$l0-je-b3zp3čné! (Moje heslo je bezpečné!)“.
TIP: Buďte kreativní a zvolte neobvyklé uživatelské jméno, které není snadné uhodnout. Nezapomeňte na silné a zapamatovatelné heslo, které je zároveň vhodné pravidelně měnit (aspoň jednou za čtvrt roku).
2) Pravidelné aktualizace systému a pluginů
Nejbezpečnější verzí WordPressu je vždy ta nejaktuálnější. Jakmile je objevena nějaká zranitelnost, tým WordPressu, společně s komunitou, vydají záplatu v podobě aktualizace v nejkratším možném čase. Aktualizace obsahují nejen nové funkce, ale především důležité bezpečnostní opravy.
Pravidelné aktualizace jsou nezbytné kvůli bezpečnosti webu před hackerskými útoky. Napadené weby jsou ve vyhledávačích vysoce penalizovány a náprava je časově i finančně náročná. Kromě jádra WordPressu je nutné aktualizovat i pluginy a šablony, které jsou důležitými prvky webu.
TIP: Pokud pro plugin nebo šablonu nebyla několik let vydána žádná aktualizace, je namístě v zájmu bezpečnosti zvážit výměnu.
3) Výběr bezpečného hostingu
Kvalitní poskytovatel webhostingu je zásadním prvkem v budování bezpečných webových stránek. Hosting je základnou pro váš web – od jeho kvality se odvíjí nejen rychlost, ale i bezpečnost.
Při výběru hostingu byste měli věnovat pozornost několika parametrům:
- SSL certifikát zdarma (dnes už většina poskytovatelů nabízí),
- aktuální verze PHP (obvykle možno aktualizovat v administraci),
- velikost PHP memory limitu (minimálně 256 MB, optimálně 512 MB),
- bezpečnostní prvky webhostingu (například: ochrana proti brute force a DDoS útokům)
TIP: Nejlepší volbou jsou specializované WordPress hostingy, které mají už v základu SSL certifikát zdarma, přiměřenou verzi PHP memory limitu, kvalitní zabezpečení a dobrou pověst. Jedním z takových je hosting Vedos, ideální právě pro požadavky redakčního systému WordPress.
4) Zálohování jako záchranná síť
Pravidelné zálohování webu je poslední záchrannou sítí v případě jeho napadení nebo poškození. I když samotné zálohování web před útoky neochrání, s pravidelnou zálohou je mnohem jednodušší se škodlivého kódu zbavit.
Pokud máte uloženou nedávnou zálohu, můžete se jednoduše vrátit k verzi, kdy byl web ještě v pořádku, a poté ho lépe zabezpečit.
Zálohovat byste měli vždy, když na webu provádíte nějaké změny. Frekvence zálohování se dále odvíjí od toho, jak často publikujete nový obsah. Pro plnohodnotnou zálohu je potřeba zálohovat jak soubory, tak databázi.
TIP: Pro automatické zálohování můžete využít některý z populárních pluginů jako UpdraftPlus, který nabízí denní zálohy a poměrně jednoduchý proces zálohování. Důležité je také neukládat zálohy na stejný server, na kterém je umístěný web – měly by být oddělené jak místem, tak serverem.
Zabezpečení administrace WordPressu
Administrační rozhraní představuje nejčastější vstupní bránu pro útočníky, kteří se snaží napadnout váš WordPress web. Právě proto je zabezpečení této oblasti naprosto zásadní. Pojďme se podívat na praktické kroky, které můžete podniknout k posílení této nejzranitelnější části webu.
1) Změna výchozího uživatelského jména
Drtivá většina uživatelů WordPressu se do administrace přihlašuje pomocí výchozího uživatelského jména „admin“. Hackeři jsou si tohoto dobře vědomi a při útocích hrubou silou zkoušejí jako první právě toto uživatelské jméno. Jeho změna je proto jedním z nejjednodušších, a zároveň nejefektivnějších bezpečnostních opatření.
TIP: Změnit uživatelské jméno lze následujícími způsoby:
- vytvoření nového účtu Administrátora – v administraci klikněte na
Uživatelé → Vytvořit uživatele
– vyplňte údaje a nastavte roliAdministrátor
. Poté se odhlaste, přihlaste se už jako nový uživatel a toho původního s názvem „admin“ smažte, - použití pluginu – WordPress ve výchozím nastavení neumožňuje změnu uživatelského jména, ale existují pluginy jako Easy Username Updater, které tuto funkci umožňují.
Nezapomeňte, že po změně uživatelského jména je nutné se znova přihlásit s novými údaji.
2) Omezení počtu pokusů o přihlášení
Weby postavené na WordPressu jsou často terčem robotů, kteří se je snaží napadnout a zavirovat. Jedním z nejúčinnějších způsobů ochrany před útoky hrubou silou je omezení počtu neúspěšných pokusů o přihlášení.
Plugin Limit Login Attempts Reloaded omezuje počet pokusů o přihlášení z jedné IP adresy, čímž výrazně snižuje efektivitu brute force útoků. Po překročení nastaveného limitu dojde k automatickému zablokování další aktivity z dané IP adresy.
3) Dvoufázové ověřování
Dvoufaktorové ověřování představuje další úroveň zabezpečení, kdy kromě hesla potřebujete k přihlášení ještě další kód, generovaný nejčastěji ve vašem mobilním telefonu.
Tento systém zajistí, že i když někdo odhalí vaše heslo, bez přístupu k vašemu telefonu se do systému stejně nedostane. Nejpoužívanější metodou je aplikace Google Authenticator, která generuje šestimístné kódy měnící se každých 30 sekund.
Implementace je jednoduchá:
- nainstalujte vhodný plugin (například Wordfence Security nebo AIOS),
- naskenujte vygenerovaný QR kód do mobilní aplikace,
- zadejte vygenerovaný kód pro ověření spárování.
Navíc je vhodné si vytvořit záložní kódy pro případ ztráty telefonu a uložit je na bezpečné místo.
4) Změna přihlašovací URL adresy
Výchozí adresa pro přihlášení do administrace WordPressu je standardně ve tvaru /wp-admin
nebo /wp-login.php
. Tato předvídatelná struktura usnadňuje automatizovaným skriptům jednodušší cílení útoků na váš web.
TIP: Jedním z nejjednodušších způsobů, jak změnit tuto adresu, je použití pluginu WPS Hide Login:
- nainstalujte a aktivujte plugin,
- přejděte do
Nastavení → WPS Hide Login
, - nastavte novou URL přihlašovací stránky (např.
/prihlaseni
), - uložte změny.
Jakmile tuto změnu provedete, původní přihlašovací adresy přestanou fungovat a roboti se k přihlašovacímu formuláři nedostanou. Nezapomeňte si novou adresu uložit a sdílet ji se všemi, kdo váš web spravují. Tento postup doporučuji spíše zkušenějším uživatelům, kteří jsou si vědomi možného rizika.
Kombinací všech čtyř výše zmíněných metod vytvoříte několikavrstvou ochranu, která výrazně ztíží potenciálním útočníkům získání přístupu do administrace vašeho WordPress webu.
Populární bezpečnostní pluginy
Bezpečnostní pluginy představují efektivní způsob, jak automatizovat a posílit zabezpečení vašeho WordPress webu. S jejich pomocí získáte cenné nástroje pro sledování, detekci a prevenci útoků.
Přehled bezpečnostních pluginů
- Wordfence Security je bezpochyby nejpopulárnější bezpečnostní plugin s více než 5 miliony aktivních instalací. Nabízí kombinaci firewallu, malware skeneru a dalších bezpečnostních funkcí. Jeho největší předností je pokročilý firewall vyvinutý speciálně pro WordPress, který blokuje útočníky hledající bezpečnostní slabiny.
- Solid Security (dříve iThemes Security) patří mezi komplexní řešení s více než 800 000 aktivními instalacemi. Plugin obsahuje průvodce nastavením, který vám během několika kroků pomůže nastavit základní možnosti a zabezpečit web. Dále nabízí vynucení silných hesel a další užitečné funkce, jako například dvoufázové ověření.
- BulletProof Security je plugin oceňovaný především díky poměru cena/výkon, protože získáte možnost instalace na neomezený počet webů včetně doživotních aktualizací za 70$ ročně. Plugin nabízí skener malwaru, automatické nebo ruční zálohování databáze a ochranu souboru .htaccess.
Při výběru bezpečnostního pluginu zvažte nejen cenu, ale především funkce potřebné pro váš web. Pamatujte také, že používání více bezpečnostních pluginů současně není doporučováno, protože může způsobit konflikty a nadměrně zatížit váš server.
Pokročilé techniky zabezpečení
Kromě základních bezpečnostních opatření existují i pokročilejší techniky, které mohou výrazně zvýšit ochranu vašeho WordPress webu. Tyto metody sice vyžadují trochu více technických znalostí, ale poskytují extra vrstvu zabezpečení proti sofistikovanějším útokům.
1) Změna prefixu databázových tabulek
WordPress standardně používá prefix „wp_“ pro všechny databázové tabulky. Tato předvídatelnost usnadňuje hackerům plánování útoků typu SQL injection. Při instalaci WordPressu je možné prefix jednoduše změnit, nicméně později je proces komplikovanější.
TIP pro pokročilé uživatele – postup změny prefixu po instalaci:
- Zálohujte databázi – tento krok je nezbytný pro ochranu dat.
- V souboru wp-config.php změňte hodnotu
$table_prefix = 'wp';
na něco unikátního, například$table_prefix = 'a123xyz';
. - Přejmenujte všechny tabulky v databázi – pomocí nástroje jako phpMyAdmin přejmenujte tabulky tak, aby používaly nový prefix.
- Aktualizujte odkazy v tabulkách options a usermeta – pomocí SQL dotazů upravte názvy a klíče, které obsahují starý prefix.
Změna prefixu není samospásná metoda, spíše jde o přístup zvaný „security by obscurity“ (bezpečnost skrze neznalost). I když to může zvýšit bezpečnost, není to záruka úplné ochrany, ale přidává další vrstvu obrany proti potenciálním útočníkům.
2) Správná nastavení souborových oprávnění
Nesprávně nastavená oprávnění souborů mohou hackerům umožnit jejich úpravu nebo čtení. Doporučená nastavení jsou:
Složky – 755 nebo 750:
- 755 znamená, že vlastníci složek mohou číst, zapisovat a provádět soubory, ale ostatní uživatelé mohou pouze číst a provádět.
- 750 je bezpečnější volba, pokud chcete omezit přístup pro veřejnost, kde mohou pouze vlastníci a skupina upravovat složky.
Soubory – 644 nebo 640:
- 644 znamená, že vlastník může číst a zapisovat soubory, zatímco ostatní mohou pouze číst.
- 640 je bezpečnější volba, kde pouze vlastník a skupina mají přístup k souborům.
wp-config.php – 600 nebo 400:
- 600 znamená, že pouze vlastník má přístup k souboru pro čtení a zápis, což je nejlepší volba pro tento soubor, který obsahuje citlivé údaje, jako přístupové údaje k databázi.
- 400 může být použito pro maximální ochranu, kdy soubor je pouze čitelný pro vlastníka a nikdo jiný k němu nemá přístup (pokud server umožňuje tuto možnost bez poruchy).
Pokud možno nenastavujte oprávnění 777 (plný přístup pro všechny), zejména ne pro adresář uploads.
- Oprávnění 777 umožňuje komukoli na serveru číst, zapisovat a vykonávat soubory, což zvýrazňuje bezpečnostní riziko. Tento přístup je nebezpečný, zejména pro adresář uploads, protože umožňuje hackerům nahrávat škodlivé soubory.
Pro linuxové servery lze oprávnění hromadně nastavit příkazy:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 600 wp-config.php
- První příkaz nastaví správná oprávnění pro složky (755).
- Druhý příkaz nastaví oprávnění pro soubory (644).
- Poslední příkaz nastaví přísná oprávnění pro soubor wp-config.php (600).
3) Blokování přístupu k citlivým souborům
Soubor wp-config.php obsahuje citlivé údaje jako přístupové údaje k databázi. Pro jeho ochranu přidejte do souboru .htaccess:
<Files wp-config.php>
Require all denied
</Files>
Podobně můžete omezit přístup k adresáři wp-admin jen na konkrétní IP adresy:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin(.*)$
RewriteCond %{REMOTE_ADDR} !^VaseIPadresa$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
4) Deaktivace XML-RPC a dalších rizikových funkcí
XML-RPC je ve WordPressu aktivní od verze 3.5 a představuje bezpečnostní riziko. Umožňuje útočníkům obejít omezení počtu pokusů o přihlášení a provádět útoky hrubou silou. Navíc může být zneužit k DDoS útokům.
Pro deaktivaci XML-RPC stačí do souboru wp-config.php přidat kód:
add_filter( 'xmlrpc_enabled', '__return_false' );
add_filter( 'xmlrpc_methods', '__return_empty_array' );
Alternativně můžete využít plugin jako Disable XML-RPC API nebo blokovat přístup k souboru xmlrpc.php pomocí .htaccess.
Kromě toho zvažte deaktivaci vestavěného editoru souborů přidáním define(‚DISALLOW_FILE_EDIT‘, true); do wp-config.php, čímž zabráníte útočníkům s přístupem do administrace upravovat soubory šablon a pluginů.
Zabezpečení WordPress webu není jednorázová záležitost, ale kontinuální proces vyžadující pravidelnou pozornost. Především pravidelné aktualizace systému, pluginů a šablon společně se silnými hesly tvoří základ účinné ochrany.
Kvalitní bezpečnostní plugin, správně nakonfigurovaná administrace a pokročilé techniky zabezpečení významně snižují riziko napadení vašeho webu. Nicméně žádné zabezpečení není stoprocentní, proto pravidelné zálohování zůstává poslední záchrannou sítí.
Závěrem je třeba zdůraznit, že investice času do zabezpečení webu se mnohonásobně vyplatí. Náklady a úsilí spojené s obnovou napadeného webu daleko převyšují prostředky věnované prevenci. Proto věnujte pozornost všem zmíněným bezpečnostním opatřením a pravidelně kontrolujte jejich funkčnost.
Často kladené otázky na téma jak zabezpečit WordPress
Proč je důležité zabezpečit WordPress web?
Zabezpečení WordPress webu je klíčové, protože chrání před útoky hackerů, krádeží dat a poškozením reputace. I malé weby jsou cílem automatizovaných útoků, které mohou způsobit vážné škody.
Jaké jsou základní kroky pro zabezpečení WordPress webu?
Základní kroky zahrnují používání silných hesel, pravidelné aktualizace systému a pluginů, výběr bezpečného hostingu a pravidelné zálohování webu. Tyto kroky výrazně snižují riziko úspěšného útoku.
Jak mohu zabezpečit administraci WordPressu?
Pro zabezpečení administrace je vhodné změnit výchozí uživatelské jméno, omezit počet pokusů o přihlášení, aktivovat dvoufázové ověřování a změnit přihlašovací URL adresu. Tyto kroky ztěžují útočníkům získání přístupu.
Jaké jsou nejlepší bezpečnostní pluginy pro WordPress?
Mezi nejlepší bezpečnostní pluginy patří Wordfence Security, Solid Security nebo BulletProof Security. Tyto pluginy nabízejí komplexní ochranu včetně firewallu, skenování malwaru a dalších bezpečnostních funkcí.
Jak mohu pokročile zabezpečit svůj WordPress web?
Pokročilé techniky zahrnují změnu prefixu databázových tabulek, správné nastavení souborových oprávnění, blokování přístupu k citlivým souborům a deaktivaci rizikových funkcí jako XML-RPC. Tyto metody poskytují extra vrstvu ochrany proti sofistikovanějším útokům.
Je článek užitečný?
Napsat komentář