Cum se securizează un site pe WordPress

Acum ceva ani foloseam “admin”, ca user default în WordPress. Atunci un amic mi-a zis că nu e bine, că sunt mai vulnerabil. Nu am înțeles atunci, dar am trăit după pe pielea mea. Un alt amic, folosind un bug soft, a reușit să scrie ceva într-un widget. Just like that!

Zilele astea mi-am adus aminte de povestea asta, văzând pe un site un comentariu pe tema asta. Se discuta despre faptul că un site măricel, folosește admin ca nume de user. Și am zis să scriu un articol (din propriile mele experiențe) despre cum putem face WordPress mai sigur. Vă rog însă, nu îl luați ca un tutorial.

1. Ce permisiuni are nevoie WordPress pentru baza de date

Când creăm o bază de date, trebuie să facem și un user care să aibă permisiuni pe acea bază de date. Unii au tendința de a da All Privileges. Documentația WordPress zice că e bine cu toate. Eu am pus doar cele din lista de mai jos și merge fără probleme:

  • INSERT
  • UPDATE
  • DELETE
  • CREATE
  • DROP
  • ALTER
  • INDEX

2. Fără admin ca nume de utilizator, sau ceva de genul

Admin este cel mare comun nume de utilizator pe WP. Pentru că este cel default de la instalare. E la fel ca 123 pentru parole. Este nesigur și comportă riscuri. Spre exemplu, atacatorii se îndreaptă cu precădere spre WP-uri instalate default, deci cu admin ca user.

Dacă nu ați schimbat utilizatorul la instalare, puteți să o faceți acum, din baza de date. Se merge în panoul de administrare de la host și se dă click pe phpMyAdmin. Odată ajunși în interfața acestuia, selectăm baza de date a WP și navigăm la tabelul wp_users. Aici căutăm user-ul admin, și schimbăm numele de utilizator, care se află în field-ul user_login.

3. Schimbare link autor

Pentru a schimba ce apare înainte de author, vom pune în fișierul functions.php al temei, codul următor:

add_action('init', 'cng_author_base');
function cng_author_base() {
    global $wp_rewrite;
    $author_slug = 'profile'; // change slug name
    $wp_rewrite->author_base = $author_slug;
}

putem înlocui profile cu ce vrem noi.

4. Limitarea numărului de încercări de logare

Brute force – încercări repetate de a sparge o parolă, folosind un “dicționar”. Atacatorul va încerca să se logheze până când ghicește parola. Dacă noi limităm acest număr, el nu va ghici parola. Din trei încercări e destul de greu, mai ales dacă avem o parolă sigură

De data asta vă prezint un plug-in. Se numește Limit Login Attempts. După instalare și activare, putem seta câte încercări de logare să accepte, și cât timp să stea blocat. Ideal ar fi să setați un timp mai ciudat, nu un minut, zece, sau 30. Aici ține de imaginația și răbdarea voastră.

5. Schimbarea URL-ului de logare

http://site.tld/wp-admin poate fi schimbat destul de ușor, și chiar e recomandat să facem asta. Prima dată adăugăm în wp-config.php, codul următor:

define('WP_ADMIN_DIR', 'secret-folder');
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

Apoi, punem în functions.php de la temă, asta:

define('WP_ADMIN_DIR', 'secret-folder');
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

Ultimul pas este să adăugăm următarea linie la fișierul .htaccess:

RewriteRule ^secret-folder/(.*) wp-admin/$1?%{QUERY_STRING} [L]

Dacă toți pașii au fost făcuți corect, noul link va arăta astfel: http://numesite.tld/secret-folder, unde puteți înlocui secret-folder, cu ce vreți voi.

6. Verificarea permisiunilor fișierelor

Un risc de securitate major. Un fișier cu permisiuni incorecte, este o ușă deschisă. Vă recomand un articol interesant pe această temă, care vă poate fi util.

7. Alte riscuri și verificarea lor

În timp ce scriam acest articol, am dat de un plugin interesant. Eu unul nu l-am folosit, dar îl voi testa imediat. Se numește iThemes Security (formerly Better WP Security). El identifică riscurile de securitate ale site-ului și oferă soluții la acestea.

În concluzie, tot ce e default nu stă bine. E documentat, devenind mult mai vulnerabil. Cu toate lucrurile de mai sus modificate, WordPress devine mai sigur. Asta nu înseamnă că nu poate fi spart. Dar va fi mai greu. Asta nu vă scutește însă să aveți back-up permanent la baza de date și fișierele site-ului.

No Responses

Comentezi? Atunci ia niște reguli de aici!

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