Zabezpečení systému WordPress pomocí Wordfence
Bezpečnost redakčního systému WordPress je velmi diskutovaným tématem. Na WordPressu běží více než 35% webových stránek na celém internetu, což z něj dělá jasný cíl hackerů. Díky možnosti systém snadno rozšiřovat pomocí pluginů třetích stran a dostat tak do webu v podstatě jakýkoliv kód, je pro samotný WordPress tento boj velice obtížný.
Naštěstí existuje spousta technik, doporučení a pluginů, jak zabezpečit WordPress před hackerskými útoky a zabránit tak napadení webu. Jednou z důležitých částí zabezpečení WordPress je plugin Wordfence Security.
Wordfence Security – plugin na zabezpečení webu
Pokud to se zabezpečením Vašeho WordPress webu myslíte vážně, Wordfence Security je plugin, který nesmí chybět v žádné WordPress instalaci. Společně s pluginem iThemes Security patří mezi nejpoužívanější bezpečnostní pluginy.
Wordfence je jakýsi antivir pro Váš web. Pomocí firewallu ho chrání před silovými útoky (tzv. brute force), DDOS útoky, hledá malware (škodlivý kód) v celé aplikaci a mnohem více.
Plugin je v základní verzi nabízen zdarma, která je dostačující pro většinu webových aplikací. O tom, co nabízí placená Premium verze se můžete dozvědět na konci článku.
Základní funkce Wordfence Security
Firewall
Jednou z nejdůležitějších funkcí bezpečnostního pluginu Wordfence Security je jeho firewall běžící na úrovni PHP a díky tomu ho není problém využívat na každém WordPress webu. Není tak potřeba využívat externí služby (např. Cloudflare) a provádět složité konfigurace.
Firewall chrání Váš web před útočníky, kteří se snaží najít bezpečnostní díru, provádět DDOS nebo silové / brute-force útoky, při kterých se například snaží uhodnout heslo pro přihlášení do administrace.
Scanování bezpečnostních problémů
Wordfence provádí v pravidelných intervalech scanování stavu systému. V rámci všech testů probíhá například kontrola verze WordPressu, jeho pluginů, hlídání změn všech souborů a výskytu škodlivého kódu (mallware), kontrola nastavení zabezpečení, uživatelských účtů a další.
V případě problémů jste upozornění e-mailovou zprávou a můžete problém ihned vyřešit.
Jak nainstalovat Wordfence Security
Plugin Wordfence Security je možné nainstalovat jednoduše přes administraci webu v části Pluginy > Instalace pluginů, do vyhledávání zadáme „Wordfence Security„.
Po instalaci stačí plugin Aktivovat a to je vše. Plugin už nyní, bez jakéhokoliv dalšího nastavování, začne plnit svou funkci a chránit Váš web.
Minimálně však doporučuji nastavit emailovou adresu pro notifikace. Zde Vám budou chodit zprávy o zabezpečení webu a upozornění na případné útoky / napadení. Tuto adresu lze nastavit hned v uvítacím modálním okně, které vyskočí po aktivaci pluginu. Druhou část pro zadání licenčního klíče můžete přeskočit, vztahuje se pouze k Premium verzi.
Doporučené nastavení pluginu Wordfence
Jak jsem už zmínil, Wordfence bude plně plnit svou funkci ihned po jeho aktivaci. Přesto ještě osobně provádím nějaká dodatečná nastavení.
Obecné nastavení Wordfence
1. Zakázání automatických aktualizací
Jako první doporučuji zakázat automatické aktualizace pluginu. Na to budete dotázání ihned po jeho aktivaci. Automatické aktualizace mohou obecně u WordPress pluginů občas přinést problém a samovolně znefunkčnit web. Aktualizace raději provádím vždy sám a manuálně, dokážu tak ihned vyřešit případné problémy vzniklé po aktualizaci.
2. Úprava nastavení e-mailových notifikací
Jelikož mám ve správě už více než stovku webových stránek běžících na WordPress, mohou emailové notifikace značně spamovat schránku a ztratí tak svůj účel.
Z tohoto důvodu doporučuji v nastavení Wordfence > All Options:
- nastavit emailové upozornění pouze v případě, kdy byl nalezen problém s úrovní vyšší než High
(Alert me with scan results of this severity level or greater) - vypnout upozornění, když se na web přihlásí administrátor (Alert me when someone with administrator access signs in)
- vypnout zasílání týdenních shrnutí o zabezpečení (Enable email summary)
3. Nastavení úrovně skenování
Ve výchozím nastavení Wordfence provádí skenování na možné problémy na úrovni Standard Scan. U svých projektu chci mít klidnou duši a nastavuji v Basic Scan Type Options úroveň High Sensitivity. Díky tomu během skenu probíhá daleko více testů a může dojít k odhalení problémů, které standardní úroveň neřeší.
Nastavení rozšířené ochrany firewallem
Wordfence je v rámci systému načítán jako běžný plugin. To znamená, že ochrana jeho firewallem probíhá až ve chvíli, kdy se plugin načte, což může být někdy pozdě. Před načtením pluginů se provádí ještě spousta jiného kódu a volání, což mohou útočnici využít k napadení. Kromě toho nejsou vůbec chráněné scripty mimo instalaci WordPress.
Řešením tohoto problému je nastavit automatické načítání Wordfence firewallu před každým voláním .php scriptů. To se dá provést nastavením vlastnosti auto_prepend_file v php.ini konfiguraci.
Některé hostingy umožní nastavení této vlastnosti v rámci .htaccess, bez nutnosti zásahu do konfigurace hostingu. K tomu dobře poslouží průvodce Wordfence v administraci webu. Toho zobrazíte například kliknutím na tlačítko Optimize the Wordfence firewall v nastavení firewallu.
Nastavení extended firewall protection u Wedos
U hostingu Wedos jsem narazil na problém, kdy nastavení rozšířené ochrany firewallem pomocí průvodce v administraci nefunguje. Důvodem je to, že Wedos neumožňuje přepsání vlastnosti auto_prepend_file v souboru .htaccess.
Jedinou možností je nastavit tuto hodnotu přímo v administraci webhostignu Wedos, kde je stránka Konfigurace PHP. Zde do pole pro vlastnost auto_prepend_file nastavíme cestu k souboru wordfence-waf.php, který bude automaticky načítán při každém volání .php scriptů. Cesta je relativní k rootu hostingu Vašeho webu, proto si dejte pozor, aby nezačínala lomítkem / (jinak bude web padat na chybě hned při načtení stránky).
Oproti jiným hostingům je u Wedos však ten problém, že nastavení auto_prepend_file globálně pro celý hosting nám nevyřeší problém pro subdomény a aliasy. Rozšířená ochrana firewallem bude tedy fungovat jen pro hlavní doménu.
Google reCaptcha ve WordPress pomocí Wordfence
Skvělou funkci, kterou plugin Wordfence nabízí, je nastavení ochrany přihlašovací stránky pomocí Google reCaptcha v3. Verze 3 je „neviditelná“ a bez nutnosti akce ze strany běžného uživatele (např. zaškrtávací políčko, výběru obrázků semaforu apod.) dokáže ochránit přihlašovací formulář před roboty.
Nastavit Google reCaptcha můžete v administraci Wordfence > Login Security > Settings, kde je potřeba tuto funkci povolit a zadat API klíče pro tuto službu. Vytvořit API klíč pro Google reCaptcha můžete zdarma přímo v administraci této služby.
Co nabízí placená verze Wordfence Premium
Wordfence je naprosto dostačující v jeho verzi poskytované zdarma, kdy bez problémů ochrání Váš web. Přesto je možné si za 99$ zakoupit prémiovou verzi, která oproti základní verzi nabízí mimo jiné:
- Aktualizace pravidel firewallu a scanu na mallware probíhá v reálném čase. Verze zdarma provádí aktualizaci pravidel jednou za 24 hodin.
- Blokování zemí, které umožňuje zakázat přístup na přihlašovací stránku nebo celý web z vybraných zemí. Ve verzi zdarma můžete blokovat pouze jednotlivé IP adresy.
- Blokování IP adres v reálném čase. Díky statisícům instalací má Wordfence obrovskou databázi IP adres, ze které jsou prováděny útoky. Prémiová verze dokáže tyto informace využít pro automatické blokování těchto IP adres ještě před tím, než se pokusí o napadení Vašeho webu.
- Možnost plánování intervalu kontroly, která v základní verzi probíhá jednou za 24 hodin (důkladná kontrola jednou za 72 hodin).
- Prémiová podpora Vám umožní řešení případných problémů s Wordfence do 24 hodin od podání tiketu.