Cele mai bune practici de securitate WordPress

Publicat: 2022-03-10

Există o mulțime de mituri și FUD (frică, incertitudine și îndoială) despre securitatea WordPress. Și sunt multe de luat în considerare atunci când întăriți un site web împotriva potențialelor atacuri. Deci, cum pot companiile să învețe cele mai bune practici de securitate WordPress care le vor oferi cea mai bună protecție web posibilă?

Săptămâna trecută, am găzduit o conversație webinar pentru a demistifica preocupările legate de securitatea WordPress. Mi s-au alăturat sesiunii Ayush Malakar (dezvoltator full-stack și WordPress la Fresh Consulting) și Sean O'Shaughnessy (director WordPress VIP Solutions Engineering).

Prin intermediul a patru întrebări directoare, acești doi experți au explorat cele mai bune practici de securitate pe care dezvoltatorii, administratorii, proprietarii de site-uri și directorii ar trebui să le țină cont. Să recapitulăm despre ce am vorbit.

Este software-ul open source sigur?

Nu toate sursele deschise sunt create la fel. Dar, deoarece WordPress există de 18 ani și alimentează mai mult de 40% din site-urile web din lume, este clar că adoptarea este în creștere. Dar chiar și cu cel mai popular software open source din lume apar întrebări despre vulnerabilitățile sale de securitate. Nu este tot acel cod, în aer liber, vulnerabil la atacuri?

Nu neapărat, spune Ayush: „Din moment ce avem atât de mulți ochi care se uită în el, este mai sigur.”

Deși ar putea părea contraintuitiv, software-ul open source poate fi de fapt mai sigur decât software-ul proprietar, cu sursă închisă. Iata de ce.

Mai mulți ochi asupra potențialelor amenințări

Deoarece open source funcționează în aer liber, nu există nimic de ascuns. Mulți dezvoltatori din comunitate se uită la el și fac actualizări, inspirând încredere și încredere. Dacă se găsește o vulnerabilitate, aceasta este corectată cât mai curând posibil - adesea într-o zi sau două.

Testare continuă a codului și recompense pentru erori

Oricine poate contribui la WordPress, iar codul este testat de comunitatea a mii de contribuitori de bază WordPress. Pe măsură ce codul este testat continuu, este din ce în ce mai fiabil.

În plus, programele de recompensă pentru erori încurajează publicul să găsească găuri și vulnerabilități, inclusiv atacuri cu forță brută, DDoS, phishing și multe altele.

Actualizări de securitate

Când au loc actualizări de securitate, dezvoltatorii de site-uri web trebuie să se asigure că codul de bază este menținut la zi și protejat împotriva celor mai recente vectori de atac. Actualizările automate sunt, de asemenea, disponibile, iar dezvoltatorii întreprinderilor ar trebui să se gândească dacă acestea sunt alegerea potrivită pentru fiecare proiect.

Este codul meu securizat?

Miezul WordPress este doar una dintre „gălețile” de cod care alcătuiesc un site web WordPress. În partea de sus a software-ului dezvoltat de comunitate se află codul aplicației unui site web - tema sau front-end-ul și pluginurile.

În timp ce codul de bază WordPress cu sursă deschisă este dezvoltat de comunitate, codul aplicației scris pentru sau implementat pe site-uri web individuale poate introduce și vulnerabilități de securitate.

Există diverse măsuri pe care le puteți lua pentru a vă asigura că codul aplicației dvs. este cât mai întărit posibil împotriva atacurilor. Deși s-ar putea să luați decizii diferite pentru proiecte diferite, în funcție de nivelul de risc acceptabil, cel mai important lucru este să fiți conștient de potențialii vectori de atac.

Aici, experții noștri webinar au câteva sfaturi.

Instrumente pentru securitatea WordPress

Există diverse instrumente pe care dezvoltatorii le pot folosi pentru a ajuta la identificarea defectelor de securitate atât în ​​codul primar, cât și în cel terță parte.

„De câte ori vorbim despre instrumente, trebuie să înțelegem care sunt avantajele și dezavantajele acestor instrumente și cum ar trebui să le folosim cel mai bine în avantajul nostru?”

— Ayush Malakar, Fresh Consulting

Aceste instrumente pot efectua analize de cod statice sau dinamice. Analiza statică se face fără a executa niciun cod și, de obicei, poate identifica aproximativ 85% dintre defecte ale codului. Analiza dinamică a codului se bazează pe studierea modului în care codul se comportă în timpul execuției și are capacitatea suplimentară de a găsi probleme de securitate cauzate de interacțiunea codului cu alte componente ale sistemului, cum ar fi bazele de date SQL, serverele de aplicații sau serviciile web.

Este important să cântărim beneficiile oamenilor față de mașinile care efectuează această analiză de cod. Învățarea automată (ML) și inteligența artificială (AI) pot fi utilizate ca primă linie de apărare pentru a se asigura că sunt identificate valorile mobiliare comune. Dar este, de asemenea, util să ai o privire umană asupra codului după aceea. Acest lucru asigură că oamenii pot lucra la diferite aspecte, cum ar fi vulnerabilitatea bazată pe caracteristici, cazurile marginale etc.

Câteva instrumente recomandate de experții noștri:

  • WPScan este un instrument CLI pe care dezvoltatorii îl pot folosi pentru a-și scana codul în căutarea unor găuri de securitate. Ayush recomandă dezvoltatorilor să ruleze acest lucru într-un job cron.
  • PHP_CodeSniffer (PHPCS) inspectează codul și evidențiază probleme, de la sintaxă la vulnerabilități de securitate. Există un set de standarde specifice pentru WordPress. Acesta poate fi configurat să ruleze într-o conductă de integrare continuă (CI) și rulează în toate depozitele VIP WordPress.
  • Sonar Cloud, folosit de Fresh Consulting pentru analiza codului static, scanează atât codul PHP, cât și codul JS pentru vulnerabilități și o implementare mai sigură.

„Facem cantitatea corectă de validare a intrărilor? Dezinfectăm corect orice tip de rezultat pe care îl vom avea în codul nostru?”

— Sean O'Shaughnessy, WordPress VIP

Securitate și pluginuri WordPress

Atunci când alegeți pluginuri de la terți, căutați un plugin care are recenzii și evaluări bune, un număr mare de descărcări și flexibilitate de utilizat pe site-ul dvs. Asigurați-vă că pluginul este actualizat și este compatibil cu cea mai recentă versiune de WordPress.

Nu folosiți un plugin pe care îl puteți scrie singur. Mai ales în cazurile în care este necesară doar o cantitate mică de cod, scrieți acest cod în tema dvs. în loc să utilizați un plugin. Acest lucru va asigura că nu vor fi introduse vulnerabilități la actualizarea pluginului.

„Ceea ce aș recomanda este să scrii codul în cadrul temei în sine, pentru că ceea ce am văzut în trecut sunt pluginuri care fac o treabă foarte minimă pentru a face actualizări. Și șansele sunt, pe măsură ce tehnologia evoluează, aceste plugin-uri nu. Potențialul acelor plugin-uri care introduc vulnerabilități ar putea fi mai mare decât anticipăm.”

— Ayush Malakar, Fresh Consulting

Ca întotdeauna, este important să păstrați codul actualizat. Atenție la actualizările de bază și de pluginuri și păstrați WordPress, pluginurile și temele la zi.

Securitate și puncte finale WordPress

XML-RPC și API-ul REST sunt puncte finale pe care WordPress le utilizează pentru a comunica cu alte sisteme sau cu front-end-ul unei aplicații. Este important să înțelegeți aceste puncte finale și dacă vor fi importante pentru aplicația dvs., deoarece sunt potențiali vectori de atac care pot fi dezactivați dacă nu sunt necesari.

XML-RPC ca un potențial vector de atac

XML-RPC este o specificație care permite comunicarea între WordPress și alte sisteme. În versiunile inițiale ale WordPress, XML-RPC a fost dezactivat în mod implicit. Dar de la versiunea 3.5, a fost activat implicit. Motivul principal pentru aceasta a fost acela de a permite aplicației mobile WordPress să vorbească cu instalarea dvs. WordPress.

API-ul REST ca un potențial vector de atac

Asigurați-vă că utilizați cele mai bune practici de securitate atunci când utilizați API-ul REST WordPress. În timp ce companiile ar putea avea nevoie să le mențină deschise, de exemplu într-o arhitectură fără cap în care conținutul trebuie să circule către un front end decuplat, asigurați-vă că cei care rămân expuși au autentificarea și autorizarea corespunzătoare.

„Aveți acest castel, WordPress, aplicația dvs., iar prezența unui pod mobil nu vă face aplicația în mod inerent sigură. Dar este o cale. Este o cale de intrare în acel castel. Deci, a avea o bună înțelegere, cunoaștere și contabilizare a acestor lucruri este cu siguranță vitală pentru a avea o poziție mai bună în ceea ce privește securitatea aplicației dvs..”

— Sean O'Shaughnessy, WordPress VIP

Este găzduirea mea sigură?

Există o mulțime de considerații de luat atunci când determinați dacă gazda dvs. este suficient de sigură pentru nevoile dvs. Este o idee bună să luați în considerare toate opțiunile de securitate disponibile și să nu uitați de importanța asistenței rapide în caz de urgență, cum ar fi o actualizare a pluginului care provoacă un incident de securitate.

„Furnizorul dvs. de găzduire oferă asistență rapidă și proactivă? În plus, cum răspund ei când sunt publicate vulnerabilitățile aplicațiilor sau ale pluginurilor?”

— Sean O'Shaughnessy, WordPress VIP

În general, căutați o platformă care consideră găzduirea o responsabilitate comună. Unele caracteristici de luat în considerare includ:

Permisiunile sistemului de fișiere

Unele gazde oferă un sistem de fișiere doar pentru citire, în loc să poată scrie fișiere. Acest lucru împiedică utilizatorii proceselor web să poată scrie fișiere peste tot, închizând un potențial vector de atac.

Containerizarea

Căutați o gazdă care izolează resursele site-ului dvs. de site-urile celorlalți clienți. Deși aceasta nu este o măsură de securitate cuprinzătoare, containerizarea oferă o măsură de bază de securitate. Ca bonus, permite și resurse dedicate pentru scalabilitate orizontală sau chiar verticală.

Controlul versiunii

Când o platformă de găzduire WordPress blochează SFTP și permite actualizări de cod printr-un sistem controlat de versiune, acestea reduc suprafața de atac a aplicației dvs. În plus, gestionarea codului sursă al aplicației prin controlul versiunilor oferă o copie „imprimată” a codului ca sursă a adevărului, împreună cu un istoric complet, auditabil și bogat în context al codului respectiv.

Cum poate compania mea să impună securitatea WordPress?

Securitatea nu este doar o considerație la nivel de cod sau gazdă. Există, de asemenea, factori umani, iar companiile pot construi procese precum verificări regulate de securitate și reguli de igienă a parolelor, care vor contribui în mare măsură la creșterea securității site-ului dvs.

„La nivel organizațional, este important să ne gândim în ceea ce privește punerea în aplicare a mai multor straturi de autentificare sau validare continuă.”

— Sean O'Shaughnessy, WordPress VIP

Încredere zero și gestionarea accesului cu cel mai mic privilegiu

Prin roluri atent analizate și prin gestionarea accesului, organizațiile pot echipa oamenii să-și facă treaba cu cel mai mic nivel de privilegii - prin urmare cel mai mic risc - posibil. Asigurați-vă că definiți și atribuiți corect rolurile și capacitățile utilizatorilor. Această capacitate vine cu WordPress din cutie și poate fi extinsă pentru orice caz de utilizare.

Igiena parolei

Utilizatorii ar trebui să creeze parole unice și greu de ghicit pentru fiecare aplicație. Lui Sean îi place în special această benzi desenate, care pledează pentru utilizarea unei colecții de cuvinte aleatorii, mai degrabă decât o combinație de litere, numere și simboluri:

benzi desenate XKCD

2FA și SSO

În timp ce tehnologiile de autentificare cu doi factori (2FA) și de conectare unică (SSO) nu vor crește în mod inerent securitatea site-ului dvs., acestea oferă beneficiul gestionării centralizate a utilizatorilor în toate aplicațiile acceptate.

Recomandări cheie de securitate WordPress

  • Open Source are beneficii de securitate
  • Mențineți WordPress și pluginurile actualizate
  • Utilizați controlul versiunilor
  • Înțelegeți punctele finale WordPress
  • Căutați o gazdă care să țină cont de securitate
  • Adoptă practici de securitate mature la nivel de organizație

Am acoperit mult mai multe teme despre securitatea WordPress în cadrul webinarului de o oră. Dacă ați ratat-o ​​live, vă încurajez să vedeți înregistrarea aici.