Kratak odgovor
Najveći deo bezbednosti WordPress sajta svodi se na pet stvari: jake i jedinstvene lozinke za admin naloge, redovno ažuriranje WordPress jezgra, tema i plugin-ova, zaštita login stranice (ograničenje pokušaja prijave i dvofaktorska autentikacija), uklanjanje plugin-ova i tema koje se ne koriste, i redovan backup koji možete da vratite. Većina automatskih napada gađa zastarele instalacije i slabe lozinke, pa ova osnova zaustavlja ogromnu većinu njih.
Korak 1: jake lozinke i nalozi
Najčešći ulaz napadača nije neka egzotična rupa nego pogađanje lozinke. Automatski alati probaju hiljade kombinacija na login stranici (brute force napad). Zato:
- koristite dugu, nasumičnu lozinku za svaki admin nalog, najbolje iz menadžera lozinki
- ne koristite korisničko ime
admin; napravite nalog sa drugačijim imenom i obrišiteadminako postoji - dajte svakom korisniku samo onu ulogu koja mu treba (autor ne mora da bude administrator)
- uklonite naloge koje više niko ne koristi
Jedna jaka, jedinstvena lozinka po nalogu rešava veći deo rizika od bilo kog plugina za bezbednost. Plugin je dodatak, a ne zamena za osnovnu higijenu naloga.
Korak 2: redovni update-ovi
Zastareo WordPress, tema ili plugin je najčešća prava ranjivost. Kada se otkrije propust, autori izdaju zakrpu, ali sajt koji se ne ažurira ostaje otvoren. Napadači skeniraju internet baš u potrazi za poznatim, nezakrpljenim verzijama.
- ažurirajte WordPress jezgro čim izađe bezbednosna verzija
- redovno ažurirajte teme i plugin-ove, pogotovo one popularne koji su češća meta
- pre većih update-ova napravite backup, da možete da se vratite ako nešto pukne
- obrišite (ne samo deaktivirajte) teme i plugin-ove koje ne koristite, jer i neaktivan kod može da bude ranjivost
Korak 3: zaštita login stranice
Standardna login adresa (/wp-login.php ili /wp-admin) je prva tačka koju napadači gađaju. Nekoliko mera je čini znatno tvrđom:
- ograničite broj pokušaja prijave (limit login attempts), da automatski napad bude blokiran posle nekoliko promašaja
- uključite dvofaktorsku autentikaciju (2FA), pa ni tačna lozinka nije dovoljna bez drugog koraka
- po želji promenite podrazumevanu login adresu na nešto manje očigledno
- obavezno koristite HTTPS, da prijava ne putuje u običnom tekstu; o tome više u tekstu o SSL sertifikatu
Korak 4: server i hosting
Deo bezbednosti je ispod samog WordPress-a, na nivou servera. Dobar hosting tu pomaže:
- novija PHP verzija koja i dalje dobija bezbednosne zakrpe
- ispravne dozvole fajlova (najčešće 644 za fajlove, 755 za foldere), da se ne može pisati tamo gde ne treba
- izolacija naloga, da problem na jednom sajtu ne ugrozi druge na istom serveru
- automatski backup na nivou hostinga kao dodatna mreža za pad
Šta je važno baš za WordPress okruženje (resursi, izolacija, podrška) ima u tekstu o WordPress hostingu u Srbiji.
Korak 5: backup kao poslednja linija
Nijedna zaštita nije savršena, pa backup nije suprotnost bezbednosti nego njen deo. Ako sajt ipak bude kompromitovan, čista i sveža kopija je razlika između sat-dva oporavka i potpune rekonstrukcije sajta. Držite bar jednu kopiju van servera i povremeno proverite da vraćanje (restore) radi, kako je objašnjeno u tekstu o backup-u WordPress sajta.
Znaci da je sajt možda kompromitovan
- preusmeravanja na nepoznate sajtove ili iskačući prozori koje niste postavili
- novi admin nalozi koje niste napravili
- nepoznati fajlovi ili izmene u datumu fajlova koje niste radili
- upozorenje pretraživača ili Google Search Console da je sajt označen kao nebezbedan
- nagli pad performansi ili neobičan saobraćaj
Ako primetite nešto od ovoga, prvo promenite sve lozinke, pa proverite naloge i fajlove, i vratite čistu kopiju ako je potrebno. Kod ozbiljnijih slučajeva ima smisla uključiti hosting podršku.
Česta pitanja
- Šta najviše štiti WordPress sajt?
- Jake, jedinstvene lozinke i redovni update-ovi. Većina automatskih napada gađa slabe lozinke i zastarele verzije WordPress-a, tema i plugin-ova. Te dve navike zaustavljaju ogromnu većinu napada.
- Da li mi treba bezbednosni plugin?
- Plugin pomaže (ograničenje pokušaja prijave, 2FA, skeniranje), ali je dodatak, ne zamena za osnovu. Prvo sredite lozinke i update-ove, pa onda dodajte plugin za dodatne mere.
- Kako da zaštitim login stranicu od napada?
- Ograničite broj pokušaja prijave, uključite dvofaktorsku autentikaciju i koristite HTTPS. Po želji promenite podrazumevanu login adresu. Ove mere čine standardni brute force napad neisplativim.
- Šta da radim ako je sajt hakovan?
- Promenite sve lozinke (admin, baza, FTP, hosting), proverite ima li nepoznatih naloga i fajlova, pa vratite čistu kopiju iz backup-a od pre kompromitacije. Zatim ažurirajte sve i otklonite ulaznu tačku.
Reference
Osnivač NIJEFILA DOO. Piše o hostingu, DNS-u, email infrastrukturi i serverskoj administraciji.
Osnovni SSL je već uključen u sve pakete
Let's Encrypt sertifikat se postavlja automatski i obnavlja sam. Premium SSL je dostupan kao dodatak za korisnike sa posebnim zahtevima.