Už vám nějací útočníci napadli – hackli – web? Ještě ne? Buďte rádi. Nechci vám vyhrožovat, že to přijde, ale to riziko je docela vysoké. Jak to vím? Napadené weby opravujeme a někdy je to docela oříšek. Říkáte si, proč zrovna váš web by se měl stát cílem útoku?
Obvyklá představa
Terčem útoků stávají důležité weby plné osobních údajů, přístupů do finančního bankovnictví, s databázemi kreditních karet; velké weby důležitých firem, které si to ale hlídají. Útočníci přece chtějí získat tyto cenné a důležité informace, ne?
Realita
Útočníci chtějí rozesílat spam, a to z vašeho webu. Protože e-maily dnes umí posílat každý hosting a tedy každá (webová) aplikace, zajímá útočníky každý web. Domnívám se, že ani neprovádějí výběr podle kritéria „důležitý-nedůležitý“, protože oním sítem je pouze „obsahuje zneužitelnou chybu, nebo neobsahuje“. Navíc jsou útoky strojové a lidský faktor figuruje někde na začátku při zrodu útočného mechanismu.
Takže váš web je pro útočníka stejně atraktivní jako každý jiný.
Jak pomůže hostingová firma?
Možná se uklidňujete tím, že si platíte kvalitní hosting a že tedy máte vystaráno.
Nemáte.
Přečtěte si pořádně obchodní podmínky, např. ty od Wedosu:
Zákazník se zavazuje provést na své straně veškerá opatření potřebná k zamezení zneužití služeb. Zákazník je odpovědný za následky takového zneužití, jestliže k němu dojde.
Hostingové firmy samozřejmě neignorují rizika a podnikají množství opatření, aby své zákazníky a jejich web a data chránily. Ale činí tak na úrovni stovek gigabajtů, tisíců webů nebo stovek serverů; nikoliv na úrovni vašeho WordPressu.
Nečekejte tedy žádnou výraznou pomoc ani v prevenci proti napadení, ani při odstraňování následků a zabezpečení.
Je to vaše zodpovědnost.
Jak se napadení projevuje
Setkáváme se s několika typy útoků, které se projevují kupříkladu takto:
- Změněná (nahrazená) titulní stránka webu, web nefunkční. Cílem je zřejmě otestování průniku nebo provokace.
- Změněná responzivní verze webu, případně upraven vzhled tak, aby tato změna nebyla vidět a kompromitace byla nadále skrytá. Cílem bývá podvodné přesměrování, získání zpětného odkazu nebo za určitých okolností zobrazení reklamy.
- Nefunkční web (bílá obrazovka nebo naopak zobrazení konkrétního chybového hlášení). Cílem bývá rozesílání spamu, které pravděpodobně již proběhlo a v určité fázi došlo ke zhroucení škodlivého kódu, protože už vykonal svou práci. Nyní je možné ho zkoumat a hlavně odstranit. Pokud se to nepovede, má obvykle schopnost se obnovit, což bývá zřejmě záměrem.
- Napadení nelze poznat vizuálně. Jde o stejný případ jako předchozí, ale nemusíte o tom vědět celé měsíce. Obvykle vám to oznámí hostingová firma společně s tím, že vám web odstavují, dokud závadu neodstraníte.
Proč k napadení dojde
Příčiny úspěšného napadení, tedy nežádoucí změny kódu vašeho webu, lze hledat v těchto oblastech a jejich vzájemných kombinacích:
- chyby v pluginech či šablonách (velmi zřídka a výjimečně v samotném WordPressu jako jádru),
- zejména pokud používáte neaktualizované a zastaralé pluginy a šablony či WordPress,
- pokud nemáte funkční ochranu webu (viz dále)
- nechráněné přístupové informace na serveru, hlavně stará data, která lze využít, obsah databáze (SQL soubory),
- zavlečení nákazy či škodlivého modulu z cizího zdroje, např. instalace pluginu z nedůvěryhodného zdroje, útok může být záměrem jeho autora,
- chybné nastavení serveru, WordPressu, nízký bezpečnostní standard – nedostatečná oprávnění souborů, útok z vnitřní sítě či serveru, možnost nahrát do mediální knihovny PHP skript atp.
Jak si web zabezpečit
Základem je mít aktualizovaný software, v případě placených doplňků se ujistěte, že máte skutečně nejaktuálnější verzi, která existuje, nespoléhejte se pouze na informaci v sekci Pluginy. Abyste mohli získat aktualizace placených pluginů, musíte platit roční nebo jiný poplatek jejich autorům.
Přístup k vašemu webu přes protokol https sice sám o sobě aktivně nezabrání napadení vašeho webu, ale je důležitým prvkem v celé kompozici. Přejděte na https, je to vaše budoucí výhoda.
Bezpečnost systému zvýší bezpečnostní pluginy. Kvalitních existuje poměrně málo a je nezbytné je správně nastavit a nepoužívat je současně, protože se mohou buď ovlivňovat, nebo se jejich funkce mohou násobit (a zamezí v přístupu i vám). Doporučujeme pluginy iThemes Security a/nebo WordFence Security.
Jaké hlavní zabezpečení provedou?
Jde o více drobných kroků, protože bezpečnost je proces a není nikdy u konce, tak těch kroků postupně může přibývat nebo se objeví nové. Tak plugin například:
- přejmenuje s vaším souhlasem uživatele admin, protože ten je na „každém“ WordPressu, což je špatně,
- špatně je jeho název „admin“ a jeho číslo v systému (1),
- lze tedy odhadnout, že velké procento WordPressů má uživatele admin a je to první z uživatelů;
- přejmenuje předpony databázových tabulek z wp_ na něco jiného, což je takový folklór, protože když máte jednu databázi, tak lze snadno zjistit, že jde o WordPress; ale dělá se to;
- odmítne přístup známým botům (kam bohužel stále patří i seznambot, což z této funkce činí nástroj konkurenčního boje, takže nezapínat!);
- opraví oprávnění na soubory a adresáře;
- zakáže zápis do konkrétních klíčových souborů (.htaccess, wp-config.php);
- zakáže komunikační službu XML-RPC, která míří do internetového archivu, ale ještě stále ji používá třeba plugin JetPack nebo některé služby jako Flickr (a plugin na propojení s ním);
- odstraní podrobnosti z hlaviček každé stránky (verze WordPressu apod.);
- začne monitorovat změny v souborech, které kontroluje každých pár hodin, když k nějaké dojde, pošle vám e-mail;
- odmítá přihlásit uživatele, kteří xkrát špatně zadali heslo a ve svých různých neúspěšných pokusech se snaží pokračovat, může jim zcela zakázat přístup a umístit je na blacklist;
- nastaví zálohování databáze, bohužel však zálohu ukládá na server a odesílá e-mailem, obojí je nevhodné (data by měla být na externím úložišti a e-mail se zasílání větších objemů dat nehodí);
- ukládá záznamy všech útoků nebo pokusů o ně pro pozdější rozhodování,
- dokáže filtrovat podezřelé tvary adres a bránit tak do jisté míry útokům vedeným přes formuláře;
- nabízí další ochranu a bariéru útočníkům.
Základní kroky pro ochranu vašeho webu jsou jednoduché a mnoho uživatelů je nedodržuje:
- každému člověku, který na webu pracuje, přidělte uživatele v systému a tomuto uživateli dejte pouze nezbytná oprávnění, nikoliv administrátorská, nepřihlašujte se všichni ve firmě pod jedním uživatelským účtem;
- stanovte bezpečnostní úroveň hesel – nepodporujte vytváření slabých hesel (dobrerano123) a nevyžadujte kryptická hesla (%$^-f_*63dfh57/d), dobrým řešením je běžná česká věta, která se nevztahuje k uživateli, např. Semafor: svítí červeně 3 min.
- opravdu aktualizujte software a WordPress a ujistěte se, že jste podnikli kroky k zabezpečení webu, ověřte si funkčnost a dostupnost záloh – databáze a dat, nikoliv jen WordPressu.
Jo, web je jako malé dítě…
Dodal bych minimálně účtům s admin právy zapnout 2FA. Stačí jednoduchý plugin https://tomaskrause.cz/two-factor-plugin-pro-dvoufaktorove-prihlasovani-do-wordpressu/