Skip to content
Atacuri brute force WordPress prevenire

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 -20

Această 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 = 3600

Această 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.

Sus