První hodina: co udělat, než cokoli smažete
První reakce na nalezený malware bývá mazat soubory. Nedělejte to. Napadené soubory jsou důkaz o tom, kudy se útočník dostal dovnitř, a když tuhle stopu zničíte, vyčistíte web dnes a příští týden ho budete čistit znovu.
Nejdřív tyhle čtyři věci:
- Udělejte zálohu i tak - soubory i databázi, infekci včetně. Když se čištění někde pokazí, je to jediná cesta zpátky.
- Zapište si časy změn. Seřaďte soubory podle data úpravy. Nejstarší změněný soubor bývá nejblíž vstupnímu bodu.
- Zatím neměňte hesla. Měňte je až po odstranění backdoorů, jinak útočníkovi rovnou naservírujete ta nová.
- Zapněte režim údržby, pokud web reálným návštěvníkům servíruje spam nebo je přesměrovává.
Ověřte, že jde opravdu o napadení
Ne každý podivný příznak je malware. Konflikt pluginů, rozbitá cache nebo prošlý certifikát vypadají taky poplašně. Tři kontroly vám rychle řeknou, jestli jde o průnik:
1. Vyhledejte na Googlu site:vasedomena.cz. Uvidíte, co má Google zaindexované, ne co vykreslí váš prohlížeč. Stránky, které jste nikdy nevytvořili - japonské znaky, názvy lékáren, kasin, náhodné řetězce v adresách - znamenají vložený obsah.
2. Stáhněte si vlastní stránku jako Googlebot. Většina SEO spamu je cloakovaná: servíruje se jen tehdy, když user agent vypadá jako vyhledávač. Stránka, která je v Chrome čistá a Googlebotu se ukáže jako spam, je typickým podpisem SEO spamové infekce.
3. Otevřete Search Console. Report Bezpečnostní problémy pojmenuje potíž přímo. V reportu pokrytí uvidíte skokový nárůst zaindexovaných adres, pokud byly vloženy stránky.
Kde infekci hledat
Na téměř každém kompromitovaném WordPressu se malware schovává na čtyřech místech:
- Soubory jádra. Porovnejte
wp-adminawp-includess čistou kopií stejné verze WordPressu. Cokoli se liší, tam nedal WordPress. - Pluginy a šablony. Stejná metoda - raději přeinstalovat z oficiálního zdroje než opravovat jednotlivé soubory. Pozor hlavně na pluginy, které jste deaktivovali, ale nesmazali; PHP soubory deaktivovaného pluginu jsou pořád dostupné přes HTTP.
- Složka uploads. V
wp-content/uploadsmají být média, nic jiného. Soubor.phpje tam backdoor, bez výjimky. - mu-plugins. Složka
wp-content/mu-pluginsse načítá automaticky a v seznamu pluginů se neobjeví. Útočníci ji mají rádi právě proto, že ji většina majitelů webu nikdy neotevřela.
Kromě souborů zkontrolujte databázi. Vložené skripty běžně sedí v tabulce wp_options, cizí administrátoři v wp_users.
Jak to odstranit pořádně
Spolehlivý postup, v tomhle pořadí:
- Nahraďte jádro WordPressu čerstvě staženou identickou verzí.
- Smažte všechny pluginy a šablony, pak nainstalujte jen ty, které opravdu používáte, z oficiálního repozitáře. Plugin, který autor opustil, znovu neinstalujte.
- Odstraňte každý
.phpsoubor ze složky uploads. - Vyprázdněte
mu-plugins, pokud jste tam něco nedali záměrně. - Projděte
.htaccessawp-config.phpkvůli vloženým pravidlům a includům. - Smažte administrátorské účty, které nepoznáváte, a zbylým resetujte hesla.
- Vyměňte solí v
wp-config.php, tím zneplatníte všechny existující přihlášení. - Změňte heslo k databázi a přístupy k hostingu a FTP.
Zavřete za sebou dveře
Čištění bez zabezpečení je dočasná oprava. Opatření, která zabrání drtivé většině reinfekcí:
- Aktualizujte WordPress, pluginy a šablony - naprostá většina průniků zneužívá zranitelnost, která byla záplatovaná už měsíce předtím.
- Zakažte spouštění PHP ve složce
wp-content/uploads. - Zapněte dvoufaktorové ověření u každého administrátorského účtu.
- Přesuňte přihlašovací stránku pryč z
/wp-admin. - Pluginy, které nepoužíváte, mažte, nedeaktivujte.
- Zálohy ukládejte jinam než na server, který zálohují.
Náš návod na zabezpečení WordPressu každý z těchto bodů rozebírá podrobně.
Napravte škodu v Googlu
Tenhle krok většina návodů vynechává, a přitom rozhoduje o tom, jestli se vám vrátí návštěvnost.
Odstranění malwaru ze serveru neodstraní spamové stránky z indexu Googlu. Ty tam zůstanou, dokud je Google znovu neprojde a nezjistí, že jsou pryč. Potřebujete:
- Vygenerovat sitemapu znovu, aby obsahovala jen skutečné stránky.
- Odebrat ze Search Console každého uživatele nebo vlastníka, kterého jste tam nepřidali - útočníci se běžně ověří, aby urychlili indexaci svého spamu.
- Podat žádosti o odstranění vložených adres.
- Podat žádost o posouzení, pokud padlo manuální opatření, a popsat, co bylo kompromitované a co jste změnili.
Počítejte s tím, že obnova poběží spíš týdny než dny. Weby vyčištěné rychle se obvykle vrátí na původní pozice, weby, které spamovaly měsíce, se někdy usadí kousek níž.
Když se web nakazí znovu
Malware, který se vrátí pár dní po vyčištění, znamená, že něco zůstalo. Obvyklí viníci: backdoor v adresáři, který jste neprošli, naplánovaná úloha ve wp_cron, která payload znovu nainstaluje, druhý administrátorský účet, nebo - na sdíleném hostingu - jiný napadený web pod stejným účtem, který zapisuje do toho vašeho.
V tu chvíli se čištění soubor po souboru přestává vyplácet. Rychlejší cesta je přestavba: čistá instalace WordPressu, čerstvé kopie pluginů a obsah přenesený až po kontrole.
Kdy to předat dál
Vyčistit napadený WordPress svépomocí je reálné, když je infekce čerstvá, omezená na jeden plugin a web je malý. Přestává to být reálné ve chvíli, kdy web vydělává a je mimo provoz, kdy už padlo manuální opatření, nebo když selže druhý pokus o vyčištění.
Děláme to jako službu: odvirování WordPressu a vyčištění napadeného webu. Vstupní kontrola je zdarma - pošlete adresu a řekneme vám, co jsme našli, ať už si nás najmete, nebo ne.
Pokud jsou spamové stránky na vašem webu v japonštině, začněte naším návodem k Japanese keyword hacku, který se tomuhle konkrétnímu útoku věnuje do hloubky.