Ne mogu da se ulogujem u WordPress, lozinka ne radi: da li je sajt hakovan?
Ovaj vodič obrađuje temu ne mogu da se od potvrde problema do čišćenja i prevencije.
Otvorite stranicu za prijavu na svoj WordPress sajt, ukucate korisničko ime i lozinku koju koristite godinama, i dobijete poruku da je lozinka pogrešna. Probate ponovo, pažljivije. Isto. Kliknete na „Zaboravili ste lozinku?“, a mejl nikako ne stiže. Ili stigne poruka da korisnik sa tim imenom ne postoji.
U tom trenutku većina vlasnika pomisli najgore: neko je ušao na sajt i zaključao ih napolju. Ponekad je to zaista tako. Međutim, isto tako često iza problema stoji nešto sasvim bezazleno, kao što je bezbednosni dodatak koji je privremeno blokirao vašu IP adresu ili keš pregledača koji čuva staru sesiju.
U ovom tekstu objašnjavamo kako da za nekoliko minuta razlikujete hakovanje od obične tehničke greške, kako da bezbedno vratite pristup i, ako se ispostavi da je sajt zaista hakovan, šta morate uraditi odmah posle ulaska, jer sam povratak lozinke u tom slučaju ne rešava ništa.
Prvo: nemojte paničiti i nemojte žuriti

Kod teme ne mogu da se redosled koraka je važniji od žurbe.
Pre nego što bilo šta menjate, zapišite šta tačno vidite: tačnu poruku o grešci, da li se stranica za prijavu uopšte otvara, da li je sajt spolja normalan, i kada ste poslednji put uspešno ušli. Ove informacije su korisne i vama i svakome ko vam bude pomagao.
Izbegavajte da u panici pokušavate lozinku desetine puta. Mnogi bezbednosni dodaci posle nekoliko neuspelih pokušaja privremeno blokiraju IP adresu, pa problem postane veći nego što je bio.
Uobičajeni uzroci koji nisu hakovanje

Bezbednosni dodatak vas je blokirao
Dodaci kao što su Wordfence, Limit Login Attempts, iThemes/Solid Security i slični posle određenog broja neuspelih pokušaja blokiraju prijavu sa vaše IP adrese na neko vreme. Poruka obično pominje previše pokušaja ili blokadu. Rešenje je da sačekate da blokada istekne, probate sa druge mreže (na primer, preko mobilnih podataka) ili privremeno isključite dodatak, o čemu više u nastavku.
Promenjena adresa stranice za prijavu
Neki bezbednosni dodaci menjaju standardnu adresu /wp-admin ili /wp-login.php u nešto drugo, na primer /moj-ulaz. Ako je to uradio neko drugi (agencija, prethodni administrator) ili ste zaboravili, standardna adresa vraća grešku 404 ili preusmerava na naslovnu. Proverite beleške, mejlove od onoga ko je pravio sajt ili podešavanja dodatka preko hostinga.
Keš i kolačići
Pregledač ponekad čuva staru ili oštećenu sesiju. Probajte prijavu u privatnom prozoru ili drugom pregledaču. Ako tamo radi, obrišite kolačiće za taj sajt u glavnom pregledaču.
Problem sa dvostepenom autentifikacijom
Ako koristite dvostepenu autentifikaciju, a promenili ste telefon, obrisali aplikaciju za kodove ili vam je sat na telefonu netačan, kodovi neće raditi. Rezervni kodovi koje ste dobili pri podešavanju rešavaju ovaj problem. Ako ih nemate, dodatak za 2FA se privremeno isključuje preko hostinga.
Greška u dodatku ili temi
Posle automatskog ažuriranja dodatak ponekad izazove grešku: prazan beo ekran, beskonačno preusmeravanje na stranicu za prijavu ili poruku o kritičnoj grešci. U tom slučaju problem nije lozinka, već sajt ne može da završi prijavu. WordPress često pošalje mejl administratoru o kritičnoj grešci, sa linkom za režim oporavka.
Pogrešna adresa sajta u podešavanjima
Ako je neko nedavno menjao domen, prelazio sa http na https ili selio sajt na drugi hosting, adresa sajta u bazi (opcije siteurl i home u tabeli wp_options) može biti pogrešna. Posledica je beskonačno vraćanje na stranicu za prijavu ili preusmeravanje na staru adresu. Ove dve vrednosti treba da budu tačna adresa vašeg sajta, sa ispravnim protokolom.
Mejl za reset ne stiže iz tehničkih razloga
Mnogi sajtovi ne šalju mejlove pouzdano, jer hosting nema dobro podešenu poštu, pa mejlovi završe u spamu ili se uopšte ne pošalju. Proverite spam folder. Ako ni tamo nema ničega, to samo po sebi ne znači hakovanje.
Znaci da je sajt zaista hakovan
Sledeći znaci ukazuju na to da problem nije tehnički, nego da je neko drugi preuzeo kontrolu:
Mejl za reset stiže, ali ne vama. Ako ste sigurni da mejl ne stiže ni u spam, a poruka na ekranu kaže da je poslat, moguće je da je napadač promenio e-mail adresu vašeg naloga.
Poruka da korisnik ne postoji. Vaš nalog je obrisan ili mu je promenjeno korisničko ime.
Možete da uđete, ali nemate administratorska prava. Vaša uloga je promenjena, na primer u „Pretplatnik“, pa ne vidite podešavanja, dodatke ni korisnike.
Sajt se spolja ponaša čudno. Preusmerava posetioce, prikazuje nepoznat sadržaj, Google prikazuje upozorenje ili spam rezultate.
Obaveštenje od hostinga o zloupotrebi, spam mejlovima ili zlonamernim fajlovima.
Poruka sa zahtevom za novac. Retko, ali se dešava da napadač ostavi poruku i traži plaćanje za vraćanje pristupa. Ne plaćajte. Pristup se gotovo uvek može vratiti preko hostinga, a plaćanje ne garantuje ništa.
Ako vidite bilo koji od ovih znakova, tretirajte situaciju kao hakovanje. Prvi koraci su opisani u tekstu Sajt mi je hakovan, šta da radim prvo.
Brza dijagnostika: šta vidite i šta to verovatno znači

Šta viditeNajverovatniji uzrokPrvi korakPoruka o previše pokušaja ili blokadiBezbednosni dodatakSačekajte ili isključite dodatak preko fajlova/wp-admin vraća 404 ili vodi na naslovnuPromenjena adresa za prijavuProverite podešavanja dodatka ili beleškeBeo ekran ili „kritična greška“Greška u dodatku ili temiIsključite dodatke preko fajlovaBeskonačno vraćanje na stranicu za prijavuKeš, kolačići ili pogrešna adresa sajtaPrivatni prozor, pa provera siteurl u baziLozinka pogrešna, reset mejl stižeZaboravljena ili promenjena lozinkaReset lozinke, pa provera korisnikaLozinka pogrešna, reset mejl ne stiže nigdePromenjena e-mail adresa naloga ili problem sa poštomProvera user_email u bazi„Korisnik ne postoji“Nalog obrisan ili preimenovanPregled tabele wp_usersUlazite, ali bez admin pravaPromenjena ulogaPregled wp_capabilities u bazi
Tabela nije zamena za pravu proveru, ali pomaže da odmah krenete u pravom smeru. Poslednja tri reda gotovo uvek znače da je neko drugi imao pristup.
Kako bezbedno vratiti pristup

Ponovite ovu proveru ako se ne mogu da se vrati posle delimičnog čišćenja.
Bez obzira na uzrok, pristup se skoro uvek može vratiti preko hosting naloga, jer tamo imate direktan pristup fajlovima i bazi. Ako ni u hosting ne možete da uđete, prvo se obratite podršci hostinga i vratite pristup tom nalogu, a zatim nastavite.
Način 1: „Zaboravili ste lozinku?“
Ako je uzrok zaboravljena lozinka i mejl stiže, ovo je najjednostavniji put. Postavite novu, jaku lozinku koju ne koristite nigde drugde.
Način 2: Isključivanje dodataka preko fajlova
Ako sumnjate da vas blokira bezbednosni dodatak ili da dodatak izaziva grešku, preko menadžera fajlova na hostingu ili FTP-a otvorite folder wp-content/plugins i preimenujte folder tog dodatka, na primer iz wordfence u wordfence-off. WordPress ga tada automatski isključuje. Ako ne znate koji dodatak pravi problem, preimenujte ceo folder plugins u plugins-off, prijavite se, vratite ime foldera i uključujte dodatke jedan po jedan.
Način 3: Promena lozinke preko baze (phpMyAdmin)
U kontrolnom panelu hostinga otvorite phpMyAdmin, izaberite bazu sajta i tabelu wp_users (prefiks wp_ može biti drugačiji na vašem sajtu).
Pronađite svoj nalog i proverite polje
user_email. Ako tu nije vaša adresa, to je jak znak hakovanja. Upišite svoju adresu.U polju
user_passizaberite funkciju MD5 i upišite novu lozinku. WordPress prihvata ovaj format i pri prvoj prijavi ga automatski pretvara u bezbedniji.Sačuvajte i probajte prijavu.
Ako vaš nalog uopšte ne postoji ili nema administratorska prava, proverite tabelu wp_usermeta, polje wp_capabilities za vaš nalog. Za administratora vrednost treba da bude a:1:{s:13:"administrator";b:1;}. Menjanje baze zahteva pažnju, pa pre bilo kakve izmene napravite izvoz (export) baze.
Način 4: WP-CLI
Ako hosting nudi SSH pristup i WP-CLI, ovo je najbrži i najpregledniji način. Nekoliko korisnih komandi:
wp user list --role=administratorprikazuje sve administratore, sa e-mail adresama i datumima registracije,wp user update IME --user_pass="nova-jaka-lozinka"postavlja novu lozinku,wp user update IME --user_email="vasa@adresa.rs"vraća vašu e-mail adresu,wp plugin deactivate naziv-dodatkaisključuje dodatak.
Već prva komanda često pokaže ono najvažnije: administratore koje ne poznajete.
Način 5: Podrška hostinga
Ako vam ništa od ovoga nije poznato, podrška hostinga može da resetuje lozinku ili isključi dodatak umesto vas. Kažite im i da sumnjate na hakovanje, jer mogu da provere logove i vide odakle su dolazile prijave.
Ako je sajt hakovan: šta uraditi odmah posle ulaska
Vlasnici često potcenjuju temu ne mogu da se dok Search Console ili klijenti ne podignu uzbunu.
Kada vratite pristup hakovanom sajtu, posao nije gotov, već tek počinje. Napadač koji je promenio vašu lozinku skoro sigurno ima i druge načine da se vrati.
1. Izbacite sve iz sistema
Promenite sigurnosne ključeve (salts) u fajlu wp-config.php. Nove ključeve možete generisati na zvaničnoj WordPress adresi za to. Promena ključeva poništava sve aktivne prijave, uključujući i napadačevu.
2. Pregledajte sve korisnike
Otvorite listu korisnika i pogledajte svakog administratora i urednika. Uklonite naloge koje ne poznajete, ali prvo zabeležite njihova imena, e-mail adrese i datume registracije, jer pomažu da se utvrdi kada je napad počeo. Zašto samo brisanje nije dovoljno, objasnili smo u tekstu Nepoznat admin nalog u WordPress-u.
3. Promenite sve ostale lozinke
Hosting, FTP/SFTP, baza podataka, e-mail nalog vezan za sajt. Ako ste istu lozinku koristili i negde drugde, promenite je i tamo.
4. Pronađite backdoor
Napadač koji je imao administratorski pristup mogao je da instalira dodatak, izmeni temu ili ubaci fajlove. Pregledajte listu dodataka, uporedite je sa sadržajem foldera wp-content/plugins, proverite folder uploads i zamenite jezgro, teme i dodatke čistim kopijama. Kako se traži skriveni ulaz, opisali smo u tekstu Kako pronaći backdoor na WordPress sajtu.
5. Utvrdite kako je napadač ušao
Najčešći uzroci su ukradena ili slaba lozinka, ista lozinka korišćena na drugom sajtu koji je procureo, ranjiv dodatak ili piratska tema. Ako ulaz ostane otvoren, isti problem se vraća. Više u tekstu Infekcija se vraća posle čišćenja.
6. Proverite sajt spolja
Pokrenite besplatnu proveru sajta i pogledajte site:vasajt.rs u Google-u, da vidite da li je napadač već ubacio spam ili preusmeravanja.
7. Pogledajte logove hostinga
Većina hosting paketa čuva pristupne logove (access log) za poslednjih nekoliko dana ili nedelja. U njima potražite zahteve ka wp-login.php i xmlrpc.php. Veliki broj zahteva sa različitih adresa znači da je sajt bio meta automatizovanog pogađanja lozinki. Uspešna prijava sa nepoznate IP adrese, neposredno pre nego što ste izgubili pristup, najčešće pokazuje trenutak upada. Ako niste sigurni kako da čitate logove, podrška hostinga to obično može da uradi za vas.
8. Proverite i e-mail nalog
Ako je napadač promenio e-mail adresu vašeg WordPress naloga ili je reset lozinke završio kod njega, proverite i sam e-mail nalog koji koristite za sajt. Promenite lozinku, uključite dvostepenu autentifikaciju i pogledajte pravila za prosleđivanje pošte. Hakovan e-mail nalog napadaču omogućava da ponovo resetuje lozinku sajta kad god poželi.
Kako napadači dolaze do lozinki

Razumevanje ovoga pomaže da izaberete prave mere zaštite:
Pogađanje lozinki. Automatizovani alati isprobavaju hiljade čestih lozinki na stranici za prijavu i preko
xmlrpc.php.Procurele lozinke sa drugih sajtova. Ako ste istu lozinku koristili na nekom sajtu koji je hakovan, ona se nalazi na listama koje napadači isprobavaju na svim ostalim sajtovima.
Programi za krađu podataka. Ako je računar sa kojeg upravljate sajtom zaražen, lozinke i aktivne sesije mogu biti ukradene direktno iz pregledača. Jedan od čestih načina zaraze opisali smo u tekstu Lažna CAPTCHA na sajtu.
Lažni mejlovi (phishing) koji izgledaju kao poruka hostinga ili WordPress-a i traže da se prijavite preko lažne stranice.
Ranjiv dodatak koji omogućava da se napravi novi administrator bez ikakve lozinke.
Kako da se ovo ne ponovi

Većina slučajeva zaključavanja iz administracije mogla je biti sprečena sa nekoliko jednostavnih mera:
Dvostepena autentifikacija za sve administratore. Ovo je daleko najefikasnija pojedinačna mera, jer ukradena lozinka sama po sebi više nije dovoljna.
Jedinstvena lozinka za WordPress, koja se ne koristi ni na jednom drugom sajtu, čuvana u menadžeru lozinki.
Ograničenje broja pokušaja prijave, da automatizovani napadi pogađanjem lozinke ne bi uspeli.
Što manje administratora. Svako ko ne mora da menja podešavanja treba da ima nižu ulogu, kao što je „Urednik“ ili „Autor“.
Ispravna i zaštićena e-mail adresa administratora, jer se preko nje vraća pristup. Ako je taj e-mail nalog hakovan, i sajt je ugrožen.
Beleška o pristupima sačuvana na sigurnom mestu: adresa za prijavu, hosting nalog, rezervni kodovi za 2FA.
Redovna ažuriranja jezgra, tema i dodataka.
Kompletan vodič je u tekstu Zaštita WordPress sajta od hakovanja.
Kada je vreme da pozovete stručnjaka
Ako ste vratili pristup i sve ukazuje na to da je uzrok bio tehnički (blokada dodatka, zaboravljena lozinka), verovatno vam pomoć nije potrebna. Pozovite stručnjaka ako:
ste pronašli nepoznate administratore ili promenjenu e-mail adresu,
sajt preusmerava posetioce ili Google prikazuje upozorenje,
hosting je prijavio zlonamerne fajlove ili spam,
ste vratili pristup, a lozinka je ponovo promenjena posle nekoliko dana,
ne želite da rizikujete izmene u bazi.
Sledeći korak

Ako ne možete da uđete u WordPress i sumnjate da je sajt hakovan, pokrenite besplatnu proveru sajta da vidite šta se vidi sa interneta. Ako vam treba pomoć oko vraćanja pristupa i čišćenja, javite nam se ili pozovite 065 402 5000. Hitne slučajeve obrađujemo u toku radnog dana, kroz Emergency Response paket od 150 €.