Ataki brute-force na WordPress to codzienność w 2026 roku. Automatyczne boty skanują internet i próbują setek kombinacji haseł na /wp-admin i xmlrpc.php. Bez ochrony Twoja strona jest podatna nawet przy silnym haśle. Jak się skutecznie zabezpieczyć?
Skala zagrożenia — liczby
Według danych Wordfence (2025-2026):
- WordPress obsługuje ~43% stron w internecie → jest głównym celem
- Typowa strona WP atakowana jest kilka razy dziennie
- Ataki brute-force to ~80% wszystkich prób włamań na WP
- Większość ataków pochodzi z sieci botnetów (setki tysięcy IP)
Silne hasło nie wystarczy — bot może próbować 10 000 kombinacji/godzinę.
Warstwa 1: Cloudflare (zalecane jako pierwsze)
Cloudflare to „tarcza” przed Twoim serwerem. Wszystko przez nią przechodzi.
Rate Limiting
W panelu Cloudflare → Security → WAF → Rate Limiting:
Rule: Block brute-force on wp-admin
URI: /wp-admin/
Requests: > 10/minute
Action: Block (1 hour)
To zablokuje boty zanim dotrą do Twojego serwera.
CF Turnstile (captcha bez tarcia)
Zamiast irytującej reCAPTCHA: Cloudflare Turnstile (darmowy) jest niewidoczny dla użytkownika, ale blokuje boty. Dodaj na stronę logowania WP przez wtyczkę CF Turnstile.
Warstwa 2: Limit logowań (wtyczka)
Limit Login Attempts Reloaded (darmowa wtyczka):
- Max 3 nieudane próby → blokada IP na 20 minut
- 4. zablokowanie → 24 godziny blokady
- Logowanie wszystkich prób w dashboard
Instalacja: Wtyczki → Dodaj nową → „Limit Login Attempts Reloaded”
Warstwa 3: Zmiana URL logowania
Domyślny /wp-admin i /wp-login.php to pierwsze co atakuje bot. Zmień adres:
WPS Hide Login (wtyczka darmowa): Ustawienia → WPS Hide Login → Adres logowania: twoj-unikalny-adres-123
Teraz bot atakuje /wp-admin → dostaje 404. Twoi użytkownicy logują się przez /twoj-unikalny-adres-123.
Uwaga: zapisz nowy adres! Jeśli zapomnisz, stracisz dostęp do panelu (do czasu dezaktywacji wtyczki przez FTP).
Warstwa 4: Blokada xmlrpc.php
xmlrpc.php to stary interfejs API WordPress. Większość stron go nie potrzebuje, ale boty go uwielbiają — pozwala na wielokrotne próby hasła w jednym żądaniu.
Wyłączenie przez .htaccess (Apache):
<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>
Wyłączenie przez Nginx:
location = /xmlrpc.php {
deny all;
return 444;
}
Wyłączenie przez wtyczkę:
Disable XML-RPC (darmowa) — jednorazowe kliknięcie w wtyczkach.
Warstwa 5: Dwuskładnikowe uwierzytelnianie (2FA)
Nawet jeśli bot zgadnie hasło — bez 2FA nie wejdzie. Opcje:
WP 2FA (popularna darmowa wtyczka):
- Aplikacja Authenticator (Google Authenticator, Authy)
- Jednorazowe kody SMS
- E-mail OTP
Dla administratora 2FA jest obowiązkowe w 2026 roku.
Warstwa 6: Fail2ban na serwerze (dla VPS)
Jeśli masz VPS (a dla PrestaShop i większych WP zdecydowanie powinieneś — przeczytaj dlaczego VPS jest niezbędny dla sklepu PrestaShop), Fail2ban monitoruje logi i automatycznie blokuje IP:
# /etc/fail2ban/filter.d/wordpress.conf
[Definition]
failregex = ^<HOST>.*"POST /wp-login.php
ignoreregex =
# /etc/fail2ban/jail.local
[wordpress]
enabled = true
filter = wordpress
logpath = /var/log/nginx/access.log
maxretry = 5
bantime = 3600
Po 5 nieudanych próbach: IP blokowane na 1 godzinę.
Warstwa 7: Aktualizacje (najważniejsze!)
Większość włamań na WordPress nie jest przez brute-force, ale przez znane podatności w wtyczkach. Stare wtyczki = otwarte drzwi.
- Włącz automatyczne aktualizacje: Ustawienia → Ustawienia → Auto-aktualizacje
- Usuń nieużywane wtyczki i motywy
- Monitoruj WPScan Vulnerability Database
Co zrobić po ataku?
Jeśli ktoś się włamał:
- Odizoluj: wyłącz stronę tymczasowo (
maintenance mode) - Zmień hasła: WP, FTP, baza danych, hosting
- Skanuj pliki: Wordfence Scan lub VirusTotal
- Sprawdź logi: w
/var/log/nginx/access.logszukaj anomalii - Przywróć z backup: jeśli znalazłeś złośliwy kod
Podobne problemy z bezpieczeństwem dotyczą PrestaShop — przeczytaj jak zabezpieczyć sklep PrestaShop przed atakami.
Kompletna checklista bezpieczeństwa WordPress 2026
- [ ] Cloudflare przed serwerem (darmowy plan wystarczy)
- [ ] Rate Limiting na /wp-admin w Cloudflare WAF
- [ ] Wtyczka Limit Login Attempts
- [ ] Zmieniony URL logowania (WPS Hide Login)
- [ ] xmlrpc.php zablokowany
- [ ] 2FA dla administratorów
- [ ] Fail2ban na VPS (jeśli własny serwer)
- [ ] Automatyczne aktualizacje włączone
- [ ] Backup codzienny (zdalny, nie na tym samym serwerze)
- [ ] Monitoring uptime (UptimeRobot – darmowy)
Podsumowanie
Zabezpieczenie WordPress to nie jednorazowa akcja — to proces. Minimalne wymagania: Cloudflare + limit logowań + zmiana URL + 2FA. To zajmuje 1-2 godziny i eliminuje 95% automatycznych ataków.
Masz pytania związane z tym tematem? Skontaktuj się ze mną:
Chętnie Ci pomogę w tym zakresie
Email: [email protected]
Telefon: +48 888 830 888
Strona: https://helpguru.eu