WordPress admin (/wp-admin, /wp-login.php) je najveća meta na svakom WP sajtu. Botovi neprestano probaju username/password kombinacije iz curenih baza. Većina malih sajtova ne primjećuje — sve dok jedan bot ne pogodi, ne instalira backdoor, i sajt ne završi u Google Safe Browsing crnoj listi.
Ovaj vodič pokriva 7 slojeva zaštite WP login-a koje treba imati u 2026 — od osnovnih (jaki passwordi) do naprednih (passkeys, IP whitelisting). Cilj: brute force napad na tvoj WP postaje praktički nemoguć, bez da admin postaje neupotrebljiv za tebe.
Zašto WP login je toliko napadnut
WordPress drži ~43% svih sajtova na webu. To znači:
- Botovi znaju da je
/wp-admini/wp-login.phpstandardna lokacija. - Default username "admin" još uvijek koriste tisuće sajtova.
- Curene baze passworda (HaveIBeenPwned ima 12+ milijardi zapisa) daju gotov rječnik.
- Uspješan login = potpuni pristup. Plugin install = backdoor instaliran u 30 sekundi.
Tipičan production WP sajt prima 50-500 brute force pokušaja dnevno. Manji blogovi 5-20, veliki shopovi 1000+.
Sloj 1 — Jaki passwordi i menadžeri
Minimalno:
- 16+ znakova, miks slova, brojeva, simbola.
- Generiran kroz Bitwarden, 1Password, KeePass — ne pamtiti, ne tipkati.
- Različit za svaki sajt (curenje jednog ne kompromitira sve).
WP od verzije 5.0 generira jake passwordove automatski pri kreiranju usera. Ostavi ih takvima — nemoj "olakšat sebi" sa nečim pamtljivim.
Sloj 2 — Promjena username-a sa "admin"
WP više ne forsira "admin" kao default od WP 3.0, ali stariji sajtovi i dalje ga imaju. Provjeri kroz wp user list. Ako postoji:
# Kreiraj novog admin usera
wp user create novi-admin novi@email.hr --role=administrator
# Provjeri da radi (login s novim)
# Onda obriši starog "admin"
wp user delete admin --reassign=NEW_USER_ID
Botovi pokušavaju "admin" 80% vremena. Promjena imena = velika smanjenost površine napada.
Sloj 3 — Limit Login Attempts
Sprječava brute force kroz blokiranje IP-a nakon X neuspjelih pokušaja. Plugin opcije:
- Limit Login Attempts Reloaded (free, 2M+ instalacija) — postavi: 4 pokušaja, 20 min lockout, 4 lockouta = 24h ban.
- WP Cerber Security (free + pro) — naprednije, integrira s reCAPTCHA, geo blocking.
- Wordfence Security — najpopularniji (4M+), uključuje firewall + malware scanner.
- iThemes Security (Solid Security) — slično.
Postavi jedan, ne tri (konflikti). Wordfence je tipičan default izbor.
Sloj 4 — Two-Factor Authentication (2FA)
Najveći skok u sigurnosti za najmanji trud. Korisnik unosi password + 6-znamenkasti kod iz Google Authenticator / Authy aplikacije. Brute force na pasword postaje beskoristan.
Pluginovi:
- Two Factor Authentication by Plugin Vault (jednostavan, besplatan)
- Wordfence Login Security (besplatan, integriran ako već koristiš Wordfence)
- WP 2FA by Melapress (free + pro, dobro UI)
- Two-Factor by WordPress Core Contributors (najpouzdaniji, koristi ga sam WordPress.org)
Postavi obavezno za sve admin role-ove. Za editor/author opcionalno. Pripremi backup kodove za slučaj izgubljenog telefona.
Sloj 5 — Passkeys (WebAuthn) — 2026 standard
Passkeys su kriptografski ključevi vezani uz hardware (Touch ID, Windows Hello, YubiKey, telefon). Nema passworda za phishing, nema 2FA koda za interception. Login = otisak prsta + ime usera.
WP podržava od verzije 6.4+ kroz plugin:
- Passwordless Login by WordPress core team — eksperimentalno, ali stabilizira se
- Stranger Login ili Two-Factor plugin s WebAuthn modulom
U 2026. preporučujem za sve nove WP setup-e gdje admin koristi moderne uređaje. Za stare timove gdje neki još koriste Windows 7 — ostani na 2FA.
Sloj 6 — Skrij /wp-admin iza čudnog URL-a (security through obscurity, ali pomaže)
Pluginovi koji preimenuju /wp-login.php u /moj-tajni-login:
- WPS Hide Login (1M+ instalacija)
- Hide My WP Ghost
Ne zaustavlja iskusne napadače (ako znaju traži wp-config.php default lokacije), ali eliminira 95% automatiziranog brute force-a koji samo gađa /wp-login.php.
Oprez: ne kombiniraj sa Cloudflare Page Rule-ima koje cache-uju login stranicu — može zaglavit u beskonačnoj redirect petlji.
Sloj 7 — IP whitelisting / geo blocking
Najjača mjera za interne admin role-ove gdje znaš odakle se loga:
- .htaccess dozvoli pristup
/wp-adminsamo s tvoje IP adrese:<Files wp-login.php> Order Deny,Allow Deny from all Allow from 185.230.10.20 Allow from 217.146.92.0/24 </Files> - Cloudflare Firewall Rule: blokiraj pristup
wp-admin/*sa IP-ova izvan EU. - Geo Blocking plugin (npr. WP Cerber pro): blokiraj pristup login-u iz top-spam zemalja.
Mane: ne radi za remote tim koji koristi ISP s dinamičkim IP-em. Za solo developera ili fix office IP — savršeno.
Bonus — XML-RPC i REST API zaštita
Klasične zaboravljene mete:
- XML-RPC (
/xmlrpc.php) — stari RPC interfejs koji omogućava remote login. Tipawp.getUsersBlogsmože probat brute force. Ako ne koristiš Jetpack remote management — disable kroz Disable XML-RPC plugin ili Wordfence postavku. - REST API user enumeration —
/wp-json/wp/v2/usersmože listati sve usere bez auth-a. Disable kroz Hide WP Login plugin ili pravilo ufunctions.php.
Sve zajedno — preporučeni 2026 stack
- Wordfence Security (free) — limit attempts + WAF + malware scan
- WP 2FA ili Wordfence Login Security — 2FA na svim admin/editor role-ovima
- WPS Hide Login — premjesti
/wp-login.phpu nešto random - Disable XML-RPC (kroz Wordfence postavku ili plugin)
- Cloudflare ispred sajta — Firewall Rules za
/wp-admin+ bot fight mode - Za enterprise: hardware passkey (YubiKey) + IP whitelist
Plus operacijski higijena: ne dijeli credentials, ne ostavljaj test admin user-e nakon razvoja, ne instaliraj nulled plugin-e (najveći vektor backdoor-a).
Monitoring — kako znati ako napad teče
- Wordfence Live Traffic — vidi sve login pokušaje u realnom vremenu.
- Activity Log plugin (npr. WP Activity Log) — log svake admin radnje.
- Notifikacije na email kad nepoznat IP uspješno loga.
- Slack/Discord webhook iz Wordfence-a za hitne alarme.
Što WMD podrška radi na hosting strani
- Imunify360 blokira poznate brute force botove na server razini, prije nego dođu do WP-a.
- ModSecurity rules blokiraju masovne POST na
wp-login.phpsa istog IP-a. - Geo IP block na firewall razini za zemlje s ekstremno visokim spam volumenom (konfigurabilno).
- JetBackup svakog dana — ako brute force ipak uspije i sajt bude kompromitiran, rollback u 5 min.
- Free konzultacija kad postavljaš novi WP — pomognemo s hardening checklistom.
Najčešća pitanja
Trebam li sve 7 slojeva?
Za production WP s realnim posjetom — minimum 1-5 (passwordi, 2FA, limit attempts, hide login, no "admin" username). Sloj 6-7 za visok-rizik sajtove (e-trgovina, financije, medical).
Što je s WooCommerce checkout-om koji koristi user accounte?
Customer login je odvojen od admin login-a. Limit attempts i 2FA mogu se primijenit i na customer role, ali pažljivo — previše restrikcija ubija konverziju.
Imam ja samo blog s dva posta — trebam ovo?
Da. Botovi ne biraju cilj — gađaju sve. Kompromitiran mali blog postaje phishing landing page ili dio botneta. Minimum: jak password + 2FA + hide login plugin.
Da li 2FA usporava login?
10-15 sekundi po login-u. Trade-off prema sigurnosti je ogroman. Većina security pluginova ima "trust this device 30 days" opciju da ne moraš svaki put.