Kako očistiti inficiran WordPress sajt
Ukoliko ste primetili da se vaš sajt čudno ponaša, da povremeno iskaču pop-up prozori koje niste inicirali, ili da se često zamrzne ili sporo radi, možda je inficiran nekim malware-om. U ovom tekstu ćemo objasniti kako očistiti inficiran WordPress sajt.
Pre nego što nastavimo da i ovog puta napomenemo da je prevencija uvek najbitnija. Održavajte vašu WordPress instalaciju, teme i plugin-e uvek ažurnim i ne instalirajte ništa iz neproverenih izvora. Napadači često koriste čak premijum teme i plugin-e koje postavljaju za besplatan download, a služe za lak napad na sajt onoga koji instalira takvu temu ili plugin. Zato budite obazrivi i ne nasedajte na takve podvale.
Ako je ipak došlo do napada, važno je da ne paničite. Pratite uputstva iz ovog teksta i trebalo bi da na kraju očistite sajt i vratite sve na pređašnje stanje.
Identifikacija hakovanih fajlova
Za početak je važno da identifikujete problem. Šta je napadnuto i na koji način?
- Da li imate pristup vašem admin panelu?
- Da li je vaš sajt već označen kao nesiguran (insecure) od strane Google-a?
- Da li se vaš sajt automatski redirektuje na drugi sajt kada se ulogujete?
Ono što je za početak važno jeste da promenite vaš password, ukoliko imate pristup admin panelu.
Skeniranje sajta
Kao što znate nismo neki pobornici česte upotrebe plugin-a za svaku funkcionalnost, ali kada je u pitanju bezbednost sajta, onda se podrazumeva da je za tu namenu potrebno koristiti plugin. U ovom tekstu se nećemo baviti temom security plugin-a, ali ćete u WordPress repozitorijumu naći dovoljan broj da sami možete da procenite koji najviše odgovara vašim potrebama.
Ukoliko plugin već nije bio instaliran, a imate pristup vašem admin panel-u (Dashboard), možete ga instalirati naknadno. Takođe, možete se javiti svom hosting provajderu da skenira vaš sajt.
Provera core fajlova
S obzirom da su core fajlovi najbitniji za ispravno funkcionisanje vašeg sajta, potrebno je da pre svega proverite upravo core fajlove:
- Wp-includes folder
- Root folder
- Wp-admin folder
Većina core fajlova ne bi trebalo nikada da budu predmet bilo kakve izmene. Ipak, u ovakvoj situaciji bi trebalo proveriti da li su slučajno menjani od strane napadača. To možete uraditi na dva načina:
- Korišćenjem diff komande u vašem Linux terminalu
- Ručnom proverom preko FTP-a
Ako su nepromenjeni i čisti možete ići na sledeći korak.
Provera integriteta nedavno izmenjenih fajlova
Ukoliko nije bilo izmene u sadržaju vaših core fajlova, možda je bilo u nekim nedavno menjanim fajlovima. I ovde imate dva načina za proveru:
- Ručna provera fajlova
- Pokretanjem niže navedenih komandi u vašem Linux terminalu
Da biste ručno identifikovali neke nedavno izmenjene fajlove koji su hakovani, potrebno je da pratite sledeće korake:
- Ulogujte se na vaš server (koristite SSH terminal ili FTP klijent)
- Ukoliko koristite SSH potrebno je da kucate sledeću komandu koja će automatski izlistati sve fajlove koji su menjani u prethodnih 15 dana:
$ find ./ -type f -mtime -15
- Ukoliko koristite FTP samo proverite kolonu last modified date za sve fajlove na vašem serveru
- Identifikujte sve fajlove koji su nedavno menjani
Da biste otkrili potencijalno inficirane fajlove:
- Kucajte u terminalu sledeću komandu:
$ find /etc -type f -printf ‘%TY-%Tm-%Td %TT %p\n’ | sort -r
- Ukoliko želite da identifikujete fajlove u folderima kucajte sledeću komandu:
$ find /etc -printf ‘%TY-%Tm-%Td %TT %p\n’ | sort -r
Sada proverite da li vidite neke izmene napravljene u fajlovima u prethodnih 7-30 dana.
Uklanjanje malware-a
Ukoliko ste u nekom od prethodnih koraka na vašem WordPress sajtu identifikovali malware, sada je vreme da ga uklonite sa sajta.
Ukonite sve identifikovane inficirane fajlove
Čim ste povratili svoj sajt iz backup kopije, možete jednostavno ukloniti sve inficirane fajlove ili sumnjive plugine ili teme.
Napomena: Obratite posebnu pažnju u radu sa core WordPress fajlovima. Ne želite da pregazite wp-config.php fajl ili wp-content folder, jer u tom slučaju vaš sajt neće raditi kako treba.
Sve druge fajlove možete jednostavno pregaziti njihovom kopijom iz vašeg poslednjeg backup-a.
Brisanje inficiranih fajlova
Kod brisanja inficiranih fajlova treba da pratite sledeće korake:
- Ulogujte se na vaš server (preko SSH-a ili FTP-a)
- Uradite backup vašeg sajta
- Identifikujte nedavno menjane fajlove
- Zamenite sve sumnjive fajlove njihovim kopijama koje ćete preuzeti sa WordPress repozitorijuma
- Koristite tekst editor za otvaranje bilo kojeg custom fajla i uklonite iz njega svaku sumnjivu liniju koda na koju naiđete
- Nakon čišćenja testirajte svoj sajt
Napomena: Obratite posebnu pažnju na korak broj 2. Ne radite nikakvu izmenu pre nego što uradite backup tog fajla ili foldera.
Uklonite malware iz tabela baze
Realno, svako čišćenje sajta od malware-a zahteva i brisanje malware-a iz baze sajta. Evo kako to da uradite:
- Povežite se sa vašom bazom koristeći neko od dostupnih alata (phpMyAdmin i sl)
- Uradite backup vaše baze
- Potražite sve sumnjive fajlove i sadržaj u tabelama
- Ukoliko ste pronašli nešto sumnjivo otvorite tu tabelu i uklonite sumnjivi sadržaj (link, ključnu reč i sl)
- Nakon čišćenja testirajte svoj sajt
Proverite sve korisnike (user) i njihova prava pristupa sajtu i bazi
Ovde važi zlatno pravilo: imajte jednog admina i držite se osnovnih rola za prava pristupa:
- Author
- Editor
- Contributor
Na ovaj način ćete smanjiti mogućnost zloupotrebe nekog od korisničkih naloga od strane napadača.
Ukoliko tokom provere primetite kojim slučajem i neki od vama nepoznatih naloga, lako ga možete ukloniti, zajedno sa njegovim pravima pristupa određenoj bazi.
Možete promeniti i lozinke za pristup bazi za sve korisnike koje ste ste ostavili kao aktivne. Samo ne zaboravite da nakon izmene te lozinke upišete u wp-config.php fajl. Upustvo o tome možete pronaći u našem ranijem tekstu o tome kako zaštiti wordpress sajt od hakera.
Identifikujte i zatvorite backdoors
Pre svega da vidimo šta to sve može postati backdoor na vašem sajtu. U pitanju su fajlovi koji su veoma slični core fajlovima na vašem sajtu (na primer wp-config.php) ili core direktorijumima kao što su /uploads, /themes, /plugins… i sl, koji su namerno postavljeni u pogrešne direktorijume.
Evo nekih PHP funkcija koje oni mogu sadržati a koje će vam pomoći da ih lakše prepoznate:
Str_rot13
Assert
Base64
Move_uploaded_file
Eval
System
Stripslashes
Gzuncompress
Napomena: Imajte u vidu da na vašem sajtu verovatno postoje i regularni plugin-i koji sasvim legitimno mogu koristiti navedene PHP funkcije. Zato budite oprezni i ne žurite sa uklanjanjem fajlova / foldera samo zato što ste u njima pronašli neke od navedenih funkcija.
Promenite SALT ključeve na vašem sajtu
Poslednji korak u čišćenju vašeg WordPress sajta od malware-a je da zamenite SALT ključeve. U pitanju je u stvari kriptografski alat koji se koristi za hešovanje loznike kojom se logujete na vašu admin stranicu.
WordPress podrazumevano dolazi sa SALT ključevima i oni su smešteni u wp-config.php fajlu.
Zato je dobra praksa povremeno menjati SALT ključeve. Ovo se tim pre podrazumeva ukoliko je sajt bio hakovan / zaražen malware-om.
Ono što ćete postići zamenom SALT ključeva jeste da će svi trenutno ulogovani korisnici (uključujući i potencijalnog napadača na vaš sajt) nakon zamene ključa biti automatski izlogovani.
Zamenu SALT ključeva možete uraditi i pomoću namenskih plugin-a, ali možete i ručno na sledeći način:
- Generišite nove SALT ključeve pomoću SALT API generatora
- Kopirajte generisane ključeve
- Otvorite wp-config.php fajl
- Zamenite postojeće SALT ključeve novim ključevima (zalepite nove umesto starih)
- Sačuvajte izmene i zatvorite wp-config.php fajl
Kao što smo pomenuli ovim ćete automatski izlogovati sve koji su u tom trenutku ulogovani na backend vašeg sajta, uključujući i vašeg napadača (ako je ulogovan).
Ukoliko ste u prethodnom koraku uspeli da uklonite sve backdoor-ove sa vašeg sajta, onda ste ovim u potpunosti omogućili napadačima da ponovo pristupe vašem sajtu. Pre toga još samo treba da promenite svoju admin lozniku, ali i lozinke svih drugih korisnika pomoću kojih se loguju na backend vašeg sajta.
Iskoristite backup
Da li imate backup svog sajta? Ako nemate ovo je jedna od situacija u kojoj shvatate da ste strašno pogrešili što ne radite redovno backup kopiju svog sajta. Zato uvek podsećamo na važnost redovne izrade backup kopija. Ako koristite Plus web Hosting usluge, o backupu ne treba da brinete jer čuvamo backup 7 dana unazad i 4 nedeljna.
Dakle, ukoliko imate backup kopiju, onda ste na dobrom putu da jednostavno rešite problem sa inficiranim sajtom. Dovoljno je samo da, uradite restore svog sajta iz poslednje backup kopije, uklonite sve identifikovane inficirane fajlove i stvar je rešena.
Čak i ukoliko izgubite koji fajl koji nije trebalo, backup će ga nadomestiti verzijom iz kopije.
Najgore što se može desiti jeste da nedostaje neki update koji ste radili od poslednjeg backup-a, ali to je u ovom trenutku najmanji problem. Važno je da očistite i oporavite svoj sajt, zar ne?
Jedini slučaj u kojem backup neće pomoći jeste ukoliko je sajt inficiran mnogo ranije, a napadači namerno nisu preduzimali nikakve akcije sve do momenta kada ste vi primetili neko čudno ponašanje sajta.
U tom slučaju backup neće pomoći jer će i dalje sadržati inficirane fajlove koje možda do sada niste uspeli da detektujete.
Testiranje sajta
Sada kada ste očistili sajt od malware-a, vreme je da testirate da li sve radi kao ranije. Proverite sve linkove, sadržaj i sve ostale funkcionalnosti koje ste imali pre napada. Ukoliko nešto ne funkcioniše, potražite uzrok tome. Možda ste slučajno obrisali neki od potrebnih fajlova ili plugin-a, pa je potrebno da ih vratite / ponovo instalirate.
Ukoliko na kraju sve radi kako treba, onda ste uspešno očistili sajt i ponovo ga osposobili za ispravan rad. Ne zaboravite da odmah uradite novu backup kopiju, jer kao što ste videli, u najvećem broju slučajeva to će vas sačuvati svih muka oko čišćenja inficiranog sajta.
U ovom tekstu smo objasnili kako da očistite inficiran WordPress sajt. Ukoliko želte da saznate više o tome kako da zaštitite svoj web sajt, možete pogledati i naše druge tekstove na ovu temu:
- Dvofaktorska autentifikacija za vaš WordPress veb-sajt
- 9 jednostavnih saveta da svoj WordPress sajt učinite bezbednijim
- Kako zaštititi WordPress od hakera
- Anti-malware plugini za WordPress
- Kako da se zaštitite da vaš sajt/account ne bude hakovan i šta da preduzmete da to sprečite
- Kako da očistite malware sa WordPress sajta
Nenad Mihajlović