2 časté a zcela nefunkční rady jak zabezpečit WordPress
Nejhorší chybou v zabezpečení (nejen) WordPressu je iluze, že jsme něco zabezpečili. Myslíte si, jak jste na útočníky vyzráli, ale jim je to úplně jedno. Vaši vychytávku obejdou za pár vteřin. V tomto článku popisuji 2 rady, které často vídám v mnoha článcích i od seriózních webových agentur. Obě mají stejný problém: jsou tzv. security by obscurity, česky „bezpečnost skrz podivnost.“ Účinnost takových opatření v praxi je dost sporná.
Změna prefixu tabulek v databázi
WordPress ukládá data do tabulek v databázi a před název každé tabulky dá předponu, tzv. prefix. Standardně je to vždy wp_
. Podivná rada č.1 zní: změňte si prefix tabulek, útočníci pak nedokáží uhodnout názvy tabulek!
Skutečnost: Prefix tabulky nemá na bezpečnost žádný vliv! Je to jako by vám někdo radil: Změňte si jméno na zvonku, lupiči vám pak nevykradou byt!
Technicky: útočník má 2 cesty k obshu – přes databázi, nebo přes php. V php je prefix uložený v proměnné a lze snadno přečíst. V databázi lze jedním příkazem vypsat názvy tabulek i s prefixy.
Prefixy tabulek nejsou vůbec určené k zabezpečení. Jejich účel je čistě pro přehlednost. Pokud máte v jedné databázi instalováno víc WordPressů, odlišují se tabulky jednotlivých instalací právě prefixem. Normálně se však používá pro každou instalaci samostatná databáze. Prefixy by tak ve většině případů nebyly potřeba vůbec.
Změna url přihlášení
Přihlašovací stránka wordpressu je standardně na adrese /wp-login.php . Chybná rada spočívá v představě, že když adresu změníte, útočníci přihlašovací stránku nedokáží najít a nabourat se do webu.
Změna přihlašovací adresy odradí jen některé brute-force roboty. Ti prostě zkouší posílat na přihlašovací stránku různá jména a hesla, jestli se trefí. Souhlasím, je to fakt trapná technika. Je však častá a otravná jak hejno komárů. Problém je, že zatěžuje server. Proto je vhodné mít firewall / login limiter, co takového robota po pár chybných pokusech prostě odstřihne.
Blokace po několika pokusech o neúspěšné přihlášení je účinné a správné řešení. Funguje na jakékoli adrese a nerozlišuje kdo se zkouší přihlásit. Řeší přímo s jádro pudla, což je opakované chybné přihlášení. 50 chybných přihlášení za 5 minut prostě není legitimní uživatel, co jen udělal překlep v heslu.
Inteligentního útočníka změna url neodradí. Je to jako byste v domě přesunuli vchodové dveře na jinou stranu domu v představě, že je zloději nenajdou. V praxi se však pravděpodobně vloupají malým okýnkem na záchodě, které z praktických důvodů necháváte pootevřené. Tím chci říct, že přes přihlašovací stránku se většina úspěšných útoků neděje. Častěji se využívá bezpečnostní chyba nějakého pluginu, nebo šablony. Nejsnažší to je, když nemáte aktualizované verze. Útočník se podívá co autor v novější verzi opravil a neopravenou chybu na vašem webu využije.
Na co se soustředit při zabezpečení WordPressu
WordPress sám o sobě je velmi bezpečný. Nikdy to není stoprocentní, ale v porovnání s jinými podobnými systémy a vzhledem k objemu funkcí, co WordPress má, je to velmi dobré.
Největší bezpečnostní problémy jsou dva:
- Uživatelé, kteří nechovají bezpečně.
- Vývojáři šablon a pluginů, kteří svoji práci nedělají pořádně.
Pokud tedy chcete svůj wordpress udržet bezpečný, soustřeďte se na tyto dva body.