Kodulehe turvalisus

WordPress sai häkitud – mida kohe teha ja kuidas leht puhtaks saada

Kui su WordPressi leht on häkitud, siis esimene reaktsioon on tavaliselt paanika. Täiesti arusaadav. Eriti kui tegu on ettevõtte kodulehe või e-poega ja kliendid näevad imelikku sisu, suunamisi või lausa hoiatust brauseris.

Nii et rahu. Enamasti saab asja korda, aga oluline on tegutseda õiges järjekorras. Kui hakkad suvaliselt pluginaid kustutama või faile näppima, võib olukord hoopis segasemaks minna. Vaata allpool samm-sammult, mida kohe teha, kuidas leht puhtaks saada ja kuidas sama jama uuesti vältida.


Kuidas aru saada, et WordPress on häkitud?

Mõnikord on asi ilmne. Leht suunab kasiinolehele, esilehele ilmub rämpssisu või admini ei saa enam sisse. Aga päris tihti on märgid palju vaiksemad.

  • Google näitab otsingus imelikku pealkirja või vene/inglise spämmiteksti
  • Leht on aeglane ilma selge põhjuseta
  • Kasutajad kurdavad kahtlaste hüpikute või suunamiste üle
  • WordPressis on tekkinud tundmatud admin-kasutajad
  • Majutaja saadab teate pahavara või liigse koormuse kohta
  • Brauser näitab hoiatust, et see leht võib olla ohtlik

Ausalt öeldes ei tähenda iga imelik sümptom veel häkki. Vahel on süüdi katki läinud plugin või halb update. Samas kui näed korraga mitut märki, siis tasub eeldada halvimat ja tegutseda kiiresti.


Mida teha esimese 15 minuti jooksul

Siin on koht, kus paljud teevad vea. Hakatakse kohe kõike kustutama. Ära tee nii. Esmalt pead kahju piirama ja info alles hoidma.

  1. Tee pilt olukorrast – salvesta ekraanipildid, veateated, kahtlased URL-id ja kuupäevad.
  2. Vaheta kohe paroolid – WordPressi admin, majutus, FTP/SFTP, andmebaas, Cloudflare kui kasutad.
  3. Sulge ajutiselt ligipääs – kui leht teeb pahandust, pane see hooldusrežiimi või piira ligipääs parooliga.
  4. Tee varukoopia praegusest seisust – jah, ka nakatunud seisust. See võib hiljem aidata allikat leida.
  5. Kontrolli kasutajaid – kas on tekkinud tundmatuid adminne või muudetud olemasolevaid kontosid.

Lühidalt. Eesmärk on peatada jama levik, mitte kohe “midagi proovida”. Praktikas on see vahe päris suur.


Kas taastada backupist või puhastada käsitsi?

See sõltub olukorrast. Kui sul on olemas puhas varukoopia ajast enne nakatumist, siis backupist taastamine on sageli kõige kiirem tee. Aga ainult siis, kui tead, et see backup on päriselt puhas.

Asi on selles, et pahavara võib olla saidis juba nädalaid. Kui taastad lihtsalt vana seisu, aga jätad turvaaugu alles, tullakse sama teed tagasi. See juhtub omajagu.

Üldiselt on sul kaks varianti:

  • Taastamine backupist – hea, kui sul on kindel puhas koopia ja tead häki ligikaudset aega
  • Käsitsi puhastus – vajalik siis, kui backupi pole, nakatumise aeg pole teada või leht on tugevalt muudetud

Kui sa pole kindel, kumb tee on ohutum, siis mõistlik on lasta asi üle vaadata. Kui olukord on juba käest ära, vaata abi häkitud veebilehe puhastamiseks ja taastamiseks. See on tihti kiirem kui ise mitu tundi pimedas kobada.


Kuidas WordPressi leht puhtaks saada

Kui otsustad puhastada, siis tee seda süsteemselt. Mitte nii, et kustutad ühe kahtlase faili ja loodad parimat. Häkid jätavad tavaliselt mitu jälge.

Siin on normaalne tööjärjekord:

  1. Pane leht ajutiselt piiratud režiimi – et külastajad ei satuks nakatunud sisule.
  2. Tee failidest ja andmebaasist koopia – enne muudatusi.
  3. Võrdle WordPressi tuumfaile puhta versiooniga – eriti wp-admin ja wp-includes.
  4. Paigalda WordPressi tuum uuesti – see asendab muudetud core-failid.
  5. Eemalda kõik mittevajalikud pluginad ja teemad – eriti need, mis on vanad või nulled.
  6. Lae vajalikud pluginad ja teema uuesti ametlikust allikast
  7. Kontrolli uploads kausta – seal ei tohiks olla suvalisi PHP-faile.
  8. Vaata üle wp-config.php ja .htaccess – sinna pannakse päris sageli pahatahtlikku koodi.
  9. Kontrolli andmebaasi – options, posts ja users tabelid on tihti muudetud.
  10. Eemalda tundmatud admin-kontod ja lõpeta kõik aktiivsed sessioonid.

Tegelikult on kõige tüütum osa see, et pahavara võib olla peidetud väga suvalisse kohta. Näiteks faili lõppu, mis näeb muidu täiesti okei välja. Või andmebaasi kirjesse, mis laeb scripti ainult teatud külastajatele. Seepärast jääb käsitsi puhastades midagi üsnagi sageli märkamata.


Kõige tavalisemad kohad, kuhu pahavara peidetakse

Kui tahad ise kontrollida, siis alusta kohtadest, kuhu ründajad kõige rohkem koodi poetavad. See ei anna garantiid, aga aitab kiiremini aru saada, kas tegu on suurema probleemiga.

  • wp-content/uploads – pildikaustas olevad .php failid on kahtlased
  • functions.php – teemafaili lõppu lisatud obfuskeeritud kood
  • wp-config.php – varjatud include või eval read
  • .htaccess – suunamised kahtlastele domeenidele
  • Andmebaasi tabel wp_options – eriti siteurliga mitteseotud scriptid ja autoload kirjed
  • Admin-kasutajad – suvalise nimega uus konto, mille e-mail ei kuulu sulle

Praktikas kasutatakse päris tihti ka koodi peitmist kujul base64, gzinflate, str_rot13, eval ja muud sarnased trikid. Kui näed neid kohtades, kus neid ei peaks olema, siis see pole normaalne setup.


Ära unusta: puhastamine ei aita, kui turvaauk jääb lahti

See on koht, kus paljud kukuvad läbi. Leht tehakse puhtaks, aga vana plugin jääb alles. Või kasutatakse edasi lihtsat parooli. Tulemuseks on sama häkk paari päeva või nädala pärast.

Pärast puhastust tee kindlasti need asjad ära:

  • uuenda WordPress, pluginad ja teema viimasele versioonile
  • eemalda kõik, mida sa enam ei kasuta
  • võta kasutusele kaheastmeline autentimine
  • piira sisselogimiskatseid
  • kontrolli failide muutusi ja tegevuslogi
  • vaheta andmebaasi ja FTP paroolid uuesti
  • kontrolli, et majutuses oleks PHP versioon ajakohane

Kui sul pole aega seda kõike ise aktiivselt hallata, siis on mõistlik võtta WordPressi hooldusteenus, kus uuendused, seire ja turvakontrollid käivad regulaarselt. Väikeettevõtte jaoks on see päris tihti odavam kui üks suurem jama hiljem.


Mis siis, kui Google on su lehe juba musta nimekirja pannud?

Kui brauser hoiatab külastajaid või Google Search Console saadab teate, siis ainult puhastamisest ei piisa. Pärast pead taotlema uuesti ülevaatust. Muidu jääb hoiatus alles ka siis, kui sait on tegelikult juba korras.

Tee nii:

  1. puhasta leht täielikult ära
  2. kontrolli, et kahtlasi suunamisi enam pole
  3. uuenda kõik komponendid
  4. lisa turvameetmed, et probleem ei korduks
  5. esita Search Consoles review request

Seejuures tasub enne taotluse saatmist leht eri seadmetes ja eri võrkudest läbi testida. Mõni pahavara näitab end ainult mobiilis või ainult Google’i külastajale. Jah, nii kavalalt tehakse ka.


Kuidas sama asja edaspidi vältida

Aus vastus? Sajaprotsendilist garantiid pole. Aga riski saab kõvasti väiksemaks teha. Eriti kui sul on e-pood või koduleht, mis toob päringuid iga päev.

  • Hoia kõik uuendatud – vanad pluginad on nr 1 risk
  • Kasuta ainult usaldusväärseid pluginaid ja teemasid – mitte nulled kraam
  • Tee automaatsed backupid – ja kontrolli aeg-ajalt, et need päriselt töötavad
  • Kasuta tugevaid paroole – mitte “Firma123”
  • Piira admin-kasutajate arvu – igale inimesele oma konto
  • Jälgi muutusi – kui failid või kasutajad muutuvad, pead sellest teada saama

Millal tasub asi kohe spetsialistile anda?

Mõnikord on mõistlik ise mitte nokitseda. Eriti kui leht teenib raha või sisaldab kliendiandmeid. Vale liigutus võib tõendeid kustutada, taastamise keerulisemaks teha või panna poe veel pikemaks ajaks kinni.

Anna töö edasi, kui:

  • sa ei saa enam admini sisse
  • backup puudub või sa ei tea, kas see on puhas
  • leht suunab külastajaid mujale
  • Google või majutaja on juba hoiatanud pahavara eest
  • tegu on WooCommerce poega ja tellimused peavad edasi liikuma
  • oled juba proovinud puhastada, aga nakkus tuleb tagasi

Samas pole siin midagi häbeneda. WordPressi häkid on võrdlemisi tavalised ja need tabavad ka täiesti normaalseid, väikseid Eesti ettevõtteid. Point on pigem selles, kui kiiresti saad probleemi kontrolli alla.


Mida teha täna, et homme oleks rahulikum?

Kui su leht on praegu häkitud, siis tegutse kohe: vaheta paroolid, piira ligipääsu, tee koopia ja puhasta süsteemselt. Kui sa pole kindel, mis fail on puhas ja mis mitte, siis ära hakka pimesi kustutama. See voib olukorra hullemaks teha.

Kui leht on juba korda saadud, siis järgmine samm on lihtne – pane paika hooldus, backup ja turvaseire. Muidu kordub see moment uuesti. Ja ausalt, enamikul väikeettevõtjatel pole aega iga nädal pluginaid, logisid ja haavatavusi käsitsi kontrollida.

Seega kui tahad, et WordPress oleks lihtsalt korras ja toimiks automaatselt nii nagu peab, siis võta järgmine praktiline samm ette kohe, mitte siis kui leht jälle maas on.