Modulul 7 · 7.1
Cum sunt sparte site-urile web
Modulul 7: Securitate · Timp de citire: 8 minute
Obiectiv de învățare: După această lecție veți putea explica realist cum sunt sparte de obicei site-urile WordPress, de ce și site-urile mici sunt vizate și ce urmăresc atacatorii cu ele.
Concepte-cheie: vulnerabilitate, breșă (vulnerabilitate) într-un modul (plugin) sau o temă, scanări automate, credential stuffing, brute force, software nulled, calculator infectat, consecințe (spam, redirecționare, phishing, malware), suprafață de atac
„Site-ul meu este prea mic ca să fie interesant”
Aceasta este cea mai răspândită concepție greșită. Aproape niciun atac asupra WordPress nu vizează o anumită site anume. Atacatorii folosesc programe care parcurg automat mii de site-uri pe oră și caută un singur lucru: o vulnerabilitate cunoscută. Dacă programul o găsește, pătrunde, indiferent dacă site-ul aparține unei multinaționale sau clubului local de fotbal.
Ce își doresc atacatorii nu este site-ul dumneavoastră, ci ce poate face site-ul dumneavoastră:
- Spam și abuz în motoarele de căutare: mii de pagini sau linkuri ascunse pentru medicamente, jocuri de noroc sau magazine false, care profită de reputația bună a domeniului dumneavoastră la Google.
- Redirecționare: vizitatorii (adesea doar cei veniți de pe Google sau de pe telefon) sunt trimiși către un site fals sau o pagină de escrocherie. Dumneavoastră nu observați nimic, pentru că ajungeți pe site printr-un marcaj (bookmark).
- Phishing: o pagină de autentificare falsă a unei bănci sau a unui serviciu de curierat, ascunsă în folderul dumneavoastră uploads, cu numele domeniului dumneavoastră în link.
- Răspândirea de malware către vizitatori.
- Trimiterea de e-mailuri: serverul dumneavoastră trimite spam, iar apoi propriile dumneavoastră e-mailuri nu mai ajung la destinație.
- Putere de calcul: pachetul dumneavoastră este folosit pentru atacuri asupra altor site-uri sau pentru minarea de criptomonede.
- Date: la un magazin online sau un site cu membri, datele clienților dumneavoastră.
Intrarea 1: o breșă într-un modul (plugin) sau o temă
Aceasta este de departe cea mai importantă. Conform raportului anual al Patchstack, o companie care monitorizează vulnerabilitățile din WordPress, în 2024 au fost descoperite 7.966 de vulnerabilități noi în ecosistemul WordPress. 96% se aflau în module (pluginuri), 4% în teme, iar în WordPress însuși doar șapte. Majoritatea breșelor nu pot fi exploatate la întâmplare, dar o parte da, iar acestea sunt scanate masiv la câteva ore sau zile după anunțarea lor publică.
Tiparul este aproape mereu același:
- Se descoperă o breșă în versiunea 3.2 a unui modul (plugin) popular.
- Dezvoltatorul lansează versiunea 3.2.1 cu o reparație. Breșa devine publică.
- Într-un timp scurt, programele scanează internetul în căutarea site-urilor cu versiunea 3.2 sau mai veche.
- Cine nu a actualizat încă este atacat și compromis.
Pericolul nu constă așadar într-o breșă secretă pe care nimeni nu o cunoaște, ci într-o breșă cunoscută pentru care există deja o actualizare care nu a fost instalată. De aceea actualizările (lecția 7.2) sunt cea mai importantă măsură dintre toate, iar dumneavoastră ar trebui să eliminați ce nu folosiți (lecția 5.4): fiecare modul (plugin) prezent, chiar și dezactivat, vă mărește suprafața de atac.
Un caz special sunt modulele (pluginurile) abandonate: dezvoltatorul s-a oprit, nu mai apar reparații. Și software-ul nulled (lecția 5.3): o copie furată a unui modul (plugin) plătit, adesea cu o ușă din spate (backdoor) încorporată.
Intrarea 2: parolele
A doua mare intrare este autentificarea cu o parolă validă:
- Credential stuffing: la o breșă de date a unui alt serviciu, au fost scurse milioane de combinații de adresă de e-mail și parolă. Programele încearcă aceste combinații pe tot felul de site-uri, inclusiv pe paginile de autentificare WordPress. Dacă folosiți aceeași parolă ca la serviciul respectiv compromis, atacatorii intră direct.
- Brute force: un program încearcă pur și simplu foarte multe parole, adesea cu nume de utilizator frecvente precum
admin. Cu o parolă lungă și unică, acest lucru nu are nicio șansă, dar costă totuși putere de calcul pe serverul dumneavoastră. - Phishing: un e-mail fals de tipul „WordPress-ul dumneavoastră trebuie actualizat, autentificați-vă aici” cu un link către o pagină de autentificare falsificată.
Lecția 7.3 tratează apărarea: manager de parole, autentificare în doi pași (2FA) și limitarea încercărilor de autentificare.
Intrarea 3: tot ce înconjoară WordPress
Nu orice atac începe în WordPress:
- Un calculator infectat al dumneavoastră sau al constructorului de site-uri, cu un program care fură parole, de exemplu parolele salvate într-un program FTP.
- FTP obișnuit fără criptare, pe o rețea publică.
- Un alt site în același pachet: o instalare de testare veche și uitată, un Joomla vechi într-un subfolder. Toate site-urile dintr-un pachet folosesc de obicei același utilizator pe server. Dacă site-ul vechi este spart, atacatorul poate ajunge și la WordPress-ul dumneavoastră.
- O parolă de bază de date scursă, de exemplu printr-o copie a fișierului wp-config.php aflată în folderul web (lecția 1.3).
- Formulare fără verificare care sunt folosite abuziv pentru a trimite spam.
La un furnizor de găzduire bun, pachetul dumneavoastră este izolat de cele ale altor clienți de pe același server (la serverele DirectAdmin cu CloudLinux, de exemplu prin CageFS). Ce se întâmplă în interiorul propriului dumneavoastră pachet rămâne însă responsabilitatea dumneavoastră.
Ce observați (și ce nu)
Un atac bine executat nu se observă inițial. Atacatorii vor să folosească site-ul dumneavoastră cât mai mult timp posibil. Semnale (lecția 7.5 revine asupra lor):
- Google afișează „Acest site poate fi compromis” sau vedeți pagini ciudate ale domeniului dumneavoastră în rezultatele căutării (căutați de exemplu
site:example.com); - vizitatorii raportează că ajung altundeva;
- apar administratori sau fișiere pe care nu le recunoașteți;
- furnizorul dumneavoastră de găzduire sau un scaner de malware semnalează ceva;
- e-mailurile dumneavoastră nu mai ajung brusc la destinație sau pachetul este plin ori lent.
Apărare pe mai multe niveluri
Nicio măsură nu este infailibilă. Securitatea este o acumulare de niveluri, astfel încât o greșeală dintr-un nivel să nu deschidă imediat totul:
- Actualizarea (lecția 7.2): închide breșele cunoscute. De departe cel mai important.
- Puține componente (lecțiile 5.3 și 5.4): mai puțin de actualizat, mai puține breșe.
- Protejarea autentificării (lecția 7.3): parole lungi și unice, autentificare în doi pași, drepturi minime (lecția 3.3).
- Întărirea securității (hardening) (lecția 7.4): drepturi, setări și antete HTTP care limitează daunele.
- Copii de siguranță (lecția 8.1): dacă totuși ceva merge prost, vă puteți întoarce.
- Să știți ce faceți atunci când ceva merge prost (lecția 7.5).
Rezumat
- Aproape toate atacurile sunt automate și nu vizează pe cineva anume; site-urile mici sunt la fel de vizate.
- Atacatorii vor ce poate face site-ul dumneavoastră: spam, redirecționare, phishing, e-mail, putere de calcul, date.
- Cea mai mare intrare este o breșă cunoscută într-un modul (plugin) sau o temă pentru care exista deja o actualizare (în 2024, 96% dintre vulnerabilitățile noi se aflau în module/pluginuri).
- A doua intrare sunt parolele: refolosite, ghicite sau obținute prin phishing.
- Și un calculator infectat, FTP obișnuit sau un site vechi uitat în același pachet pot fi intrarea. Apărați-vă pe mai multe niveluri.
Test (quiz)
Exercițiu
Exercițiu D7.1: Propria dumneavoastră listă de riscuri. Realizați o listă cu tot ce se află în pachetul dumneavoastră de găzduire și ar putea fi o intrare: fiecare instalare WordPress (inclusiv site-uri de test și site-uri vechi), fiecare modul (plugin) și fiecare temă (chiar și inactivă), fiecare cont cu drepturi de administrator (WordPress, FTP, panoul de găzduire) și calculatoarele de pe care se face autentificarea. Notați pentru fiecare element: când a fost actualizat ultima dată, dacă mai este necesar (da/nu) și cine este responsabil. Bifați care trei lucruri le veți curăța sau actualiza săptămâna aceasta și notați de ce anume acelea.
Exercițiul D7.1: Propria dumneavoastră listă de riscuri
Acest exercițiu îl faceți singur; nimeni nu îl verifică. Bifați ce ați făcut și marcați exercițiul ca finalizat.
Menționați cel puțin o componentă din afara WordPress-ului propriu-zis (panoul de găzduire, contul FTP, calculatorul dumneavoastră) și alegeți acțiuni care închid o cale de acces: ștergerea a ceea ce nu folosiți, actualizarea, înlocuirea parolelor, activarea autentificării în doi pași (2FA).
Bifele și notițele dumneavoastră rămân doar în acest browser; nu le trimitem nicăieri. Dacă sunteți autentificat, păstrăm în Cursurile mele doar faptul că ați finalizat exercițiul.
Lecturi suplimentare
Aceste articole descriu pașii din panourile WebOké; în alte panouri funcționează similar.
- Ajutor! Site-ul meu a fost spart. Cum pot rezolva sau preveni acest lucru?
- Manual DirectAdmin 18.2: Site-ul meu a fost spart (hackuit): plan de acțiune
- State of WordPress Security in 2025 (Patchstack, în engleză): https://patchstack.com/whitepaper/state-of-wordpress-security-in-2025/
- Securitatea WordPress (developer.wordpress.org, în engleză): https://developer.wordpress.org/advanced-administration/security/hardening/
