Jak na bezpečný WordPress

V poslední době se setkávám se stále více případy napadených WordPress. Ve většině z nich však není problém v bezpečnostních dírách anebo opomenuté aktualizaci. Za vše mohou uživatelé a jejich naivita, popřípadě ignorování stále opakovaných doporučení. Na druhou stranu někdy to nemají zas tak lehké a jsou donuceni riskovat.

Nikdy nikomu nedáváme přístupy jen tak

Když něco nefunguje jak by mělo, tak se uživatel často obrací s žádostí o pomoc na diskuzní fóra anebo skupiny na sociálních sítích. Ve většině případů se zde dá najít odpověď na problém, popřípadě vás někdo navede. Jenomže často se zde také najdou lidé, kteří vás ihned kontaktují s tím, že váš problém vyřeší. Stačí jim k tomu přístupy do administrace, FTP a databáze. Prosím vás tohle jsou velmi citlivé údaje. Administrátorské oprávnění je jako klíče od baráku. Hesla k FTP a MySQL jsou zase jako přístupy k bankovnímu účtu. Pokud přidáte i přístup k administraci webhostingu, tak tam může vzniknout i reálné finanční škoda, zvláště pokud platíte kartou.

Buďte opatrní na pomoc zdarma

V reálném světě se tyto údaje poskytují odborným firmám oproti nějaké smlouvě, která vám zaručuje alespoň nějaké bezpečí. Firma by v případě zneužití přišla minimálně o dobré jméno. Je mi jasné, že pokud jde o menší či osobní projekt, tak jsme schopni nad tím mávnout rukou, ale neměli bychom. Pokud se vám někdo neznámý ozve jen tak že vám bez nároku na odměnu pomůže, tak je to přinejmenším divné. Maximální opatrnost je na místě.

Ne vždy je potřeba dávat přístupy

Jakékoliv přístupy, které dáváme komukoliv cizímu musí být omezené na nezbytné minimum. Pokud máte rozhozenou administraci není třeba dávat jiný přístup než na úrovni uživatele. U problému s rozhozenou šablonou kvůli CSS dokonce není potřeba přístup žádný. CSS jsou veřejně přístupná a stažitelná. Ten dobrý člověk vám může pomoct tím, že si vše upraví v prohlížeči a pak vám pošle řešení.

Zvažte také jestli je nutné dávat někomu přístup k FTP. Jestli nebude jednodušší mu prostě poslat těch několik problémových souborů, co bude potřebovat. Většinou zlobí nějaká funkce u pluginu. Takže stačí poslat jenom jeden soubor a zpět dostanete upravenou funkci, popřípadě malý kus kódu. Ten můžete vždy ukázat někomu třetímu jestli v něm není něco špatně. Třeba zadní vrátka.

Nikdy nikomu neposílejte soubory obsahující přístupové údaje. U WordPress to je wp-config.php.

Uvědomte si, že pokud nemáte nějak upravený WordPress, tak všechny instalace jsou stejné. Zreplikovat nefunkční plugin by tak neměl být problém. Pokud bude trvat, že problém je asi na hostingu, tak mu vytvořte subdoménu, zvláštní FTP s omezeným přístupem jen do této subdomény a samostatnou databázi. Jestli nevíte jak na to, tak se obraťte na zákaznickou podporu hostingu. Pomoc vám s WordPress možná není náplní jejich práce, ale poradit jak zřídit subdoménu, FTP přístup jen do ní a databázi už je.

Přístupy vždy mažeme

Po zdárném vyřešení či nevyřešení problému, vždy měníme naprosto všechny přístupy, které jsme někomu poskytli. Nečekejte zbytečně na nic, prostě to udělejte okamžitě. To platí i pokud danému člověku věříte a odvedl naprosto skvělou práci. Přístupy totiž i bez jeho zavinění mohou nějakým způsobem padnout do rukou někoho dalšího, kdo je zneužije. Ať už je to dítě u počítače, které odklikne instalaci malware, odcizený počítač, který nemá zašifrovaný disk anebo prostě nějaký zero-day exploit. Neexistuje 100% ochrana proti všemu.

Diagnostika problému pomocí skriptů třetích stran

Někdy přichází „bezplatná pomoc“ formou návrhu ať si nainstalujte nějaký doplněk anebo skript. Dostanete odkaz na hezky vypadající stránku, kde si stačí stáhnout plugin anebo nějaký skript. Ten pak nahrajete na server a on zjistí kde je problém. Jenomže místo toho si ten skript přečte data ve wp-config.php odešle je na server, vytvoří nového uživatele s administrátorským oprávněním anebo nahraje backdoor. Ano tohle všechno dokáže i pár řádků kódu, které snadno přehlídnete. Je to jako nainstalovat si dobrovolně malware do počítače.

Tady je těžké cokoliv poradit. Můžete zkusit dohledat recenze či reference na daný skript, popřípadě autora. Pokud se o skriptu píše ve velkých a důvěryhodných magazínech většinou je vše v pořádku. Dobré jsou i projekty zaštítěné nějakou open source komunitou. Je dobré se i zeptat na odborných diskuzích jaké zkušenosti mají s daným skriptem.

Samozřejmě pozor na odkazy. I na diskuzním fóru se někdo může splést a omylem vám dát odkaz na stránku kde je daný skript upravený. Na phishing naletělo už spousta lidí. Ani odkaz ve tři roky starých recenzích na známých magazínech nemusí být zárukou. Doména mohla mezitím expirovat a teď jí drží někdo kdo na ní má web s phishingem.

Jak vidíte tohle není žádný sranda a možností, kde můžete přijít k újmě je opravdu hodně. Na druhou stranu pokud potřebujte jen diagnostikovat problém, nic vám nebrání v tom vytvořit si na počítači virtuální server, nainstalovat na něj LAMP (Linux, Apache, MySQL, PHP).

Pluginy a šablony stahujte vždy jen z oficiálního zdroje

Tohle bylo téma roku 2015 v Česku a zřejmě bude ještě i v tomto roce. Spousta uživatelů si stahovalo prémiové pluginy a šablony z warez webů. Ano zní to neuvěřitelně, že je tam můžete najít a opravdu to nikdy nezkoušejte. Warez weby jsou plné originálních šablon, které v sobě mají malware, backdoor a spoustu dalších vymožeností, které nechtějte ani poznat. Místo toho, aby se útočníci pokoušeli složitě vám hacknout WordPress či prolomit heslo, prostě vloží malware do krásné prémiové šablony a dají je volně ke stažení. Účinnost je velice vysoká a nepomůže proti tomu bezpečnostní plugin ani nějaká super IPS/IDS ochrana.

Pokud jste někdy použili takovýto plugin či šablonu, tak už počítejte s tím, že máte WordPress napadený. To že jej smažete už vám teď nepomůže. Stačí aby se jednou aktivoval (byl zavolán) a je konec. Máte tam někde hluboko zakopaný backdoor, přes který může útočník váš WordPress kompletně ovládat. U pluginů a šablon stažených z warez stránek se automaticky předpokládá, že je napadený.

Ještě přidám jednu zábavnou poznámku. Antivirus co máte v počítači vám po stažení pluginu/šablony backdoor v něm nenajde. Takže jediná obrana je stahovat vždy všechno z původních zdrojů.

Slabá hesla

WordPress má generátor na opravdu silná hesla. Vyplatí se jej používat. Pokud máte problém si je zapamatovat, což není překvapivé, tak můžete zvolit heslo jednodušší ale přidejte k tomu nějaký další prvek. Například když se pokusíte přihlásit, tak ať vám WordPress pošle na email autorizační kód. Nazývá se to dvoufázové ověření (anglicky two factor authentication). Popřípadě podobně jako u banky si můžete poslat SMS či zprávu přes speciální aplikaci. Jak to udělat si můžeme napsat příště.

V každém případě spousta uživatelů používá opravdu slabá hesla, která se dají prolomit slovníkovým útokem popřípadě odhadnout. Nějaké nahrazování písmen za podobně vypadající čísla ani nezkoušejte. Že to nefunguje se nedávno přesvědčili uživatelé LinkedIn. Robot co bude zkoušet sílu vašeho hesla bude testovat kombinace přihlašovacího jména, názvu webu, vašeho emailu a jméno autora. Jestliže cokoliv z toho používáte ve svém hesle, tak je slabé a měli byste jej změnit.

Přihlašování se přes free wi-fi

V Česku je velké množství access point, kde se můžete zdarma připojit k internetu. Většina z nich jede přes routery, které nemají aktualizovaný firmware a starají se o ně lidé bez patřičných technických znalostí. Pokud je takovýto router napaden, tak o tom nikdo nemusí vědět roky, spíše se to nikdo nikdy nedozví. Všechen nešifrovaný provoz přes tyto routery je automaticky odposloucháván na přítomnost poslaných hesel. Jakmile se přes access point přihlásíte do administrace, tak letí vaše heslo přímo útočníkům. Toto samozřejmě platí i pro router, který máte doma. Podle neoficiálních odhadů mohou být v Česku napadené desítky tisíc routerů.

Ochranou zde je dvoufázové ověření a šifrované spojení k administraci. Samozřejmě kvůli šifrování nemusíte hned přecházet na HTTPS s celým webem, stačí jen administrace. Dokonce nemusíte mít ani platný certifikát. Jde jen o to šifrování. Na druhou stranu dnes už není problém dosáhnout na bezplatný Let’s Encrypt. Takže pokud plánujete nový web, tak určitě jej využijte a rovnou celý postavte na HTTPS.

Autor Ginoza

Pracuji na zákaznické podpoře jednoho známého webhostingu.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *