V tomto článku se místo běžné teorie zaměříme na konkrétní kroky, pluginy, služby a kódy.
Jak zamezit základnímu přístupu
Už jste slyšeli asi 100x. Používat silná hesla a přihlašovací jména. To je základ. Ale jak na to? Zaprvé nikdy nevymýšlejte hesla. Nechte si je generovat programem typu LastPass nebo 1Password. Uchovávají hesla a generují vám je.
Pak už jen stačí zvolit jméno jiné než „admin“ a prakticky tuto oblast máte vyřešenou. Pokud nevíte jaké jména volit, doporučuji něco typu „nazevwebu_jmeno“. Příkladem by tedy mohlo být „domenacz_pavel“ apod.
Určitě se bude hodit pak rozšíření hashování hesel pomocí pluginu WP Password Bcrypt. Jedná se o lepší verzi toho, co používá WordPress.
Poznámka: hashování je uchování hesel ve formě nečitelné oproti původní zadané hodnotě. Kupříkladu heslo „ahoj“ by mohlo v databázi vypadat jako „79c2b46ce2594ecbcb5b73e928345492“.
Útoky z venku
Pokud vše provede správně – aktualizovaný WordPress i pluginy, silná hesla apod – tak útočníkům nezbývá než Váš web odstavit. Velmi často lze najmout „zombies“ z Ruska / Číny, kde se následně děje útok směrem na Váš web. Jak? Prostě a jednoduše velmi mnoho zařízení (alias uživatelů) začnou načítat ideálně stránku na Vašem webu, která je nejvíce náročná na výpočetní výkon hostingu.
Pokud se zdaří, nespadne nejen Váš web ale i další. Tím je zaručeno, že obnova bude složitější než jen nahození jednoho webu.
Cloudflare a další
Od toho existují řešení typu cloudflare, kdy svůj web schováte za službu, která je proti těmto typům útoků stavěná. Má to celou řadu výhod ale i nevýhod. Nicméně pokud máte zákeřnou konkurenci – což jsme u několika klientů zažili – a hosting / správce serveru, kde máte svůj web, nezvládá řešit útoky, nezbývá nic jiného.
Útoky zevnitř
Už bylo zmíněno, že je potřeba mít aktualizovaný WordPress i pluginy. Proč? Protože nikdo není neomylný a tvůrci šablon / pluginů i WordPressu mohou někde nechat kód, který otevře vrátka pro nahrání scriptu na web. Kdy pak útočník už může dělat prakticky cokoliv.
To se týká i počtu pluginů a především těch, od menších vývojářů. Tam mnohdy není úplně touha řešit edge-case problémy. Typicky čtení z databáze, kde může být kód nebo soubor v pluginu, který lze spustit načtením jeho adresy v prohlížeči.
Taky je dobré používat nejnovější PHP, což je aktuálně PHP 7.4 nebo PHP 8 – ale jen v případě, že to nebude mít dopad na Váš web.
Pluginy
Pokud potřebujete bezpečností plugin – není totiž vždy potřeba – doporučení je kouknout na WordFence, All one One WP Security nebo iTheme security. S oběma lze chránit web relativně dostatečně dobře. Samozřejmě pokud nemáte dobrý hosting / dobrého poskytovatele serveru, tak pluginy nic nezmohou.
- WPS Hide Login = skryje základní URL pro přihlášení
- WP Password Bcrypt = lepší hashování hesel
- Login Protection = jednoduchý plugin na omezení počtu přihlášení (bezpečností pluginy výše umí v základu)
Hosting / Server
Obecně není skoro možné říci, jaký hosting je na co stavěn. Co se týká našeho prostředí, doporučujeme OneBit jako multi hosting řešení. Serverů je tu celá řada a je velká otázka, co přesně potřebujete. Obecně by se dal doporučit stable.cz máme s ním zkušenosti a funguje dobře.
Ze zahraničních používáme simply.com kvůli dostupnosti do ČR a po Evropě, která je velmi dobrá a zároveň za slušné ceny nabízí něco, co na našem území nikdo.
HTTPS a http/2
Šifrování při přenosu dat, lepší načítání webu a ještě k tomu Vám Google bude dávat lepší hodnocení. Navíc lze použít Let’s Encrypt certifikát, který už snad každý rozumný hosting dává v základu a je zdarma. K tomu všemu pak zvyšuje certifikát důvěru u zákazníků. Není tedy důvod – skoro – proč jej nepoužívat.
Bezpečnostní hlavičky
Pro lepší bezpečnost je super vložit následující hlavičky. První kód je pro .htaccess soubor na serveru. Druhý je pak pro funkci v PHP (lze vložit například do functions.php).