Mit: ‘am un simplu site sau un magazin online mic - nu exista niciun motiv sa fiu atacat’ - complet fals! Adevărul este ca majoritatea site-urilor sunt compromise cu încercări care nu țintesc un anumit site, ci mai degrabă atacuri in masa pe vulnerabilități comune. Asta înseamnă că indiferent de dimensiunea site-ului tău, ești expus la pericole. Aceste pericole nu îți pun în pericol doar reputația online ci pot aduce și răspunderi de natura legală, făcând din securizarea Wordpress un proces extrem de important. [breakdance_block blockId=2310] Urmează un articol in care vom atinge aspecte tehnice dar și o serie de analogii din viața de zi cu zi pentru a înțelege mai bine mecanismele descrise, dar și o serie de acțiuni concrete pe care le poți implementa chiar acum pentru a-ți securiza site-ul WordPress. Am împărțit totul în 3 mari categorii: server/hosting, DNS si aplicație(WordPress).
Server
sau în scenariul în care nu te ocupi tu de server, hosting-ul.
Izolarea aplicațiilor
Fiecare server găzduiește mai multe site-uri. Într-un scenariu ideal, daca unul dintre aceste site-uri este atacat, celelalte ar trebui sa fie in siguranță. Este ca atunci când unul dintre apartamentele de pe scara ta a fost jefuit. Asta nu însemna ca si apartamentul tău este in pericol. Doar ca in realitate lucrurile nu stau chiar așa. De cele mai multe ori, o găzduire de 5 euro pe luna nu izolează așa cum trebuie, iar atacatorii pot trece de la un site la altul. O găzduire de 5 euro pe luna asigura doar ușa de la intrarea în bloc, punând în pericol toate site-urile găzduite pe acel server. Acțiune: Alege un hosting cu reputație buna/folosește un server, cu izolare între aplicații (CloudLinux, CageFS, containere Docker). Chiar dacă te ocupi de propriul server pe care îl administrezi, de exemplu, cu Runcloud. Acesta creează o izolare de baza dar nu utilizează CageFS, care poate fi o problema. Mai ales ca opțiunea de folosi Docker nu este activa by default (lansat in aprilie anul acesta).
Firewall
Este paznicul de la intrarea în bloc. Aceste permite sau nu accesul pe baza unor setări si reguli. Acțiune: Folosește firewall la nivel de server și monitorizare activă sau alege o găzduire cu reputație bună. Cu găzduirea tradițională nu vei avea acces la firewall sau la setările legate de acesta.
Actualizări la nivel de server
Așa cum îți faci update la telefon sau la Windows și serverele au nevoie de actualizări pentru funcționalități noi, performanța și aspecte ce țin de securitate (atât amenințări noi, dar și vulnerabilități existente care doar ce au fost descoperite). Acțiune: Asigura-te ca sistemul de operare si serviciile utilizate rulează ultima versiune stabila.
Permisiuni pe fișiere
Anumite fișiere nu au de ce sa fie publice sau accesibile din internet și doar anumite servicii ar trebui sa aibă voie sa le acceseze. Alte fișiere trebuie sa fie citite, în timp ce altele trebuie sa fie rescrise din internet. De exemplu, anumite fișiere esențiale din WordPress și fișierul wp-config trebuie mutate cu totul în afara zonei accesibile publicului. Acțiune: Configurează corect permisiunile fișierelor (ex: wp-config.php în afara zonei publice, fișiere sensibile read-only). Mai sunt o mulțime de aspecte la care ar trebui sa fii atent, dar acestea sunt cele mai ‘importante’. Mai ales daca nu vei avea control asupra mediului de găzduire. Acțiune extra: Creează backup-uri regulate și automate ale serverului și bazelor de date. Asigura-te ca firma de hosting cu care lucrezi are implementata o astfel de procedura la nivel de server.
Zona de DNS
Se petrece înainte de server și este legată de domeniul tău. In spate, fiecare domeniu de tipul ‘nume.ro’ are o adresa IP care duce spre serverul site-ului. Este doar mai simplu sa ții minte stringtech.ro decât ceva de genul 82.212.123.123. Dar pentru ca totul se petrece pana ca traficul sa ajungă pe server, este foarte important sa fie configurat corect. De menționat ca nu fiecare domeniu are un IP unic, de cele mai multe ori site-ul tău va împarți același IP cu mai multe site-uri de pe serverul respectiv (asta daca nu iți cumperi un IP dedicat). Acțiune: Trebuie sa folosești Cloudflare. Este gratuit si extrem de puternic. Iată cum:
Ascunde IP-ul real al serverului
Traficul trece prin Cloudflare înainte sa ajungă la site. Astfel, adresa reala a serverului nu este expusa direct atacatorilor. Ceea ce reduce riscul de atac. Este ca și cum cineva care iți scrie o scrisoare, o trimite mai întâi unui intermediar care la rândul lui o trimite către tine. Expeditorul nu îți va cunoaște adresa pentru ca altcineva intermediază operațiunea. Tare, nu? Acțiune: Asigura-te ca in zona de DNS din Cloudflare ai bifat 'Proxied' 
Sisteme moderne
Atacatorii folosesc metode de tip DDoS care pe scurt înseamnă că încearcă sa iți dea jos site-ul prin supraîncărcare. Cloudflare are filtre care ajuta la diminuarea acestor tipuri de atacuri. Ca o cutie de scrisori care strânge toate reclamele înainte ca acestea sa ajungă la tine in apartament (cu diferența ca facturile utile ajung direct și fără probleme). Acțiune: Asigura-te ca mecanismele de detecție sunt active 
Poate bloca traficul agresiv sau râu intenționat prin provocări, Captcha, etc
Exista boți buni și boți rai.
- Un bot bun ar fi cel de la Google care iți vizitează site-ul pentru a-l afișa în rezultatele de pe Google Search.
- Un bot mai puțin bun poate fi unul care copiază tot conținutul site-ului pentru antrenarea AI-ului.
- Unul cu adevărat diabolic va încerca combinatii de useri si parole pe site-ul-tau.ro/wp-admin.
Cloudflare identifica boții cu reputație bună și le permite accesul. Acțiune: Configurează zona de Boți din Cloudflare astfel încât sa se muleze pe nevoile tale
Chiar daca nu face obiectul acestui articol - un text foarte interesant despre noua poziționare in ceea ce privește scraperii AI -> aici. Aceștia încearcă să protejeze conținutul non-ai: will introduce a so-called “pay-per-crawl” service that clients can use to receive compensation every time an AI bot wants to scoop up their website’s contents.
Security Rules
Restricții și reguli de acces. De exemplu dacă ai un site în România, ce sens are sa permiți traficul din Asia si Rusia? Aici nu exista o rețetă, ci mai degrabă trebuie configurate pe baza locației serverului, surselor de trafic, servicii folosite si preferințe. Acțiune: Folosește Rules Template pentru inspirație sau articolul de aici. Cat de mult ajuta? In cazul unui site normal cu câteva zeci de vizite zilnice se pot bloca mii de cereri suspecte per 24 ore: 
La nivel de aplicație - WordPress
Chiar dacă toate punctele de mai sus sunt configurate perfect, este esențial ca și aplicația (site-ul) sa fie protejata corect. De ce? Pentru ca cea mai mare parte din ceea ce am discutat anterior se refera la bune practici in general, dar securizarea Wordpress are si nevoi specifice pe care le vom trata in continuare.
Actualizări - teme, module si de sistem.
(de departe cel mai important aspect) Săptămâna trecuta au fost identificate 133 de vulnerabilități legate de WordPress dintre care câteva extrem de grave. Nu contează când vei citi acest articol, aceste numere rămân in aceeași zona de la săptămână la săptămână. De fiecare data când preluam un client nou, panoul de admin arata ceva de genul:
Nu trebuie sa ai valente tehnice ca sa iți dai seama ca rularea unei versiuni vechi de PHP si 23 de actualizări de module sunt o problema serioasa de securitate. Chiar daca nu plănuiam, haide sa facem o analiza pe pericolele la care este expus acest client. Venerabilitățile legate de PHP sunt descrise -> aici, indiferent ca vorbim de Securizare Wordpress sau non-Wordpress. Pentru module tot ce trebuie sa facem este sa intram pe acest site, sa introducem numele modulului si sa verificam versiunea:
De exemplu, pentru modulul de mai sus si versiunea <3.12.2 am identificat peste 18 vulnerabilități, dintre care 2 critice!
Si chiar daca acestea au fost reparate, pentru ca site-ul utilizează o versiune de acum 3 ani, este vulnerabil. Acțiune: Actualizează-ți modulele, temele si core-ul WordPress. Bonus: șterge ceea ce nu folosești. Ca regula generala, cu cat mai puține module, cu atât mai bine. Singura provocare este faptul ca odată actualizate trebuie sa te asiguri ca modulele rămân compatibile și nu creează comportamente neașteptate.
Securitate login.
Chestiile clasice - parola greu de ghicit, verificare in 2 pași (MFA) - cu cod sau sms, limitarea numărului de încercări de login, schimbarea adresei de login.
WAF (Web Application Firewall)
Blochează atacurile automate cu module precum Wordfence și Patchstack - avantajul major e ca aceștia tratează securitatea din perspectiva specifica a WordPress
Scanarea continua.
Ai nevoie de un ochi care sa iți spună daca s-au modificat fișiere sau daca se întâmplă ceva neobișnuit. Module ca Wordfence se ocupa de acest aspect out of the box.
Back-up Wordpress
Nu ar fi rău ca pe lângă back-up-ul la nivel de server sa instalezi si un modul care sa se ocupe de back-up si direct in Wordpress.
WordPress nu este vulnerabil by design!
Ceea ce îl face vulnerabil ar fi faptul ca este utilizat de ~ 400 milioane de site-uri, aproximativ 44% din toate site-urile active de pe internet. De aceea atacatori sunt motivați sa găsească vulnerabilități si sa le exploateze in masa. Un alt vector de vulnerabilitate sunt modulele care sunt dezvoltate de companii 3rd party si care nu pot fi verificați in timp real ca respecta bunele practici din domeniu.