Directiva NIS2 (Network and Information Security Directive 2) a fost transpusă în legislația română prin…

Atacuri brute force pe WordPress, cum le preveniți și le blocați
Atacuri brute force pe WordPress, cum le preveniți și le blocați. Atacurile brute force reprezintă una dintre cele mai frecvente amenințări la adresa site-urilor WordPress, constând în încercări repetate de ghicire a credențialelor de autentificare.
Zilnic, milioane de site-uri WordPress sunt ținta atacurilor automate brute force. Înțelegerea și prevenirea acestor atacuri este esențială pentru securitatea site-ului dumneavoastră.
Atacuri brute force pe WordPress, cum le preveniți și le blocați
Un atac brute force funcționează prin testarea sistematică a combinațiilor de nume de utilizator și parole până când atacatorul găsește combinația corectă. Boții automatizați pot testa mii de combinații pe minut dacă serverul nu este protejat corespunzător.
Aceste atacuri nu doar că pot compromite conturile, dar consumă resurse semnificative ale serverului, ducând la încetinirea sau chiar indisponibilitatea site-ului.
Cum funcționează atacurile brute force pe WordPress
Atacatorii folosesc liste de parole comune și dicționare pentru a încerca autentificarea pe site-ul dumneavoastră. Cele mai vizate puncte de intrare sunt pagina wp-login.php și API-ul XML-RPC.
Un atac tipic brute force pe WordPress urmează un tipar specific pe care trebuie să îl recunoașteți.
- Atacatorul identifică pagina de autentificare WordPress (implicit /wp-login.php)
- Folosește un bot automat care trimite sute de cereri POST pe minut
- Testează combinații de utilizator precum admin, administrator, numele domeniului
- Utilizează liste de parole obținute din scurgeri de date anterioare
- Exploatează XML-RPC pentru a testa multiple parole într-o singură cerere
- Dacă reușește, instalează backdoor-uri pentru acces permanent
Puteți identifica atacurile brute force verificând logurile de acces ale serverului:
grep "POST /wp-login.php" /var/log/apache2/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20Această comandă vă arată cele mai active adrese IP care trimit cereri POST către pagina de autentificare.
Limitarea încercărilor de autentificare
Prima și cea mai importantă măsură este limitarea numărului de încercări de autentificare permise de la o singură adresă IP. Aceasta oprește eficient atacurile automate.
Implementarea se poate face la nivel de server sau prin plugin-uri WordPress dedicate.
- Setați limita la maximum 3 încercări eșuate pe oră per adresă IP
- Creșteți progresiv timpul de blocare: 15 minute, 1 oră, 24 de ore
- Blocați permanent adresele IP care depășesc 50 de încercări eșuate într-o zi
- Implementați un CAPTCHA după prima încercare eșuată de autentificare
- Trimiteți notificări prin email când se detectează un atac brute force activ
Configurare prin .htaccess pentru limitarea accesului la wp-login.php:
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24
Allow from ADRESA_IP_DUMNEAVOASTRA
</Files>Dezactivarea XML-RPC
XML-RPC este un protocol vechi care permite comunicarea externă cu WordPress. Atacatorii îl exploatează frecvent deoarece permite testarea a sute de parole într-o singură cerere prin metoda system.multicall.
Dacă nu folosiți aplicații mobile WordPress sau servicii care necesită XML-RPC, dezactivarea acestuia este recomandată.
- Blocați complet accesul la fișierul xmlrpc.php prin .htaccess
- Dezactivați funcționalitatea XML-RPC prin filtrul xmlrpc_enabled
- Monitorizați logurile pentru cereri către xmlrpc.php ca indicator al atacurilor
Blocare XML-RPC prin .htaccess:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>Dezactivare prin functions.php al temei sau plugin custom:
add_filter( 'xmlrpc_enabled', '__return_false' );
remove_action( 'wp_head', 'rsd_link' );Protecție la nivel de server cu Fail2Ban
Fail2Ban este un instrument de securitate la nivel de server care monitorizează logurile și blochează automat adresele IP care prezintă comportament suspect. Este una dintre cele mai eficiente soluții împotriva atacurilor brute force.
Configurarea Fail2Ban pentru WordPress necesită un filtru personalizat și o regulă specifică.
Creați fișierul de filtru /etc/fail2ban/filter.d/wordpress.conf:
[Definition]
failregex = ^<HOST> .* "POST /wp-login.php
^<HOST> .* "POST /xmlrpc.php
ignoreregex =Adăugați regula în /etc/fail2ban/jail.local:
[wordpress]
enabled = true
port = http,https
filter = wordpress
logpath = /var/log/apache2/access.log
maxretry = 5
findtime = 300
bantime = 3600Această configurare blochează o adresă IP pentru o oră după 5 încercări eșuate în 5 minute.
Schimbarea URL-ului de autentificare
Schimbarea URL-ului implicit /wp-login.php cu unul personalizat elimină atacurile automate care vizează calea standard de autentificare WordPress.
Această tehnică, cunoscută sub numele de security through obscurity, nu este suficientă singură, dar adaugă un strat suplimentar de protecție.
- Alegeți un URL personalizat greu de ghicit, evitați denumiri evidente precum /login sau /admin
- Asigurați-vă că redirecționarea de la /wp-admin/ funcționează corect pentru utilizatorii neautentificați
- Notificați toți administratorii despre noul URL de autentificare
- Testați funcționalitatea de resetare a parolei după schimbare
Implementarea autentificării în doi factori
Autentificarea în doi factori (2FA) face atacurile brute force practic inutile. Chiar dacă atacatorul ghicește parola corectă, nu poate accesa contul fără al doilea factor de autentificare.
Există mai multe metode de implementare a 2FA pe WordPress.
- Aplicații de autentificare precum Google Authenticator sau Authy generează coduri temporare
- Chei de securitate hardware (YubiKey, Titan) oferă cel mai înalt nivel de protecție
- Coduri de backup pentru situații de urgență când al doilea factor nu este disponibil
- Notificări push pe telefonul mobil pentru aprobare rapidă a autentificării
Monitorizarea și răspunsul la atacuri active
Detectarea rapidă a unui atac brute force în desfășurare vă permite să luați măsuri imediate pentru protejarea site-ului.
Implementați un sistem de monitorizare care să vă alerteze automat.
- Configurați alerte pentru mai mult de 10 încercări eșuate de autentificare într-o oră
- Monitorizați utilizarea resurselor serverului, atacurile brute force cauzează creșteri bruște
- Verificați periodic lista de utilizatori WordPress pentru conturi neautorizate
- Analizați logurile de acces pentru tipare de atac și blocați preventiv rețelele suspecte
Comandă utilă pentru monitorizare în timp real:
tail -f /var/log/apache2/access.log | grep --line-buffered "wp-login|xmlrpc"Protecția împotriva atacurilor brute force necesită o abordare pe mai multe niveluri, de la configurări server până la autentificare avansată. Pentru strategii suplimentare de protecție, consultați secțiunea de securitate cibernetică sau blogul nostru cu ghiduri detaliate. Dacă site-ul dumneavoastră este în prezent ținta unui atac, contactați-ne imediat pentru intervenție rapidă prin serviciile noastre speciale.
Despre autor
Dorel Tănase este specialist în optimizarea site-urilor pentru motoarele de căutare. Lucrează în online din 1997 și în SEO din 2007, iar activitatea se desfășoară prin GO SEO MARKETING S.R.L. din Alba Iulia. Se ocupă de audit tehnic, arhitectura site-urilor, conținut și construirea legăturilor.