22 octombrie 2026 · by Alex M.
Atacurile Brute Force și exploatarea endpoint-ului XML-RPC din WordPress reprezintă două dintre cele mai frecvente vulnerabilități active cu care se confruntă administratorii de servere în 2024. Dacă ai un VPS NVMe sau un server dedicat, cunoașterea metodelor concrete de blocare a acestor atacuri este esențială pentru a menține securitatea aplicațiilor web.
În acest ghid vom parcurge pas cu pas metodele testate pentru a bloca atacurile Brute Force (SSH, panou admin, formulare de login) și XML-RPC, folosind instrumente open-source deja disponibile pe orice distribuție Linux.
Un atac Brute Force presupune încercarea automată a mii sau milioane de combinații de utilizator + parolă până la găsirea celei corecte. Atacatorii folosesc rețele de boți distribuiți geografic, ceea ce îngreunează blocarea prin IP simplu.
Principalele ținte:
Un atac reușit poate duce la:
XML-RPC este un protocol de comunicare remote pentru WordPress, activat implicit, disponibil la /xmlrpc.php. Deși a fost util pentru aplicații mobile și integrări externe, astăzi este exploatat masiv pentru:
system.multicall/xmlrpc.php⚠️ Dacă nu folosești funcționalități care necesită XML-RPC (Jetpack, aplicații mobile WordPress), dezactivează-l imediat.
Editează configurația SSH:
nano /etc/ssh/sshd_config
Modifică linia:
Port 2222
Apoi repornește serviciul:
systemctl restart sshd
Nu uita să adaugi regula în firewall înainte de a reporni!
În același fișier /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
Această metodă singură elimină practic 99% din atacurile Brute Force SSH. Dacă nu ai configurat încă autentificarea prin chei, consultă ghidurile noastre de securitate pe blogul CLIQHOST.
AllowUsers adminuser
Asigură-te că utilizatorul adminuser există și are o parolă puternică (sau cheie SSH).
Fail2Ban monitorizează log-urile și blochează automat IP-urile cu activitate suspectă. Dacă nu l-ai instalat, pe Ubuntu/Debian:
apt update && apt install fail2ban -y
Creează fișierul /etc/fail2ban/jail.local:
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = 2222
logpath = /var/log/auth.log
maxretry = 3
Adaugă în /etc/fail2ban/jail.local:
[nginx-wp-login]
enabled = true
port = http,https
filter = nginx-wp-login
logpath = /var/log/nginx/access.log
maxretry = 5
bantime = 86400
Creează filtrul /etc/fail2ban/filter.d/nginx-wp-login.conf:
[Definition]
failregex = ^<HOST> .* "POST /wp-login.php
ignoreregex =
[nginx-xmlrpc]
enabled = true
port = http,https
filter = nginx-xmlrpc
logpath = /var/log/nginx/access.log
maxretry = 2
bantime = 86400
Filtrul /etc/fail2ban/filter.d/nginx-xmlrpc.conf:
[Definition]
failregex = ^<HOST> .* "POST /xmlrpc.php
ignoreregex =
Repornește Fail2Ban:
systemctl restart fail2ban
fail2ban-client status
Pentru un VPS SSD sau server dedicat, aceste configurații sunt suficient de eficiente pentru trafic moderat-ridicat.
Adaugă în blocul server {} al site-ului WordPress:
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
return 444;
}
Codul 444 instruiește Nginx să închidă conexiunea fără a trimite niciun răspuns — ideal pentru a nu consuma resurse.
nginx -t && systemctl reload nginx
Adaugă în .htaccess sau în VirtualHost:
<Files xmlrpc.php>
Require all denied
</Files>
Sau mai agresiv, cu mod_rewrite:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^xmlrpc\.php$ - [F,L]
</IfModule>
Dacă accesezi panoul de administrare dintr-un IP fix:
location = /wp-login.php {
allow 193.168.1.100; # IP-ul tău
deny all;
}
Creează fișierul de parole:
apt install apache2-utils -y
htpasswd -c /etc/nginx/.htpasswd adminuser
Adaugă în blocul server {}:
location = /wp-login.php {
auth_basic "Acces restricționat";
auth_basic_user_file /etc/nginx/.htpasswd;
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
<Files wp-login.php>
AuthType Basic
AuthName "Acces restricționat"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Files>
Adaugă în functions.php al temei active:
// Dezactivează XML-RPC complet
add_filter('xmlrpc_enabled', '__return_false');
// Elimină header-ul X-Pingback
add_filter('wp_headers', function($headers) {
unset($headers['X-Pingback']);
return $headers;
});
// Dezactivează pingback-urile
add_action('pre_ping', function(&$links) {
$links = [];
});
Pluginul Disable XML-RPC (disponibil gratuit în WordPress.org) face exact asta cu un singur click — recomandat pentru utilizatorii fără acces la cod.
Rate limiting previne flooding-ul de requesturi chiar dacă atacatorul schimbă IP-urile:
http {
limit_req_zone $binary_remote_addr zone=wplogin:10m rate=5r/m;
limit_req_zone $binary_remote_addr zone=xmlrpc:10m rate=1r/m;
}
server {
location = /wp-login.php {
limit_req zone=wplogin burst=3 nodelay;
# ... restul configurației
}
location = /xmlrpc.php {
limit_req zone=xmlrpc burst=1 nodelay;
deny all;
}
}
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp # SSH pe noul port
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Pentru servere dedicate managed, echipa noastră poate prelua configurarea completă a firewall-ului și securizarea serverului.
journalctl -u ssh --since "1 hour ago" | grep "Failed"
fail2ban-client status sshd
fail2ban-client status nginx-xmlrpc
apt install logwatch -y
logwatch --output mail --mailto [email protected] --detail high
| Măsură | Status |
|---|---|
| Port SSH schimbat | ✅ |
| Autentificare SSH prin chei | ✅ |
| Fail2Ban activ (SSH + WP) | ✅ |
| XML-RPC blocat în Nginx/Apache | ✅ |
| XML-RPC dezactivat în WordPress | ✅ |
| Rate limiting activat | ✅ |
| wp-login.php protejat cu HTTP Basic | ✅ |
| UFW Firewall activ | ✅ |
Atacurile Brute Force și exploatarea XML-RPC nu sunt amenințări teoretice — ele se produc zilnic, pe mii de servere din întreaga lume, inclusiv pe servere din Moldova. Implementând măsurile din acest ghid — de la Fail2Ban și blocare Nginx, până la dezactivarea completă a XML-RPC — reduci dramatic suprafața de atac.
Dacă preferi o soluție gestionată, echipa CLIQHOST oferă servicii complete de administrare servere, inclusiv audit de securitate și configurare proactivă. Explorează și opțiunile noastre de VPS NVMe sau hosting WordPress optimizat — fiecare plan vine cu suport tehnic dedicat.
Real reviews from customers who trust CLIQHOST for performance, reliability and expert technical support.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."