Sari la conținut

Cum securizezi WordPress prin fișierul .htaccess

5 min de citit

Cum securizezi WordPress prin fișierul .htaccess – securizare wordpress htaccess

Când te gândești la protejarea unui site WordPress, primul reflex este să instalezi un plugin de securitate. Este o alegere bună, dar incompletă: ai la dispoziție și un fișier discret, aflat chiar în rădăcina instalării, care poate opri atacurile înainte să ajungă la aplicație. Securizarea WordPress prin fișierul .htaccess adaugă un strat de apărare la nivel de server, rapid și gratuit, care blochează cererile periculoase înainte ca vreun script PHP să pornească.

În rândurile de mai jos îți arăt, pas cu pas, ce reguli merită adăugate și ce face fiecare dintre ele. Ai nevoie doar de acces prin FTP sau la File Manager-ul din cPanel și de puțină atenție la detalii. Nu îți trebuie cunoștințe avansate de programare, ci doar răbdare și obiceiul de a testa fiecare schimbare.

Ce este fișierul .htaccess și de ce contează

Fișierul .htaccess este un fișier de configurare citit de serverele Apache și LiteSpeed. WordPress îl generează automat ca să gestioneze permalink-urile, însă tu îl poți extinde cu propriile reguli de securitate.

Marele avantaj este că aceste reguli se aplică la nivel de server, nu de aplicație. O cerere rău-intenționată este respinsă înainte să încarce codul WordPress, ceea ce înseamnă în același timp mai multă siguranță și mai puțin consum de resurse.

Un avertisment înainte de a începe: o simplă greșeală de sintaxă poate afișa un «Internal Server Error» pe tot site-ul. De aceea, fă întotdeauna o copie a fișierului original înainte de orice modificare, ca să poți reveni rapid dacă ceva nu merge.

Securizare WordPress prin .htaccess: regulile esențiale

Începe cu protecțiile care aduc cel mai mare beneficiu pentru cel mai mic efort. Prima este să blochezi accesul direct la wp-config.php, fișierul care conține datele de conectare la baza de date:

<Files wp-config.php>
  Require all denied
</Files>

La fel de importantă este oprirea listării directoarelor. Fără această regulă, oricine poate vedea conținutul unui folder care nu are un fișier index și îți poate cartografia întreaga structură a site-ului:

Options -Indexes

Nu în ultimul rând, protejează chiar fișierul .htaccess și blochează xmlrpc.php, o țintă frecventă pentru atacurile de tip brute-force și pentru amplificarea de trafic, dacă nu ai nevoie de el:

<Files .htaccess>
  Require all denied
</Files>

<Files xmlrpc.php>
  Require all denied
</Files>

Dacă folosești aplicația mobilă WordPress sau anumite integrări, este posibil să ai totuși nevoie de xmlrpc.php; în rest, blocarea lui elimină o sursă importantă de atacuri. Ține cont și de versiunea serverului: pe Apache 2.4 se folosește «Require all denied», iar pe versiunile mai vechi echivalentul era «Deny from all». Dacă o regulă îți dă eroare, aceasta este de obicei cauza.

Diagramă tip checklist cu pașii de securizare WordPress prin .htaccess: wp-config, xmlrpc, uploads și anteturi de securitateSecurizare WordPress HtaccessProtejează wp-config.phpBlochează xmlrpc.phpDezactivează listarea directoarelorInterzice PHP în uploadsAdaugă anteturi de securitateRestricționează wp-login.php
Checklist de securizare WordPress prin .htaccess

Blochează execuția PHP în folderele sensibile

Multe compromiteri reușesc pentru că un fișier PHP malițios ajunge în folderul wp-content/uploads și este apoi executat direct din browser. Poți pune capăt acestui scenariu creând un fișier .htaccess separat, chiar în interiorul folderului uploads, cu următorul conținut:

<FilesMatch ".php$">
  Require all denied
</FilesMatch>

Din acel moment, chiar dacă un atacator reușește să încarce un script, serverul refuză să îl ruleze. Este una dintre cele mai eficiente reguli împotriva site-urilor infectate și, din păcate, una dintre cele mai des uitate.

Restricționează accesul la zona de administrare

Zona wp-admin și pagina wp-login.php sunt cele mai atacate puncte dintr-un site WordPress. Dacă lucrezi mereu de la aceeași adresă IP, poți proteja login-ul astfel încât nimeni altcineva să nu ajungă la el:

<Files wp-login.php>
  Require ip 203.0.113.10
</Files>

Înlocuiește adresa din exemplu cu IP-ul tău real. Dacă lucrezi din mai multe locuri sau ai IP dinamic, metoda nu este practică; în acest caz e mai bine să limitezi numărul de încercări de autentificare și să activezi autentificarea în doi pași. Ideea rămâne aceeași: nu lăsa pagina de login expusă tuturor.

Adaugă anteturi de securitate

Anteturile HTTP îi spun browserului cum să se comporte și reduc riscul de clickjacking sau de interpretare greșită a tipurilor de fișiere. Le poți seta direct din .htaccess:

<IfModule mod_headers.c>
  Header set X-Content-Type-Options "nosniff"
  Header set X-Frame-Options "SAMEORIGIN"
  Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

Aceste câteva linii îți ridică vizibil scorul pe instrumentele de testare a securității și nu afectează în niciun fel funcționarea site-ului. Pentru o imagine completă a măsurilor recomandate oficial, merită să citești ghidul de hardening de la wordpress.org. Dacă preferi ca totul să fie configurat corect de la bun început, poți apela la un serviciu dedicat de securitate WordPress sau poți cere un audit gratuit care îți arată exact ce vulnerabilități ai.

O mică listă de verificare

Înainte să închizi editorul, verifică rapid că ai bifat pașii de bază:

  • Ai făcut o copie a fișierului .htaccess original.
  • Ai protejat wp-config.php și .htaccess.
  • Ai dezactivat listarea directoarelor cu Options -Indexes.
  • Ai blocat execuția PHP în folderul uploads.
  • Ai restricționat accesul la wp-login.php.

Testează apoi site-ul într-o fereastră incognito și încarcă o pagină din zona de admin, ca să confirmi că nimic nu s-a stricat.

Concluzie

Fișierul .htaccess nu înlocuiește un plugin de securitate, un firewall sau backupurile regulate, dar completează perfect restul strategiei tale de apărare. Cu doar câteva reguli bine alese blochezi majoritatea atacurilor automate, fără să adaugi cod suplimentar care să încetinească site-ul. Începe cu protecțiile esențiale, testează după fiecare modificare și revizuiește configurația ori de câte ori actualizezi mediul de găzduire.

Citește și: Headere de securitate HTTP în WordPress: CSP, HSTS și X-Frame-Options.