Top 5 lacune de securitate în instalațiile WordPress

Instalarea dvs. WordPress poate fi atât de sigură sau nesigură pe cât doriți. Aflați care cinci lucruri sunt cele mai importante când vine vorba de securitate.

Preocupările și plângerile cu privire la securitatea WordPress nu sunt nimic nou.

Dacă aveți nevoie de un CMS și se întâmplă să consultați un furnizor de servicii care nu face parte din WordPress, securitatea este principalul dezamăgitor despre care veți auzi. Înseamnă asta că toată lumea ar trebui să renunțe la WordPress și să treacă la generatoare de site statice sau la un CMS fără cap?

Nu, pentru că la fel ca orice adevăr din viață, și acesta are multe laturi.

Este WordPress extrem de nesigur?

Să aruncăm o privire la câteva site-uri web uriașe care au fost construite pe WordPress:

  • TechCrunch
  • New Yorkerul
  • BBC America
  • Bloomberg
  • Stiri MTV
  • Blogul PlayStation

Deci, ce face ca aceste companii – cu buzunare absurd de adânci și o forță de muncă uluitoare – să nu treacă de la WordPress? Dacă credeți că răspunsul este un cod moștenit, gândiți-vă din nou: pentru aceste nume, securitatea datelor și imaginea publică sunt infinit mai importante decât o simplă migrare care va costa (estimez) mai puțin de 200.000 USD.

Cu siguranță inginerii lor știu ce fac și nu văd probleme fundamentale de securitate de nerezolvat cu WordPress?

Chiar și eu am norocul de a gestiona o instalare WordPress care vede 3,5-4 milioane de vizitatori pe lună. Numărul total de breșe de securitate din ultimii opt ani? Zero!

Asa de . . . WordPress este sigur?

Îmi pare rău dacă pare a fi trolling, dar iată răspunsul meu:

O spun pentru că, ca orice adevăr din viață, este complicat. Pentru a ajunge la un răspuns legitim, trebuie să înțelegem mai întâi că WordPress (sau orice CMS preconstruit, de altfel) nu este ca un dulap pe care îl ții permanent undeva și gata.

Este un program complex cu multe dependențe:

  • PHP, care este limbajul cu care este construit
  • O mașină vizibilă public care găzduiește instalarea
  • Serverul web folosit pentru a gestiona vizitatorii (Apache, Nginx, etc.)
  • Baza de date utilizată (MySQL/MariaDB)
  • Teme (pachete de fișiere PHP, CS și JS)
  • Pluginuri (pachete de fișiere PHP, CS și JS)
  • Și multe altele, în funcție de cât de mult își propune instalarea dvs. să realizeze

Cu alte cuvinte, o încălcare a securității la oricare dintre aceste cusături va fi denumită o încălcare WordPress.

Dacă parola de rădăcină a serverului a fost admin123 și a fost compromisă, este o defecțiune de securitate WordPress?

  De ce vehiculele electrice au o pompă de căldură? Au nevoie de unul?

Dacă versiunea PHP a avut o vulnerabilitate de securitate sau dacă noul plugin pe care l-ați achiziționat și instalat conținea o gaură de securitate evidentă; si asa mai departe. Pentru a rezuma: un subsistem eșuează și este o eroare de securitate WordPress.

Deoparte, vă rugăm să nu lăsați acest lucru să vă dea impresia că PHP, MySQL și Apache nu sunt sigure. Fiecare bucată de software are vulnerabilități, al căror număr este uluitor în cazul open-source (pentru că este disponibil pentru a vedea și analiza tuturor).

A spus cineva „sigur”? 😛

Ceea ce învățăm din tot acest exercițiu este următorul:

Nimic nu este sigur sau nesigur în sine. Diferitele componente folosite sunt cele care formează verigile din lanț, lanțul, desigur, fiind la fel de puternic ca și cel mai slab dintre ele. Din punct de vedere istoric, eticheta „nesigur” a WordPress a fost o combinație de versiuni PHP vechi, găzduire partajată și adăugarea de pluginuri/teme din surse nesigure.

În același timp, unele neglijențe destul de comune fac instalarea dvs. WordPress vulnerabilă pentru cei care știu să le exploateze și sunt hotărâți. Și despre asta este vorba în această postare. Așadar, fără alte preaviz (și argumente circulare), să începem.

Top lacune WordPress pe care hackerii le pot exploata

Prefixul tabelului WordPress

Celebra instalare de 5 minute este cel mai bun lucru care i se poate întâmpla cu WordPress, dar, la fel ca toți vrăjitorii de instalare, ne face leneși și lasă lucrurile implicite.

Aceasta înseamnă că prefixul implicit pentru tabelele WordPress este wp_, rezultând nume de tabel pe care oricine le poate ghici:

  • utilizatorii wp
  • wp-opțiuni
  • wp-posturi

Acum, luați în considerare un atac cunoscut sub numele de SQL Injection, în care interogările de baze de date rău intenționate sunt inserate și făcute să ruleze în WordPress (vă rugăm să rețineți că acesta nu este în niciun caz un atac exclusiv WordPress/PHP).

Deși WordPress are mecanisme încorporate pentru a gestiona aceste tipuri de atacuri, nimeni nu poate garanta că nu se va întâmpla.

Deci, dacă într-un fel, într-un fel, atacatorul reușește să ruleze o interogare precum DROP TABLE wp_users; DROP TABLE wp_posts;, toate conturile, profilurile și postările dvs. vor fi șterse într-o clipă, fără șanse de recuperare (cu excepția cazului în care aveți o schemă de rezervă, dar chiar și atunci, sunteți obligat să pierdeți date de la ultima copie de rezervă ).

Simpla schimbare a prefixului în timpul instalării este o mare problemă (care necesită zero efort).

Se recomandă ceva aleatoriu, precum sdg21g34_, pentru că este o prostie și greu de ghicit (cu cât prefixul este mai lung, cu atât mai bine). Cea mai bună parte este că acest prefix nu trebuie să fie memorabil; prefixul este ceva ce WordPress îl va salva și nu va mai trebui să vă faceți niciodată griji pentru el (la fel cum nu vă faceți griji pentru prefixul wp_ implicit!).

  Faceți-vă căutarea WordPress puternică cu Algolia și alți 9

Adresa URL implicită de conectare

De unde știi că un site rulează pe WordPress? Unul dintre semnele indicatoare este că vedeți pagina de conectare WordPress atunci când adăugați „/wp-login.php” la adresa site-ului web.

Ca exemplu, să luăm site-ul meu (http://ankushthakur.com). Este pe WordPress? Ei bine, continuă și adaugă partea de conectare. Dacă te simți prea leneș, iată ce se întâmplă:

¯_(ツ)_/¯

WordPress, nu?

Odată ce se știe atât de multe, atacatorul își poate freca mâinile de bucurie și poate începe să aplice trucuri urâte din Bag-O’-Doom, pe o bază alfabetică. Săracul de mine!

Soluția este să schimbați adresa URL implicită de conectare și să o dați numai acelor persoane de încredere.

De exemplu, acest site web este și pe WordPress, dar dacă vizitați http://tipstrick.ro.com/wp-login.php, tot ceea ce veți obține este o dezamăgire profundă. Adresa URL de conectare este ascunsă și este cunoscută doar de administratori?

Schimbarea adresei URL de conectare nu este nici ea științifică. Doar ia asta conecteaza.

Felicitări, tocmai ați adăugat un alt nivel de securitate frustrantă împotriva atacurilor cu forță brută.

Versiunea PHP și serverul web

Am discutat deja că fiecare bucată de software scrisă (și scrisă) este plină de erori care așteaptă să fie exploatate.

Același lucru este valabil și pentru PHP.

Chiar dacă utilizați cea mai recentă versiune de PHP, nu puteți fi sigur ce vulnerabilități există și ar putea fi descoperite peste noapte. Soluția este să ascundeți un anumit antet trimis de serverul dvs. web (nu ați auzit niciodată de anteturi? citiți acest!) când un browser se conectează la acesta: x-powered-by.

Iată cum arată dacă verificați instrumentele de dezvoltare ale browserului dvs. preferat:

După cum putem vedea aici, site-ul web ne spune că rulează pe Apache 2.4 și folosește versiunea PHP 5.4.16.

Acum, acestea sunt deja o mulțime de informații pe care le transmitem fără motiv, ajutând atacatorul să-și restrângă alegerea de instrumente.

Aceste anteturi (și similare) trebuie ascunse.

Din fericire, se poate face rapid; Din păcate, sunt necesare cunoștințe tehnice sofisticate, deoarece va trebui să vă scufundați în curajul sistemului și să vă încurcați cu fișierele importante. Prin urmare, sfatul meu este să cereți furnizorului dvs. de găzduire a site-ului web să facă acest lucru pentru dvs.; dacă nu văd dacă un consultant poate face acest lucru, deși acest lucru va depinde în mare măsură de gazda site-ului dvs. dacă configurația lor are sau nu astfel de posibilități.

Dacă nu funcționează, ar putea fi timpul să schimbați furnizorul de găzduire sau să treceți la un VPS și să angajați un consultant pentru probleme de securitate și administrare.

  6 moduri de a șterge toate e-mailurile de pe Gmail

Merita? Doar tu poți decide asta. 🙂

A, și dacă vrei să te îndoiești cu anteturile de securitate, iată soluția ta!

Numărul de încercări de conectare

Unul dintre cele mai vechi trucuri din manualul hackerului este așa-numitul Dicţionar Attack.

Ideea este că încercați un număr ridicol de mare (milioane, dacă este posibil) de combinații pentru o parolă, cu excepția cazului în care una dintre ele reușește. Deoarece computerele sunt fulgerătoare în ceea ce fac, o astfel de schemă prostească este sensibilă și poate da rezultate într-un timp rezonabil.

O apărare comună (și extrem de eficientă) a fost adăugarea unei întârzieri înainte de a afișa eroarea. Acest lucru îl face pe destinatar să aștepte, ceea ce înseamnă că, dacă este un script folosit de un hacker, va dura prea mult să se termine. Acesta este motivul pentru care computerul sau aplicația dvs. preferată sare puțin și apoi spune „Hopa, parola greșită!”.

Oricum, ideea este că ar trebui să limitați numărul de încercări de conectare pentru site-ul dvs. WordPress.

Dincolo de un număr stabilit de încercări (să zicem, cinci), contul ar trebui să fie blocat și ar trebui să fie recuperat numai prin e-mailul titularului contului.

Din fericire, a face acest lucru este un cakewalk dacă dai peste un frumos conecteaza.

HTTP vs. HTTPS

Certificatul SSL pentru care v-a deranjat furnizorul este mai important decât ați crede.

Nu este doar un instrument de reputație pentru a afișa o pictogramă de lacăt verde în browser care spune „Securizat”; mai degrabă, obținerea unui certificat SSL instalat și forțarea tuturor adreselor URL să funcționeze pe „https” este suficient pentru a face site-ul dvs. de la a fi o carte deschisă la un scroll criptic.

Dacă nu înțelegeți cum se întâmplă acest lucru, vă rugăm să citiți despre ceva cunoscut sub numele de a atacul omului de la mijloc.

O altă modalitate de a intercepta traficul care curge de la computer la server este sniffing-ul de pachete, care este o formă pasivă de colectare a datelor și nici măcar nu trebuie să se chinuie să se poziționeze la mijloc.

Pentru site-urile care rulează prin „HTTP” simplu, persoana care interceptează traficul de rețea, parolele și numerele cardului de credit apar text clar, simplu.

Sursa: comparitech.com

Infricosator? Foarte!

Dar odată ce instalați un certificat SSL și toate adresele URL sunt convertite în „https”, aceste informații sensibile se afișează ca o farsă pe care doar serverul le poate decripta. Cu alte cuvinte, nu transpira acei câțiva dolari pe an. 🙂

Concluzie

Veți avea aceste cinci lucruri sub control să vă securizeze bine site-ul?

Nu deloc. După cum spun nenumărate articole de securitate, nu sunteți niciodată 100% sigur, dar este posibil să eliminați o mare parte a acestor probleme cu un efort rezonabil. Puteți lua în considerare utilizarea SUCURI cloud WAF pentru a vă proteja site-urile în mod holistic.