Redakční systém WordPress podle posledních průzkumů na světe pohání téměř 33 % všech webových stránek. To s sebou kromě spousty výhod přináší i obrovské riziko útoků hackerů. Všechny vaše veřejné weby s největší pravděpodobností prochází automatizované nástroje, které zneužívají známých zranitelností WordPressu, a pokouší se váš web využít ke spoustě nepříjemným věcem. Počínaje zobrazování reklam, přes přesměrování na útočné stránky, až po zapojení do rozesílání spamových emailů.
Pro každý web můžete učinit několik jednoduchých kroků, které ho učiní odolnějším. Část návodu vyžaduje základní znalosti práce s FTP kvůli úpravám souborů na vašem webovém serveru.
1. Limitace počtu neplatných přihlášení do administrace
Roboti automaticky zkoušejí přihlašování do vaší administrace pomocí databáze kompromitovaných či nejpoužívanějších hesel. Jedná se o tzv. bruteforce útok, tedy útok hrubou silou. Tomuto útoku můžete předejít instalací jednoho z pluginů pro omezení počtu přihlášení či přesunutí velmi známé adresy administrace (wp-admin) na něco tajného.
2. Používejte protokol HTTPS
Jedním ze základních předpokladů dobře zabezpečeného webu je aktivní komunikace přes protokol HTTPS. Jak správně zapnout podporu zabezpečeného přenosu dat se dozvíte v jednom z mých předchozích článků.
3. Vypnutí editoru šablon a pluginů
Ve WordPressu se nachází integrovaný editor kódu šablon a pluginů, což samo o sobě nebezpečné není. Představte si ale, že se vám do vašeho webu podaří přihlásit útočníkovi
s administrátorskými právy. Mohl by si do šablony vložit jakýkoliv škodlivý (např.) PHP script.
Tomuto typu útoku se dá velmi jednoduše předejít přidáním tohoto řádku do souboru wp-config.php – celá funkcionalita pro editaci šablon a pluginů se nadobro deaktivuje.
define( 'DISALLOW_FILE_EDIT', true );
4. Vypnutí možnost instalace a aktualizace pluginů
Jednou z nejjistějších obran je také zapnutí volby DISALLOW_FILE_MODS, která kompletně zakáže jakoukoliv instalaci či aktualizaci šablon a pluginů. Pokud se vám do webu tedy dostane útočník, je pro něj nemožné nainstalovat nějaký nevyžádaný plugin.
Je důležité připomenout, že před každou aktualizací WordPressu či nainstalovaných šablon
a pluginů je potřeba tuto možnost ze souboru wp-config.php smazat.
define( 'DISALLOW_FILE_MODS', true );
5. Zálohujte, zálohujte
Věřím, že většina z vás je na tohle slovo již alergická. Důležitější věc ale neexistuje. Pokud se vám do webu nabourá útočník a rozšíří po celém kódu svůj virus, nemůžete už svému webu nikdy věřit. Pokročilé viry dokáží změnit i čas editace souborů, takže jednoduše nepoznáte, jestli útočník nenakazil jeden z mnoha tisíců souborů WordPressu. V tu chvíli přichází na řadu záloha
z času před útokem.
Kvalitní hostingy zálohování provádí automaticky, některé zálohu obnovují za poplatek. Zvažte
i tvorbu vlastní zálohy (například stažením všech souborů přes FTP) a na pravidelný export databáze. Můžete využít i mnoho pluginů, které zálohování řeší. Dostanete pouze vygenerovaný ZIP s celým webem včetně databáze, nebo se celá záloha automaticky nahrává na vzdálené úložiště, například Dropbox. Namátkou můžu doporučit plugin BackWPup.
https://cs.wordpress.org/plugins/backwpup/
6. Nepodceňujte aktualizace
Aktualizace WordPressu jsou nesmírně důležité, neboť většinou opravují nově objevené bezpečnostní chyby. Nezapomínejte také na pravidelné aktualizace pluginů a šablon. Já všechny své weby aktualizuji přibližně 1x týdně, ale v případě, že se dozvím o nějaké důležité aktualizaci, provedu aktualizaci co nejdříve.
7. Uživatelské jméno do administrace
Nedoporučuji používat výchozí uživatelské jméno (admin), neboť tím zjednodušujete útočníkovi provedení útoku např. hrubou silou do vašeho webu.
Nezapomeňte také ale na velmi důležitou věc – administrátorů můžete mít v systému víc
a někdo z nich může mít slabé heslo. Útočník si může jednoduše (přes parametr ?author=1) zjistit, jaké uživatelské jméno se pod tímto ID (v tomto případě id = 1) skrývá. Následně mu stačí prozkoušet databázi hesel, jestli se náhodou přihlášení do systému nevydaří.
Zakázat zjišťování uživatelských jmen podle ID autora můžete jednoduše, přidáním těchto řádků do souboru .htaccess, který se nachází v kořenové složce webu.
# blokace skenovani autoru RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} (author=\d+) [NC] RewriteRule .* - [F] # ---
8. Zakázání souboru XMLRPC.php
Pokud nevyužíváte žádnou externí aplikaci, která XMLRPC používá, tak proveďte blokaci tohoto souboru přidáním těchto řádků do souboru .htaccess, který se nachází v kořenové složce webu.
# XMLRPC blokace order deny,allow deny from all # ---
9. Zamezte přímý přístup k souboru wp-config.php
Spousta robotů zkouší také neustále dokola otevírat soubor wp-config.php, který v sobě obsahuje informace pro přihlášení k databázi. Když se stane na serveru nějaká technická chyba a PHP korektně nezpracuje požadavek, může se ve výjimečných případech stát, že se soubor stáhne spolu s přihlašovacími údaji do databáze. Ušetříte také výkon webového serveru, neboť se v případě přístupu robotů na tento soubor nebude vůbec zpracovávat.
Přidám těchto řádků do souboru .htaccess tomuto typu útoku zamezíte.
# Blokace pristupu k WP-config order allow,deny deny from all # --
10. Skryjte verzi WordPressu
Ve výchozím stavu váš wordpressový web prozradí v meta tagu generator číslo verze, kterou právě na webu používáte. To může útočníkovi velice pomoci, neboť například zjistí, že pro nějakou zastaralou verzi, kterou používáte, existuje známá zranitelnost.
Skrytí tohoto tagu můžete provést přidáním tohoto řádku na konec souboru functions.php, který se nachází ve složce s vaší šablonou. Tu naleznete ve složce /wp-content/themes/
add_filter( 'the_generator', '__return_null' );
11. Využijte plugin, který většinu věcí řeší automaticky
Pokud si nevěříte, že web zvládnete zabezpečit sami, nebo hledáte jednoduché a účinné řešení, tak doporučuji instalaci jednoho z následujících pluginů. Pozor, nainstalujte si pouze jeden, stejně jako u antivirů v počítači platí, že více neznamená lépe.
Jeden z nejznámějších pluginů je nepochybně Sucuri, který je v základní dostatečné verzi zdarma.
https://wordpress.org/plugins/sucuri-scanner/
Následně mohu doporučit pluginy Wordfence nebo iThemes security. Někdy si v nějakém článku ukážeme, co jaký plugin nabízí v základní neplacené verzi, ať vám výběr ulehčím.
https://wordpress.org/plugins/wordfence/
https://wordpress.org/plugins/better-wp-security/
Mohlo by vás také zajímat
-
AI v programování: Jak používat GitHub Copilot (část 1)
12. února 2024 -
Optimalizace a zlepšení výkonu kódu: tipy a triky
14. srpna 2023 -
10 nejpopulárnějších programovacích jazyků a jejich využití
9. listopadu 2023
Nejnovější
-
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024 -
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024