elfsightSari la conținut
Cum securizați un website WordPress împotriva atacurilor

Cum securizați un website WordPress împotriva atacurilor

WordPress este cel mai atacat CMS din lume, nu din cauza unor vulnerabilități inerente ale platformei, ci din cauza popularității sale – peste 40% din website-urile active îl folosesc, ceea ce îl face o țintă profitabilă pentru atacatori. Scripturile automate scanează constant internetul în căutare de instalări WordPress cu pluginuri învechite, parole slabe sau configurări de securitate implicite pe care le pot exploata.

Majoritatea atacurilor asupra website-urilor WordPress nu sunt targetate – sunt automate și oportuniste. Bot-urile încearcă combinații de parole pe pagina de login, exploatează vulnerabilități cunoscute în pluginuri populare și inserează cod malițios prin fișiere cu permisiuni greșite. Vestea bună este că protecția împotriva acestor atacuri nu necesită cunoștințe avansate de securitate server – un set de măsuri aplicate sistematic reduce riscul cu peste 95%.

În acest ghid veți descoperi cele mai eficiente măsuri de securitate pentru WordPress, organizate de la cele esențiale (pe care orice website trebuie să le implementeze) până la cele avansate care oferă protecție suplimentară împotriva atacurilor sofisticate. Fiecare secțiune include pași concreți pe care îi puteți aplica astăzi, indiferent de nivelul dvs. tehnic.

Cum securizați un website WordPress împotriva atacurilor

Securizarea WordPress funcționează pe principiul apărării în profunzime – mai multe niveluri de protecție care funcționează împreună. Dacă un nivel este depășit, următorul oprește atacul. Niciun nivel individual nu oferă protecție completă, dar combinația lor creează o barieră eficientă împotriva majorității amenințărilor.

Înainte de a implementa orice măsură de securitate, realizați un audit al stării actuale a website-ului. Verificați versiunea WordPress, lista pluginurilor active și inactive, versiunea PHP și dacă există utilizatori cu drepturi de administrator necunoscuți. Un audit inițial dezvăluie adesea vulnerabilități evidente care pot fi remediate rapid. Pluginul Query Monitor sau Health Check & Troubleshooting oferă o imagine rapidă a stării tehnice a instalării dvs.

Măsuri esențiale de securitate

Actualizări regulate

Cel mai important lucru pe care îl puteți face pentru securitatea WordPress este să mențineți totul actualizat. Marea majoritate a atacurilor reușite exploatează vulnerabilități cunoscute, pentru care există deja patch-uri disponibile – dar pe care administratorii nu le-au aplicat. Actualizați:

  • WordPress core – fiecare actualizare include remedieri de securitate. Activați actualizările automate pentru versiunile minore
  • Pluginuri – pluginurile învechite sunt vectorul de atac numărul unu. Actualizați săptămânal sau activați actualizările automate
  • Teme – inclusiv temele inactive de pe server pot fi exploatate. Actualizați-le sau ștergeți-le
  • PHP – folosiți cea mai recentă versiune PHP suportată de WordPress (8.1 sau 8.2)
  • Pluginuri inactive – dezactivați și ștergeți pluginurile pe care nu le folosiți. Un plugin inactiv poate conține în continuare vulnerabilități exploatabile

Autentificarea securizată

Pagina de login WordPress (wp-login.php) este ținta principală a atacurilor brute force. Bot-urile încearcă mii de combinații de user/parolă pe secundă. Protejați-o cu aceste măsuri:

  • Parole puternice – minimum 16 caractere cu litere mari, mici, cifre și caractere speciale. Folosiți un manager de parole (Bitwarden, 1Password)
  • Nume de utilizator unic – nu folosiți „admin”, „administrator” sau numele domeniului. Creați un utilizator cu nume aleatoriu și ștergeți contul „admin” implicit
  • Autentificare doi pași (2FA) – adaugă un cod temporar din aplicația de autentificare (Google Authenticator, Authy) la fiecare login. Pluginul Two Factor sau WP 2FA implementează această funcție
  • Limitarea încercărilor de login – blocarea automată a adresei IP după 3-5 încercări eșuate. Pluginul Limit Login Attempts Reloaded oferă această funcționalitate gratuit
  • reCAPTCHA pe pagina de login – blochează bot-urile automate care nu pot rezolva provocările CAPTCHA

Configurarea fișierului wp-config.php

Fișierul wp-config.php conține credențialele bazei de date și configurările esențiale WordPress. Adăugați aceste constante de securitate pentru a întări protecția instalării dvs.:

// Dezactivează editorul de fișiere din admin
// Previne modificarea fișierelor PHP direct din interfața WordPress
define('DISALLOW_FILE_EDIT', true);

// Dezactivează instalarea/actualizarea de pluginuri din admin
// (activați doar pe website-uri de producție cu risc ridicat)
// define('DISALLOW_FILE_MODS', true);

// Forțează SSL pentru panoul admin
define('FORCE_SSL_ADMIN', true);

// Chei de securitate unice (generați de la api.wordpress.org/secret-key)
define('AUTH_KEY',         'cheie-unica-generata-1');
define('SECURE_AUTH_KEY',  'cheie-unica-generata-2');
define('LOGGED_IN_KEY',    'cheie-unica-generata-3');
define('NONCE_KEY',        'cheie-unica-generata-4');
define('AUTH_SALT',        'cheie-unica-generata-5');
define('SECURE_AUTH_SALT', 'cheie-unica-generata-6');
define('LOGGED_IN_SALT',   'cheie-unica-generata-7');
define('NONCE_SALT',       'cheie-unica-generata-8');

// Limitează numărul de revizii salvate pentru a reduce dimensiunea bazei de date
define('WP_POST_REVISIONS', 5);

// Dezactivează concatenarea scripturilor în admin (util pentru debugging)
// define('CONCATENATE_SCRIPTS', false);

Mutați wp-config.php cu un nivel deasupra directorului rădăcină WordPress dacă structura serverului permite. WordPress îl va găsi automat, dar nu va fi accesibil direct prin web.

Protecția fișierelor și a serverului

Permisiunile fișierelor

Permisiunile corecte ale fișierelor și directoarelor previn modificarea neautorizată a codului. Permisiunile prea permisive (777) permit oricui să modifice fișierele, ceea ce poate duce la injectarea de cod malițios:

  • Directoare: 755 – proprietarul poate citi, scrie și executa; ceilalți pot doar citi și executa
  • Fișiere: 644 – proprietarul poate citi și scrie; ceilalți pot doar citi
  • wp-config.php: 600 – doar proprietarul poate citi și scrie
  • .htaccess: 644 – sau 444 dacă nu aveți nevoie de modificări automate de la WordPress
  • Directorul wp-content/uploads: 755 – necesar pentru încărcarea fișierelor media

Verificați și corectați permisiunile prin SSH cu comenzile:

# Setați permisiunile corecte pentru directoare
find /calea/catre/wordpress -type d -exec chmod 755 {} ;

# Setați permisiunile corecte pentru fișiere
find /calea/catre/wordpress -type f -exec chmod 644 {} ;

# Protejați wp-config.php
chmod 600 /calea/catre/wordpress/wp-config.php

Protecția prin .htaccess

Fișierul .htaccess din rădăcina website-ului oferă un nivel suplimentar de protecție la nivel de server web Apache. Adăugați aceste reguli după blocul WordPress generat automat:

# Protejează wp-config.php
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>

# Protejează .htaccess
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>

# Dezactivează listarea directoarelor
Options -Indexes

# Blochează accesul la fișierele include WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

# Blochează accesul la fișierele sensibile
<FilesMatch ".(htaccess|htpasswd|ini|log|sh|sql|bak)$">
Order Allow,Deny
Deny from all
</FilesMatch>

# Dezactivează execuția PHP în directorul uploads
<IfModule mod_rewrite.c>
RewriteRule ^wp-content/uploads/.*.php$ - [F]
</IfModule>

Dezactivarea XML-RPC

XML-RPC este un protocol vechi folosit pentru publicare la distanță și integrări cu aplicații terțe. Dacă nu îl folosiți (majoritatea website-urilor nu îl folosesc), dezactivați-l pentru a preveni atacurile brute force și DDoS prin pingback. Adăugați în .htaccess:

# Dezactivează XML-RPC complet
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

Alternativ, dacă folosiți Cloudflare, puteți bloca accesul la xmlrpc.php printr-o regulă de firewall la nivel de rețea, înainte ca cererea să ajungă la server.

Headerele de securitate HTTP

Headerele de securitate HTTP instruiesc browser-ele cum să trateze conținutul paginilor dvs. și reduc suprafața de atac pentru vulnerabilități de tip XSS, clickjacking și injecție de conținut. Adăugați aceste headere în fișierul .htaccess:

<IfModule mod_headers.c>
    # Previne clickjacking
    Header always set X-Frame-Options "SAMEORIGIN"

    # Previne sniffing-ul de tip MIME
    Header always set X-Content-Type-Options "nosniff"

    # Activează protecția XSS în browsere vechi
    Header always set X-XSS-Protection "1; mode=block"

    # Forțează HTTPS pentru 1 an
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

    # Controlează informațiile din Referer header
    Header always set Referrer-Policy "strict-origin-when-cross-origin"

    # Content Security Policy de bază (ajustați în funcție de resurse externe)
    # Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.google-analytics.com"
</IfModule>

Verificați scorul headerelor de securitate al website-ului dvs. pe securityheaders.com după implementare. Un scor A sau B indică o configurare bună.

Monitorizarea și detectarea intruziunilor

Monitorizarea activă detectează atacurile în curs și identifică compromisurile înainte ca acestea să cauzeze daune semnificative. Implementați aceste instrumente:

  • Scanner de malware – configurați scanări automate săptămânale cu Wordfence sau Sucuri. Wordfence Free include scanner de fișiere și monitorizare firewall în varianta gratuită
  • Monitorizare integritate fișiere – detectați modificările neautorizate ale fișierelor WordPress core comparând hash-urile cu valorile oficiale
  • Audit log – înregistrați toate acțiunile din panoul admin (login-uri, modificări setări, publicări). Pluginul WP Activity Log oferă audit detaliat și notificări prin email pentru acțiuni suspecte
  • Verificarea jurnalelor de acces – monitorizați accesul la wp-login.php, wp-admin și xmlrpc.php. Un număr neobișnuit de mare de cereri de la o singură IP indică un atac brute force
  • Monitorizare uptime – servicii precum UptimeRobot vă notifică imediat dacă website-ul devine indisponibil, ceea ce poate indica un atac DDoS sau un compromis

Backup-uri ca rețea de siguranță

Nicio măsură de securitate nu este perfectă. Backup-urile regulate sunt rețeaua de siguranță care vă permite restaurarea website-ului în cazul unui compromis, fără a pierde conținut sau a plăti răscumpărare pentru ransomware:

  • Configurați backup automat zilnic al bazei de date și săptămânal al fișierelor
  • Stocați backup-urile pe o locație externă (Amazon S3, Google Drive, Dropbox), nu pe același server
  • Testați restaurarea periodic pentru a confirma că backup-urile funcționează și sunt complete
  • Păstrați cel puțin 30 de zile de backup-uri pentru a putea reveni la o versiune anterioară compromisului
  • Pluginuri recomandate: UpdraftPlus (gratuit cu stocare în cloud), BackWPup sau All-in-One WP Migration

Măsuri avansate de securitate

Firewall aplicație web (WAF)

Un Web Application Firewall filtrează cererile malițioase înainte de a ajunge la WordPress. Există două tipuri principale de implementare:

  • WAF la nivel de rețea – Cloudflare (gratuit) oferă protecție de bază împotriva atacurilor DDoS și bot-urilor. Sucuri WAF (premium) oferă reguli specializate pentru WordPress
  • WAF la nivel de plugin – Wordfence include un firewall la nivel de aplicație care blochează cererile malițioase cunoscute înainte de executarea codului WordPress

Restricționare IP pe wp-admin

Dacă administrați website-ul de la adrese IP fixe, restricționați accesul la panoul admin doar pentru acele adrese. Adăugați în fișierul .htaccess din directorul wp-admin:

# Restricționați accesul la wp-admin după IP
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?/wp-login.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?/wp-admin$
RewriteCond %{REMOTE_ADDR} !^123.456.789.000$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>

Înlocuiți 123.456.789.000 cu adresa IP reală de la care administrați website-ul. Dacă aveți mai multe adrese, adăugați câte o linie RewriteCond pentru fiecare.

Schimbarea URL-ului de login

Mutarea paginii de login de la adresa implicită wp-login.php la un URL personalizat elimină o parte semnificativă din traficul de bot-uri. Pluginul WPS Hide Login permite setarea unui URL personalizat fără modificarea fișierelor core WordPress. Alegeți un URL care nu este ușor de ghicit (nu folosiți „login2”, „admin-login” sau variante evidente).

Ce faceți dacă website-ul a fost compromis

Dacă bănuiți că website-ul dvs. a fost compromis (pagini modificate, redirecționări neașteptate, avertismente Google, email-uri trimise fără consimțământ), acționați metodic urmând acești pași:

  1. Nu intrați în panică – acționați metodic și documentați fiecare pas pentru audit ulterior
  2. Puneți website-ul în modul de întreținere pentru a preveni infectarea vizitatorilor în timp ce remediați situația
  3. Restaurați din ultimul backup curat – aceasta este metoda cea mai rapidă și sigură de remediere
  4. Schimbați toate parolele: WordPress admin, FTP, baza de date, cPanel, email-urile asociate domeniului
  5. Actualizați WordPress core, toate pluginurile și temele la cele mai recente versiuni
  6. Scanați fișierele pentru cod malițios rezidual cu Wordfence sau prin compararea fișierelor cu versiunile oficiale
  7. Verificați utilizatorii WordPress – ștergeți orice cont suspect creat de atacator cu privilegii de administrator
  8. Regenerați cheile de securitate din wp-config.php – aceasta invalidează toate sesiunile active
  9. Verificați și curățați baza de date pentru injecții de cod în conținut sau setări
  10. Solicitați reverificarea website-ului în Google Search Console dacă a primit avertismente de malware

Pluginuri de securitate recomandate

Ecosistemul WordPress oferă pluginuri specializate care automatizează o mare parte din măsurile descrise. Alegeți un singur plugin principal de securitate pentru a evita conflictele:

  • Wordfence Security – cel mai popular plugin de securitate, include firewall, scanner malware, monitorizare trafic în timp real și blocarea IP-urilor malițioase cunoscute. Varianta gratuită este suficientă pentru majoritatea website-urilor
  • Sucuri Security – accent pe monitorizarea integrității fișierelor și notificări de securitate. WAF-ul premium oferă protecție la nivel de rețea
  • iThemes Security – simplu de configurat, oferă peste 30 de măsuri de securitate printr-o singură interfață, ideal pentru utilizatorii fără experiență tehnică
  • WP Activity Log – specializat exclusiv pe audit logging, complementar oricărui plugin de securitate principal

Securitatea WordPress nu este o destinație, ci un proces continuu. Aplicați măsurile esențiale descrise în acest ghid, monitorizați constant website-ul pentru activități suspecte, mențineți totul actualizat și păstrați backup-uri regulate. Aceste practici, combinate cu securitatea la nivel de server, creează un mediu în care website-ul dvs. WordPress funcționează sigur și fiabil pe termen lung.

Servicii SEO speciale – Oferim servicii speciale de optimizare SEO și promovare pentru motoarele de căutare. Contactați-ne acum!

Dorel Tănase

Dorel Tănase – specialist SEO și Web Design-er cu peste 18 ani de experiență. Dorel Tănase este unul dintre specialiștii în optimizare SEO din România, cu o activitate neîntreruptă în mediul online de peste 18 ani.

Parcursul său profesional a început în anul 1997, odată cu lansarea website-ului cisnet.ro – unul dintre primele proiecte web românești axate pe servicii IT și prezență online.

Articolul precedent
Următorul articol

Comments (0)

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Înapoi sus
Caută
ROEN