Napadnutý WordPress web: Čo urobiť ihneď a ako odstrániť malware

Napadnutý WordPress web a bezpečné odstránenie malvéru

Čo robiť, ak je WordPress napadnutý

Zistenie, že web je napadnutý, patrí medzi najstresujúcejšie momenty prevádzky online biznisu. Podľa oficiálnej dokumentácie WordPress.org však platí, že situácia je takmer vždy riešiteľná: prídete o nejaký čas, možno o niečo peňazí, ale web sa dá zotaviť. Tento článok jasne rozlišuje, čo môže majiteľ webu bezpečne urobiť sám, a kde už reálne hrozí ďalšie poškodenie bez odborného zásahu. Ak si nie ste istí, či ide o útok alebo len o chybu po zmene na webe, začnite radšej pri príčinách výpadku po aktualizácii, pretože časť príznakov vyzerá na prvý pohľad rovnako.

Krátka odpoveď: Bezpečné prvé kroky zahŕňajú upokojenie sa, zdokumentovanie incidentu, spustenie bezpečnostného skenu, kontrolu s hostingom, reset hesiel pre všetkých používateľov a vytvorenie zálohy aktuálneho (aj infikovaného) stavu. Samotné vyhľadanie a odstránenie škodlivého kódu, úprava jadrových súborov a analýza spôsobu prieniku už podľa oficiálnej dokumentácie WordPress.org vyžadujú technickú zručnosť, ktorú väčšina majiteľov webu nemá, a tam je namieste odborná pomoc. Po vyčistení webu je nutné heslá zmeniť ešte raz, pretože tie zmenené počas infekcie už mohli byť kompromitované.

Ako zistiť, že web je skutočne napadnutý

Podľa oficiálnej dokumentácie WordPress.org medzi jasné indikátory kompromitácie patrí: web je na čiernej listine Google alebo Bingu, hosting vypol web, web bol označený za šíriteľa malvéru, návštevníci hlásia varovania antivírusu, web vykazuje neautorizované správanie (napríklad neznáme nové používateľské účty), alebo je poškodenie viditeľné priamo v prehliadači.

Bezpečné kroky, ktoré môžete urobiť sami

Zdokumentujte incident

Zaznamenajte, čo presne vidíte, kedy ste si to všimli a aké zmeny na webe predchádzali (nový plugin, úprava témy). Tento záznam sa zíde bez ohľadu na to, či web opravujete sami, alebo oslovíte špecialistu.

Spustite bezpečnostný sken

Použite skener na úrovni aplikácie (napríklad plugin) aj vzdialený skener, keďže každý typ odhaľuje iné príznaky.

Kontaktujte hosting

Najmä pri zdieľanom hostingu mohol útok zasiahnuť viac než len váš web; hosting to vie potvrdiť a môže mať vlastné kroky v procese.

Resetujte prístupy a vytvorte zálohu

Vynúťte reset hesiel pre všetkých používateľov vrátane administrátorov a vytvorte zálohu aktuálneho stavu webu, aj keď je infikovaný, pre prípad ďalšej diagnostiky.

Čo už vyžaduje špecialistu

Samotné vyhľadanie a odstránenie škodlivého kódu je podľa oficiálnej dokumentácie najnáročnejšia časť celého procesu a presný postup závisí od konkrétnych príznakov a technickej zdatnosti. Rovnako aj forenzná analýza, teda zistenie, akým presne spôsobom sa útočník dostal dovnútra, je podľa dokumentácie „v mnohých prípadoch veľmi náročná pre nedostatok technických znalostí alebo dostupných dát“. Dokumentácia zároveň výslovne upozorňuje, že pri opätovnej inštalácii jadrových súborov je nutné použiť presne tú istú verziu softvéru, akú web používal, keďže staršia či novšia verzia môže web úplne vyradiť z prevádzky, a odporúča na to použiť FTP namiesto preinštalovania priamo cez WP-ADMIN.

Ako postupovať krok za krokom

  1. Zostaňte pokojní a zdokumentujte incident. (bezpečné urobiť sami)
  2. Spustite aplikačný aj vzdialený bezpečnostný sken. (bezpečné urobiť sami)
  3. Skontrolujte aj svoje vlastné zariadenie, keďže útočníci niekedy získajú prihlasovacie údaje cez infikovaný počítač, nie priamo cez web. (bezpečné urobiť sami)
  4. Kontaktujte hosting a preverte rozsah problému. (bezpečné urobiť sami)
  5. Vynúťte reset hesiel pre všetkých používateľov a zvážte aktualizáciu bezpečnostných kľúčov vo wp-config.php, aby ste odhlásili prípadné aktívne relácie útočníka. (bezpečné, mierne technické)
  6. Vytvorte zálohu aktuálneho stavu pred akýmkoľvek čistením. (bezpečné urobiť sami)
  7. Nájdite a odstráňte škodlivý kód, skontrolujte súbory ako .htaccess, index.php, header.php, footer.php a functions.php. (odporúčaný odborný zásah)
  8. Zistite spôsob prieniku (forenzná analýza) a zabezpečte web proti opakovaniu. (odborný zásah)
  9. Až po overení, že web je čistý, aktualizujte WordPress, tému a všetky pluginy na najnovšie verzie. Staršie verzie sú podľa dokumentácie náchylnejšie na útok. (bezpečné urobiť sami)
  10. Zmeňte všetky heslá ešte raz, až keď máte overené, že web je čistý. Dokumentácia to uvádza ako samostatný krok práve preto, že heslá zmenené počas infekcie mohol útočník cez aktívny backdoor znova zachytiť. Zvážte aj zmenu hesla databázového používateľa a jeho premietnutie do wp-config.php. (bezpečné, mierne technické)

Porovnanie: vlastná oprava vs. odborný zásah

ÚlohaKto ju zvládneRiziko pri chybnom postupe
Dokumentácia, sken, kontakt s hostingomMajiteľ webu bez technických znalostíNízke
Reset hesiel a bezpečnostných kľúčovMajiteľ webu s miernou technickou zručnosťouNízke až stredné, pri chybe v konfiguračnom súbore môže web dočasne vypadnúť
Vyhľadanie a odstránenie škodlivého kóduSkúsený administrátor alebo špecialistaVysoké, nesprávne odstránenie súborov môže web poškodiť ešte viac
Forenzná analýza spôsobu prienikuŠpecialistaBez nej hrozí opakovanie rovnakého útoku

Riziká a časté chyby

Podľa oficiálnej dokumentácie je vážna chyba preinštalovať jadrové súbory priamo cez tlačidlo v WP-ADMIN namiesto ručného nahratia cez FTP, pretože inštalátor často iba prepíše existujúce súbory a nemusí odstrániť nové súbory, ktoré útočník pridal. Rovnako riskantné je obnoviť web zo zálohy bez zistenia, ako sa útočník dostal dovnútra, pretože rovnaká medzera môže zostať otvorená a útok sa môže zopakovať krátko po obnove. Tichou, ale bežnou chybou je aj skončiť pri jednom resete hesiel: ak ste heslá menili počas infekcie a už ich po vyčistení nezmenili znova, útočník ich mohol cez aktívny backdoor zachytiť a prístup si udržať. Keď je web opäť čistý, oplatí sa prejsť preventívny bezpečnostný zoznam, aby sa rovnaká situácia neopakovala.

Kontrolný zoznam po napadnutí webu

Dokumentácia Sken Reset hesiel Záloha Forenzná analýza
  • Incident je zdokumentovaný vrátane času zistenia a nedávnych zmien na webe.
  • Bezpečnostný sken na úrovni aplikácie aj vzdialený sken sú spustené.
  • Hosting je informovaný, najmä pri zdieľanom serveri.
  • Heslá všetkých používateľov, vrátane administrátorov, sú resetované.
  • Záloha aktuálneho stavu webu existuje pred akýmkoľvek čistením.
  • Odstránenie škodlivého kódu a forenzná analýza sú zverené niekomu s potrebnou technickou zručnosťou.
  • Po overení, že web je čistý, sú WordPress, téma a pluginy aktualizované na najnovšie verzie.
  • Všetky heslá sú zmenené druhýkrát, až po vyčistení webu, nie len počas incidentu.

Súvisiace návody a zdroje

Váš web je práve teraz napadnutý?

Pošlite nám adresu webu a stručný popis toho, čo pozorujete. Pomôžeme s odstránením škodlivého kódu, overením spôsobu prieniku a zabezpečením webu proti opakovaniu, aj v naliehavých prípadoch.

Riešiť napadnutý web

Na záver

Napadnutý web je vážna, ale zvládnuteľná situácia. Prvé kroky, dokumentácia, sken, kontakt s hostingom a reset prístupov, dokáže urobiť takmer každý majiteľ webu bez špeciálnych znalostí. Samotné odstránenie škodlivého kódu a zistenie, ako sa útočník dostal dovnútra, si však vyžaduje technickú skúsenosť, ktorú väčšina firiem jednoducho nemá po ruke, a to nie je dôvod na hanbu, len signál na to, koho ďalej osloviť.

Časté otázky

Nie nevyhnutne. Väčšina útokov pridáva alebo upravuje súbory, nemaže celý obsah webu. Napriek tomu je záloha aktuálneho stavu pred čistením dôležitá poistka pre prípad ďalšej diagnostiky.

Bezpečnostný plugin pomôže so skenovaním a odhalením problému, ale automatické čistenie nemusí zachytiť všetko, najmä pri sofistikovanejšom útoku. Výsledky skenu sa oplatí brať ako východiskový bod, nie definitívne riešenie.

Podľa oficiálnej dokumentácie útočníci často získajú prihlasovacie údaje cez infikované lokálne zariadenie, nie priamo prielomom na serveri. Ak si zmeníte heslo na infikovanom počítači, útočník ho môže znovu odchytiť.

Obnova zo zálohy web sprevádzkuje, ale ak nezistíte, ako sa útočník dostal dovnútra, rovnaká medzera môže zostať otvorená a útok sa môže po čase zopakovať.

Preinštalovanie cez administráciu často iba prepíše existujúce súbory, ale nemusí odstrániť nové škodlivé súbory, ktoré útočník pridal. Ručné nahratie čistých súborov cez FTP je podľa dokumentácie spoľahlivejšie.

Presný čas sa líši a závisí od príslušnej služby (Google, Bing a ďalšie majú vlastné procesy). Po vyčistení webu je potrebné požiadať o preskúmanie cez príslušnú webmasterskú konzolu, nie len čakať, kým sa stav zmení sám.

Nie, existujú spôsoby, ako získať prístup späť, napríklad reset hesla cez e-mail alebo priamy zásah do databázy cez nástroje ako phpMyAdmin, ktoré zvyčajne poskytuje hosting. Tento krok už ale vyžaduje väčšiu technickú istotu alebo pomoc špecialistu.

Akonáhle sa dostanete k samotnému hľadaniu a odstraňovaniu škodlivého kódu v súboroch alebo k analýze, ako útočník získal prístup. Podľa oficiálnej dokumentácie ide o časti procesu, ktoré sú pre väčšinu majiteľov webu bez technického zázemia veľmi náročné, a chybný zásah môže škodu ešte zväčšiť.