WordPress svetainė dažniausiai nepraneša apie infekciją pati: pirmasis ženklas yra lankytojas, paklausęs, kodėl svetainė rodo kazino reklamą, keistus peradresavimus ar naršyklės saugumo įspėjimą, arba hostingo el. laiškas apie sustabdytą paskyrą. Tuo metu infekcija paprastai jau veikia kelias dienas ar savaites, o kenkėjiškas kodas gali būti įtertas keliose vietose vienu metu.
Kuo anksčiau imamasi teisingų veiksmų, tuo mažiau žalos. Bet pirmomis valandomis galima ir apsunkinti situaciją, jei veiksmai neteisingi. Šis straipsnis skirtas tam, kad žinotumėte tiksliai, kas turi vykti po to, kai paaiškėja apie WordPress infekciją.
Trumpas atsakymas: ko imtis per pirmąsias valandas
Jei ką tik sužinojote, kad WordPress svetainė užkrėsta, štai pirminiai veiksmai:
- Perjunkite svetainę į priežiūros režimą: lankytojai nematys kenkėjiško turinio
- Padarykite atsarginę kopiją (failai ir duomenų bazė), net užkrėstos versijos
- Prisijunkite prie hostingo panelės ir patikrinkite neseniai keistus failus
- Neperkraukite serverio: žurnalai gali praversti diagnostikai
- Neapsiribokite vien slaptažodžių keitimu — juos pakeisti reikės, bet tik po diagnostikos ir kenkėjiško kodo pašalinimo
Toliau: detaliai, kodėl kiekvienas šių veiksmų svarbus ir kas tiksliai turi vykti.
Ko nedaryti pirma
Šie veiksmai atrodo logiški, bet situaciją gali apsunkinti.
Neištrinkite failų ir neatkurkite svetainės aklai. Priežiūros režimą įjungti galima ir rekomenduojama, tačiau prieš didesnius pakeitimus išsaugokite failų, duomenų bazės ir serverio žurnalų kopijas. Jos padės suprasti, kur ir kaip buvo patekta į svetainę.
Neperkraukite serverio. Kai kurie kenkėjiški skriptai palieka pėdsakus aktyviosiose sesijose ir procesuose. Perkrovimas ne tik pašalina šiuos pėdsakus, bet kartais aktyvuoja automatinio atkūrimo mechanizmus, iš anksto įdiegtus atakuotojo.
Neapsiribokite vien slaptažodžių keitimu. Slaptažodžius pakeisti reikės, tačiau po diagnostikos ir kenkėjiško kodo pašalinimo. Jei sistemoje liko backdoor, vien slaptažodžių keitimas problemos neišspręs: užpuolikas grįžta per paslėptą prieigą.
Nenaudokite viešų skenerių kaip vienintelio diagnostikos šaltinio. Tokie įrankiai kaip Sucuri SiteCheck tikrina tik viešai prieinamus puslapius. Kenkėjiškas kodas dažniausiai slypi failų sistemoje arba duomenų bazėje, ten, kur tokie skeneriai nepasiekia.
Nestatykite švarios WordPress kopijos ant viršaus. Reinstaliavimas be pilno failų sistemos ir duomenų bazės patikrinimo tik nublokuoja prieigą prie kenkėjiško kodo, bet jo nepašalina. Backdoor failai, duomenų bazės įrašai ir cron užduotys lieka.
Pirmi žingsniai po užkrėtimo
Priežiūros režimas. Naudokite hostingo valdymo panelę arba WP CLI komandą, kad perjungtumėte svetainę. Taip lankytojai matys neutralų pranešimą, o ne kenkėjišką turinį ar peradresavimą į svetimas svetaines.
Atsarginė kopija dabartinės būklės. Net ir užkrėstos svetainės kopija yra vertinga, ji leidžia vėliau palyginti, kas pasikeitė, ir suprasti, kur kenkėjiškas kodas buvo įterptas. Kopijuokite viską: failų sistema ir duomenų bazė. Išsaugokite atskirai nuo gamybinės aplinkos.
Hostingo prieiga ir failų peržiūra. Prisijunkite prie cPanel, Plesk arba panašios sistemos ir atidarykite failų tvarkyklę. Rūšiuokite failus pagal paskutinio pakeitimo datą: naujausi pakeisti failai yra pirmasis dalykas apžiūrėti, ypač jei jų pakeitimo data neatitinka jūsų pačių veiksmų.
Google Search Console. Jei dar neturite prieigos: sukurkite ir pridėkite svetainę. Sekcijoje „Saugumas ir rankinis veiksmas" matomi Google aptikti perspėjimai:
- Patikrinkite Security Issues ataskaitą ir pažymėkite infekcijos tipą
- Išsaugokite Google pateiktus pavyzdinius URL — jie rodo, kurie puslapiai paveikti
- Jei yra perspėjimas, peržiūros užklausą teikite tik po pilno valymo — pateikta per anksti, užklausa bus atmesta
Šis šaltinis padeda suprasti infekcijos tipą ir apytikrį laikotarpį, per kurį ji veikė.
Kur dažniausiai slepiasi kenkėjiškas kodas WordPress svetainėje
Infekcija retai būna vienoje vietoje: kenkėjiškas kodas dažniausiai išsibarstytas per kelias lokacijas vienu metu, kad sudėtingiau būtų visiškai pašalinti.
wp-content/uploads/ yra populiariausia slėptuvė. PHP failai šiame kataloge neturėtų egzistuoti apskritai, tačiau hostingas leidžia rašyti naujus failus būtent čia, todėl tai idealus taikinys. Ieškokite bet kokio .php failo tarp nuotraukų ar dokumentų.
wp-content/plugins/: modifikuoti ar netikri įskiepių failai. Dažnai pridedami papildomi .php failai šalia egzistuojančių, patikimai atrodančių įskiepių. Sunkiai pastebima be automatizuotos failų vientisumo patikros.
wp-content/themes/: aktyvios temos functions.php vykdomas kiekvieno puslapio krovimo metu. Viena eval(base64_decode(...)) eilutė gali veikti kaip pilnavertis backdoor: iš pirmo žvilgsnio tai atrodo kaip beprasmis simbolių rinkinys.
Šakninis katalogas: index.php, .htaccess modifikacijos arba nauji .php failai. .htaccess ypač populiarus peradresavimų diegimui: modifikuojamas per FTP ar duomenų bazę, veikia iš karto, sunkiai pastebimas nepatyrusiai akiai.
Duomenų bazė: wp_options lentelė su pakeistomis reikšmėmis, widget'ų turinys ar pranešimų tekste įterpti <script> blokai. Jei infekcija veikia tik per naršyklę: tikėtina, kad kenkėjiškas kodas yra duomenų bazėje, o ne failų sistemoje.
wp-includes/: WordPress branduolio katalogas, kurį daugelis administratorių vengia liesti. Atakuotojams tai patogi slėptuvė: pridėti failai, kurių nėra originalioje WordPress instaliacijoje, ilgai lieka nepastebėti. Apie visas pagrindines slėptuves — WordPress backdoor: kur slepiasi ir kaip aptikti.
Kodėl nepakanka tiesiog atnaujinti WordPress
Atnaujinimai uždaro žinomus pažeidžiamumus, tai teisinga ir svarbu. Bet atnaujinimas neišvalo jau esančio kenkėjiško kodo.
Jei sistemoje yra backdoor, atnaujinus WordPress ar įskiepius jis liks. Kai kurie backdoor kodai suprojektuoti taip, kad automatiškai atkuriami po atnaujinimų, naudodami wp-cron mechanizmą arba duomenų bazės įrašus, kurie iš naujo parsisiunčia kenkėjišką skriptą.
Valymas turi vykti konkrečia tvarka: pirma kenkėjiško kodo ir backdoor identifikavimas bei pašalinimas, tada įsilaužimo kelio nustatymas, tada pažeidžiamumų uždarymas, tada prieigos duomenų pakeitimas. Apkeitus šią seką valymas beveik tikrai nebus baigtas iki galo. Jei infekcija grįžo po bandymo išsivalyti — kodėl svetainė vėl užsikrečia po valymo.
Kaip atrodo pilnas valymas
Profesionaliai atliktas valymas apima daugiau nei tik kenkėjiško kodo paiešką ir šalinimą.
Pilnas failų skenavimas: ne tik wp-content, bet ir wp-admin, wp-includes ir šakninis katalogas. Kiekvienas failas lyginamas su originalia WordPress versija ir tikrinama, ar jo turinys atitinka tikėtiną paskirtį.
Duomenų bazės tikrinimas: wp_options, wp_users, wp_posts, widget'ų ir navigacijos meniu turinys. Kenkėjiškas kodas duomenų bazėje dažnai lieka net ir po pilno failų sistemos valymo.
Slaptų paskyrų radimas ir šalinimas: wp_users lentelė ir administratorių sąrašas. Jei yra nežinomos administratorių paskyros, jos šalinamos prieš keičiant slaptažodžius.
Cron užduočių patikrinimas: WordPress wp-cron ir serverio crontab gali turėti automatiškai vykdomas komandas. Cron mechanizmo naudojimas kenkėjiško kodo parsisiuntimui yra viena dažniausių pakartotinio užkrėtimo priežasčių.
Prieigos duomenų keitimas: WordPress administratoriaus, FTP, hostingo panelės, duomenų bazės slaptažodžiai. Visi keičiami po valymo, ne prieš. Jei prieigą reikia perduoti specialistui — kaip tai padaryti saugiai.
Pažeidžiamumų uždarymas: atnaujinami įskiepiai, temos ir WordPress branduolys. Šalinami nenaudojami ar seni įskiepiai, kurie gali turėti neatnaujintų saugumo spragų.
Valymo kontrolinis sąrašas
- Svetainė perjungta į priežiūros režimą
- Padaryta atsarginė kopija (failai ir duomenų bazė)
- Peržiūrėti failai pagal paskutinio pakeitimo datą
- Patikrinta wp-content/uploads/ dėl .php failų
- Patikrinti aktyvūs ir neaktyvūs įskiepiai
- Patikrinta aktyvi tema (
functions.php,header.php,footer.php) - Patikrintos wp_options, wp_users duomenų bazėje
- Patikrintas widget'ų ir meniu turinys
- Pašalintos nežinomos administratorių paskyros
- Patikrintos cron užduotys (wp-cron ir serverio crontab)
- Pakeisti visi prieigos slaptažodžiai
- Atnaujintas WordPress, įskiepiai, temos
- Patikrinta Google Search Console po valymo
- Pateikta peržiūros užklausa Google (jei buvo perspėjimas)
Dažnai užduodami klausimai
Ar pakanka atnaujinti WordPress ir įskiepius, kad infekcija dingtų?
Ne. Atnaujinimai uždaro saugumo spragas, per kurias galima patekti ateityje, bet jau esančio kenkėjiško kodo nepašalina. Reikia atlikti pilną failų sistemos ir duomenų bazės valymą.
Ar galima atkurti svetainę iš atsarginės kopijos?
Galima, bet tik jei kopija padaryta iki infekcijos. Jei tikslus infekcijos laikas nežinomas, kopija gali pati būti užkrėsta. Prieš atkuriant, verta patikrinti kopijos datą ir palyginti failus.
Kiek laiko paprastai trunka profesionalus svetainės valymas?
Priklausomai nuo infekcijos sudėtingumo, paprastai 4–24 valandos. Sudėtingesnės infekcijos su keliais backdoor sluoksniais ar duomenų bazės manipuliacijomis gali užtrukti ilgiau.
Kaip žinoti, kad valymas buvo sėkmingas?
Pagrindinis rodiklis: svetainė neužsikrečia pakartotinai per 2–4 savaites. Papildomai: Google Search Console nerodo saugumo įspėjimų, antivirusiniai skaneriai neranda kenkėjiško kodo, nėra nežinomų administratorių wp_users lentelėje.
Kada kreiptis specialisto pagalbos
Savarankiškas valymas gali pavykti, jei turite prieigą prie serverio komandinės eilutės, suprantate PHP failų struktūrą ir galite dirbti su MySQL. Bet yra situacijų, kai profesionali pagalba yra ne pasirinkimas, o būtinybė:
- Valymas jau buvo bandytas, bet infekcija sugrįžo
- Nerandate kenkėjiško kodo, bet požymiai išlieka
- Google jau pažymėjo svetainę: peržiūros užklausą reikia tinkamai parengti
- Svetainėje vyksta el. prekyba ar renkami klientų duomenys: sustojimas reiškia tiesioginį pajamų praradimą
- Svetainėje buvo mokėjimai, užklausų formos, klientų paskyros arba kiti asmens duomenys
- Nežinote, kaip buvo patekta į svetainę ir kaip to išvengti ateityje
Apie pažeistą svetainę galima pranešti NKSC: nacionalinis kibernetinio saugumo centras registruoja kibernetinius incidentus Lietuvoje.
Jei svetainėje jau matote infekcijos požymius, verta pradėti nuo kenkėjiško kodo šalinimo arba įsilaužusios svetainės valymo: patikriname failus, duomenų bazę, backdoor vietas ir pateikiame aiškią ataskaitą su rastais požymiais ir rekomenduojamais veiksmais.
Ką daryti, kai svetainė išvalyta
Sėkmingas valymas: pradžia, ne pabaiga. Svetainė, kuri buvo užkrėsta vieną kartą, be papildomos apsaugos yra lengvas taikinys pakartotinei atakai: ypač jei ta pati pažeidžiamumo priežastis liko nepašalinta.
Minimalūs žingsniai po valymo: reguliarūs įskiepių atnaujinimai, stiprūs unikalūs slaptažodžiai visose paskyrose, dvifaktorinis autentifikavimas WordPress administratoriaus paskyroje (panašias priemones aprašo NKSC interneto svetainių apsaugos gairės ir VDAI (jei įsilaužimo metu galėjo būti pasiekti ar nutekinti klientų asmens duomenys, gali reikėti pranešti per 72 valandas), Cloudflare WAF konfigūracija kaip pirma gynybos linija prieš automatizuotas atakas.
Nuolatinė saugumo stebėsena apima savaitinį skenavimą, naujų infekcijų aptikimą per pirmąsias valandas ir įskiepių atnaujinimus, tokia schema leidžia būti tikram, kad kenkėjiškas kodas nesugrįš nepastebėtas.
Reikia pagalbos
Susidūrėte su panašia situacija?
Aprašykite, kas vyksta — per nemokamą konsultaciją pasakysime, ką galima padaryti ir kiek tai kainuotų.
Nemokama konsultacija



