Cum să curățați un site sau un blog WordPress piratat
Publicat: 2021-02-16Indiferent dacă site-ul dvs. WordPress a fost piratat și aveți în prezent controlul daunelor sau dacă vă pregătiți pentru ce este mai rău, acest articol vă va ghida prin procesul de curățare a unui site WordPress piratat. Procesul este documentat într-un format ușor de urmat pas cu pas pentru a vă ajuta să realizați următoarele:
- Obțineți controlul asupra site-ului dvs. WordPress
- Identificați sursa probabilă a infecției
- Găsiți infecția și codul rău intenționat
- Eliminați orice malware, ușile din spate și shell-urile web
- Eliminați domeniul dvs. din toate listele de programe malware, cum ar fi baza de date Google Safe Browsing
- Preveniți reapariția
Site-ul dvs. WordPress piratat este într-adevăr piratat?
Uneori este destul de clar când un site WordPress a fost spart, de exemplu, dacă site-ul dvs. a fost deteriorat. În alte cazuri, s-ar putea să nu fie atât de clar. Înainte de a începe un proces de curățare WordPress, confirmați că site-ul dvs. WordPress a fost efectiv piratat și că nu este o problemă tehnică fără legătură. Citiți articolul despre cum să verificați dacă WordPress-ul meu este piratat pentru a determina dacă site-ul sau blogul dvs. au fost piratați sau nu.
Obțineți controlul înapoi
Revenirea controlului începe în funcție de cât de mult acces ați pierdut ca urmare a unui atac. De exemplu, la obținerea accesului la un server, un atacator poate roti acreditările pentru a bloca utilizatorii legitimi să acceseze serverul sau poate că poate schimba parola de administrator WordPress pentru a împiedica un administrator WordPress să se conecteze.
Deși acest lucru va depinde foarte mult de configurația dvs., furnizorul dvs. de găzduire va putea, cel mai probabil, să vă ajute la recuperarea accesului la un mediu de găzduire partajat sau la un server privat virtual (VPS) care rulează site-ul dvs. Dacă ați pierdut accesul la administratorul WordPress, urmați ghidul oficial WordPress pentru resetarea parolei de administrator.
Faceți o copie de rezervă
Chiar dacă aveți o soluție de backup WordPress, faceți o copie de rezervă a site-ului WordPress actual. Efectuarea unui backup WordPress în această etapă este foarte importantă din mai multe motive, inclusiv următoarele.
- O copie de rezervă vă permite să analizați infecția într-o etapă ulterioară,
- Unii furnizori de găzduire pot recurge la ștergerea site-urilor web piratate ca măsură de precauție pentru a preveni răspândirea de programe malware sau spam - în funcție de furnizorul dvs. de găzduire, acest lucru se poate întâmpla fără avertisment,
- Dacă nu aveți o strategie de backup în prezent, este posibil să puteți salva o parte din conținutul site-ului web din această copie de rezervă înainte ca lucrurile să se înrăutățească.
În plus, dacă rulați WordPress pe un server privat virtual (VPS), luați în considerare realizarea unui instantaneu al întregii mașini virtuale, dacă este posibil (rețineți că acest lucru este de obicei asociat cu un cost suplimentar). Când faceți instantanee, rețineți că, dacă utilizați volume externe pentru a vă găzdui instalarea WordPress (de exemplu, spațiul de stocare atașat la rețea), ar trebui să luați și o copie a oricăror volume care stochează instalarea principală WordPress, wp-content , baza de date MySQL. , precum și orice acces la server web și jurnalele de erori.
Restaurare dintr-o copie de rezervă
Dacă aveți o strategie de rezervă, acum este momentul să o puneți în acțiune. Presupunând că aveți acces la o copie de rezervă recentă, restaurarea poate fi cea mai rapidă modalitate de a vă reîntoarce online; totuși, nu faceți greșeli, în timp ce restaurarea dintr-o copie de rezervă a site-ului dvs. WordPress poate elimina o infecție și vă permite să fiți operațional din nou, nu rezolvă de ce ai fost piratat în primul rând.
Dacă site-ul dvs. WordPress a fost spart ca urmare a unei vulnerabilități exploatate sau a unui defect de securitate, este un pas esențial următor să încercați din greu să vă dați seama ce s-a întâmplat (dacă este posibil).
Ce se întâmplă dacă nu am o copie de rezervă sau nu îmi pot restabili backupul cu succes?
Dacă nu aveți o copie de rezervă, o puteți restaura cu succes, în funcție de gravitatea situației, este posibil să doriți să puneți site-ul dvs. WordPress în modul de întreținere pentru a vă permite să lucrați la restaurarea site-ului dvs., informând vizitatorii că ar trebui să revină mai târziu. Între timp, continuați să urmați restul acestui ghid. Punând site-ul dvs. în modul de întreținere, prin utilizarea wp_maintenance() 1 Funcție, WordPress va returna un cod de stare HTTP 503. O stare 503 indică Google și altor crawler-uri că ceva a mers prost pe pagină și ar trebui să verifice mai târziu.
Un răspuns HTTP 503 este important pentru SEO, deoarece va preveni deteriorarea clasamentului dvs. de căutare în cazul în care site-ul dvs. web este temporar oprit. Pentru mai multe informații despre codul de stare HTTP 503 și importanța acestuia în SEO, consultați articolul Yoast pe acest subiect.
Identificați cum a fost piratat WordPress
Odată ce site-ul dvs. este copiat, următorul lucru pe ordinea de zi este să aflați cât mai multe despre ceea ce s-a întâmplat, adică ce slăbiciune de securitate a exploatat atacatorul pentru a obține acces la instalarea dvs. WordPress.
Verificarea jurnalelor de activitate, serverului web și serverului FTP
Dacă păstrați un jurnal de activitate WordPress, acesta ar putea fi cel mai bun loc de unde să începeți analiza. Vedeți dacă puteți identifica vreun comportament suspect. Căutați evenimente ale utilizatorilor nou creați sau modificări ale parolei utilizatorului. De asemenea, verificați dacă au fost modificate WordPress, pluginuri sau fișiere temă.
De asemenea, ar trebui să aruncați o privire la serverul web, serverul FTP și fișierele jurnal ale sistemului de operare pentru comportament neobișnuit sau suspect. Deși acesta poate fi un proces oarecum copleșitor, veți dori să începeți prin a verifica dacă există trafic ciudat care vine de la o singură adresă IP. Puteți face acest lucru folosind o varietate de scripturi de shell utilitare și o linie. Pentru o vizualizare în timp real a jurnalelor serverului dvs. web, GoAccess poate fi util.
Pluginuri și teme WordPress neutilizate și învechite
Verificați lista pluginurilor instalate, atât din tabloul de bord WordPress, cât și în directorul /wp-content/plugins/ . Sunt folosite toate pluginurile WordPress? Sunt toate la zi? Verificați temele și directorul de teme /wp-content/themes/ . Ar trebui să aveți o singură temă instalată, cea pe care o utilizați. Dacă utilizați o temă copil, veți avea două directoare.
Cod WordPress și instalări neutilizate
Codul rămas și neutilizat este o altă problemă comună. Uneori, dezvoltatorii și administratorii de sistem actualizează fișierele direct pe server și fac o copie de rezervă a fișierului original cu o extensie precum .old , .orig sau .bak . Atacatorii profită frecvent de această practică proastă, iar instrumentele pentru a căuta astfel de fișiere de rezervă sunt disponibile pe scară largă și ușor.
Modul în care funcționează este de către un atacator care încearcă să acceseze fișiere precum index.php.old . De obicei, fișierele .php sunt configurate pentru a fi executate de interpretul PHP, dar prin adăugarea unei extensii .old (sau alta) la sfârșitul fișierului face ca serverul web să transmită fișierul utilizatorului. Pur și simplu fiind capabil să ghicească numele unui fișier de rezervă, un atacator poate fi capabil să descarce codul sursă care poate conține informații sensibile sau poate oferi atacatorului indicii despre ce să exploateze.
O problemă similară este păstrarea instalărilor vechi ale WordPress. Când administratorii de sistem își reconstruiesc site-urile web, uneori lasă copii ale vechilor instalări WordPress într-un subdirector /vechi/ . Aceste instalări vechi ale WordPress ar fi de obicei încă accesibile pe internet și, prin urmare, o țintă suculentă pentru un atacator pentru a exploata vulnerabilitățile cunoscute din versiunile vechi de WordPress împreună cu orice plugin.
Este recomandabil să eliminați orice cod neutilizat, instalări WordPress, pluginuri WordPress, teme WordPress și orice alte fișiere vechi sau nefolosite (rețineți că puteți oricând să apelați la backup dacă aveți nevoie să restaurați ceva pe care l-ați șters accidental). Site-ul dvs. ar trebui să conțină numai fișierele de care aveți nevoie. Orice altceva care este suplimentar sau nefolosit trebuie tratat ca o suprafață de atac suplimentară.
Utilizatori și roluri WordPress
Verificați dacă toți utilizatorii WordPress sunt utilizați. Există unele noi suspecte? Verificați dacă toate rolurile sunt intacte. Dacă urmați regulile privind utilizatorii și rolurile WordPress, ar trebui să aveți un singur utilizator cu rol de administrator WordPress.
Furnizori de găzduire partajată
Dacă WordPress-ul tău rulează pe un furnizor de găzduire partajată, sursa hack-ului ar putea fi un alt site web care se întâmplă să ruleze pe același server ca al tău. În acest caz, scenariul cel mai probabil ar fi ca atacatorul să fi reușit să-și escaladeze privilegiile. Apoi, în consecință, obțineți acces la întregul server și, la rândul său, la site-ul dvs. WordPress. Dacă bănuiți că un astfel de atac a avut loc, cea mai bună soluție ar fi să luați imediat legătura cu furnizorul dvs. de găzduire, după ce ați făcut o copie de rezervă a site-ului.
fișiere .htaccess
Fișierele .htaccess (fișierele de configurare Apache HTTP Server la nivel de director) sunt, de asemenea, o țintă comună pentru hackeri. Acestea sunt de obicei folosite pentru a redirecționa utilizatorii către alte site-uri web de tip spam, phishing sau rău intenționat. Verificați toate fișierele .htaccess de pe serverul dvs., chiar și cele care nu sunt utilizate de WordPress. Unele dintre redirecționări pot fi dificil de identificat.
Acordați o atenție deosebită configurației care redirecționează solicitările HTTP pe baza unor șiruri specifice de User Agent – atacatorii pot viza anumite dispozitive (de exemplu, utilizatorii de telefonie mobilă) sau chiar se pot implica în black hat SEO prin configurarea serverului dvs. web pentru a răspunde diferit la crawlerele motoarelor de căutare.
Dacă este posibil, luați în considerare adoptarea unei configurații globale, spre deosebire de a vă baza pe fișierele .htaccess din Apache HTTP Server. Nu numai că fișierele .htaccess degradează performanța, dar vă deschid site-ul WordPress la o varietate de vulnerabilități de securitate dacă un atacator este vreodată în măsură să citească sau, cel mai rău, să scrie conținutul acestor fișiere. Conform documentației Apache HTTP Server 2 , utilizarea fișierelor .htaccess poate fi dezactivată complet prin setarea directivei AllowOverride la niciunul în fișierul principal httpd.conf .
Verificarea altor puncte de intrare
Există câteva alte puncte de intrări pe un server web. Asigurați-vă că le verificați pe toate, cum ar fi serverele FTP, SSH, serverul web etc.
Găsiți infecția WordPress și codul rău intenționat
Înainte de a începe : un hack WordPress implică de obicei inserarea de cod într-o temă, plugin sau fișier de bază WordPress. Prin urmare, pentru a continua cu o curățare, ar trebui să vă simțiți confortabil cu modificarea codului. Dacă nu ești, angajează profesioniști în securitate WordPress.
Odată ce identificați punctul de intrare al hackerilor, de obicei este relativ ușor să găsiți infecția. Deși în cazul în care nu ați găsit încă infecția, există mai multe metode pe care le puteți utiliza pentru a găsi infecția. Iată câteva.
Se verifică ce fișiere au fost modificate în ultimele zile
În mod ideal, ar trebui să utilizați un plugin pentru monitorizarea fișierelor WordPress care monitorizează fișierele din instalația dvs. WordPress pentru modificări și vă alertează imediat. Dacă nu aveți un plugin de monitorizare a integrității fișierelor (FIM), va trebui să căutați manual modificările fișierelor.
Dacă aveți acces SSH la serverul dvs., verificați ce fișiere de pe site-ul dvs. WordPress s-au schimbat recent. De obicei, ar fi recomandabil să începeți să căutați modificări în ultimele cinci zile de la observarea hack-ului, extinzându-vă căutarea după cum este necesar. Pentru a face acest lucru, navigați la directorul în care se află site-ul dvs. WordPress și utilizați comanda find.
find .mtime -5 –ls
Comanda de mai sus listează (-ls) toate fișierele care au fost modificate (.mtime) în ultimele cinci zile (-5). Dacă lista este prea lungă, utilizați mai puțin pager pentru a răsfoi și a căuta prin listă cu mai multă ușurință.
find .mtime -5 –ls | less
Dacă ați actualizat recent un plugin sau o temă, orice modificări legate de fișiere vor apărea în rezultatele căutării. Jurnalele, fișierele de depanare sunt, de asemenea, actualizate frecvent, așa că vor apărea și în rezultatele dvs. Ca rezultat, este posibil să trebuiască să faceți o filtrare extinsă a rezultatelor pentru a găsi modificările de interes ale fișierelor. Rețineți că pluginurile specializate, cum ar fi pluginul WordPress File Changes Monitor pentru WordPress, sunt concepute special pentru a elimina astfel de fals pozitive pentru dvs. în mod automat. Pluginul este creat în mod intenționat pentru WordPress și poate identifica o modificare a fișierului dintr-un nucleu WordPress, un plugin sau actualizări de temă, instalarea sau dezinstalarea.
Verificarea tuturor fișierelor HTML
În WordPress există foarte puține fișiere HTML și hackerilor le place să profite de ele. Căutați prin site-ul dvs. web toate fișierele HTML și analizați conținutul acestora. Asigurați-vă că toate fișierele HTML pe care le aveți pe site-ul dvs. sunt legitime și că știți pentru ce sunt folosite.
O modalitate ușoară de a lista toate fișierele HTML din directorul (și subdirectoarele) WordPress este să utilizați următoarea comandă.
find . -type f -name '*.html'
Se caută text de infecție
Dacă site-ul dvs. a fost deteriorat sau un text apare pe site-ul dvs. ca urmare a infecției, căutați-l cu instrumentul grep. De exemplu, dacă ați văzut textul „piratat de”, navigați la directorul rădăcină al site-ului web și lansați următoarea comandă.
grep –Ril "hacked by"
Comanda de mai sus va returna o listă de fișiere care includ conținutul „piratat de”. Odată ce aveți lista de fișiere infectate, puteți analiza codul și elimina infecția.
Ce înseamnă comutatoarele grep?
- -R indică grep pentru a căuta recursiv (căutări prin întreaga structură de directoare, inclusiv toate subdirectoarele și legăturile simbolice).
- -i indică lui grep că căutarea ar trebui să nu țină seama de majuscule (adică să ignore scrierea cu majuscule a termenului de căutare). Acest lucru este foarte important în mediile Linux/Unix, deoarece, spre deosebire de Windows, sistemele de fișiere Linux sunt sensibile la majuscule și minuscule.
- -l indică lui grep că ar trebui să returneze numele fișierului, mai degrabă decât conținutul fișierului. Când site-ul dvs. WordPress este spart, acesta este un alt cod rău intenționat de căutat.
În afară de șirul evident „piratat de”, mai jos este o listă de coduri și fraze de text care sunt utilizate de obicei în site-urile WordPress piratate. Puteți folosi instrumentul grep pentru a căuta următoarele:
- base64_decode
- este_admin
- eval
- gzuncompress
- trece prin
- exec
- shell_exec
- afirma
- str_rot13
- sistem
- phpinfo
- chmod
- mkdir
- fopen
- fclose
- readfile
O modalitate rapidă de a realiza acest lucru folosind grep este prin următoarea comandă grep, care caută fișiere în mod recursiv (urmează orice linkuri simbolice), caută șirurile care se potrivesc cu expresia regulată PCRE specificată 3 și returnează potrivirea textului, precum și numărul liniei în care a avut loc potrivirea.
grep -RPn "(base64_decode|is_admin|eval|gzuncompress|passthru|exec|shell_exec|assert|str_rot13|system|phpinfo|chmod|mkdir|fopen|fclose|readfile) *\("
NOTĂ : O parte din acest cod poate fi folosit și în codul legitim, așa că analizați codul în mod corespunzător și înțelegeți cum este utilizat înainte de a semnala ceva ca infecție sau hack.
Comparați fișierele cu o instalare WordPress originală
Aceasta este o metodă de școală veche și, deși este oarecum consumatoare de timp, face minuni. Comparați fișierele site-ului dvs. web cu cele ale unui site web nemodificat. Prin urmare, dacă aveți o copie de rezervă a site-ului dvs., comparați site-ul modificat. Dacă nu, instalați o nouă copie a WordPress și a pluginurilor pe care le aveți pe site-ul web infectat pe o altă gazdă și comparați-le.
Există mai multe instrumente pe care le puteți folosi pentru a compara fișiere. În acest exemplu, folosim un instrument comercial numit Beyond Compare, deși există mai multe alternative gratuite. Mai jos sunt câteva capturi de ecran ale unui exemplu de comparație.
La compararea directoarelor rădăcină a două site-uri web WordPress, instrumentul evidențiază diferența de conținut al fișierului index.php , noile fișiere .htaccess și wp-config.php și diferențele în subdirectoare.
Făcând dublu clic pe fișierul index.php putem vedea care sunt diferențele.
Ce să cauți într-o comparație de fișiere WordPress?
Căutați fișiere care nu fac parte din nucleul WordPress. Majoritatea infecțiilor adaugă fișiere la rădăcina instalării WordPress sau în directorul wp-content . Dacă hack-ul este rezultatul unui plugin vulnerabil, este posibil ca fișierele pluginului să fi fost modificate.
Curățați hack-ul WordPress
Este timpul să începeți curățarea urmând procedura de mai jos, odată ce cunoașteți sursa hack-ului WordPress și ați găsit infecția.
Găsirea automată a infecției cu un serviciu WordPress
Dacă cele de mai sus vi se pare prea greu de gestionat, nu disperați. Există mai multe servicii de securitate și pluginuri WordPress pe care le puteți utiliza pentru a vă scana site-ul web pentru malware și alte infecții. Vă recomandăm serviciile de securitate WordPress Malcare.
Totuși, rețineți că astfel de pluginuri au o listă limitată de semnături de malware pe care le caută. Ca atare, dacă atacul care a afectat site-ul dvs. WordPress nu este la fel de comun, aceste plugin-uri ar putea să nu identifice infecția. Nu este neobișnuit să primim feedback de la administratorii WordPress al căror site web WordPress a căzut victima unui atac conform căruia pluginurile malware WordPress nu au identificat nimic greșit.
Concluzia aici este că controalele eficiente de securitate implică mai multe straturi de apărare și de detectare. În timp ce analiza manuală este aproape întotdeauna cea mai bună cale de urmat atunci când o puteți face; Nici aceste plugin-uri nu trebuie subestimate – ele pot fi încă folosite și vor fi utile la un moment dat.
Restaurarea WordPress din backup
Dacă aveți o copie de rezervă a site-ului sau blogului dvs. WordPress, restaurați-l. Este întotdeauna mult mai ușor decât curățarea manuală a codului.
Schimbarea tuturor parolelor, ștergerea utilizatorilor neutilizați și verificarea rolurilor utilizatorilor WordPress
Schimbați toate parolele tuturor utilizatorilor și serviciilor dvs., inclusiv WordPress, CPanel, MySQL, FTP și propriul computer personal. Verificați lista de utilizatori de pe FTP, WordPress, MySQL și orice alt serviciu pentru a confirma că toți utilizatorii sunt legitimi. Dacă există utilizatori care nu mai sunt utilizați, ștergeți-i. Verificați dacă toți utilizatorii WordPress au rolurile și permisiunile corecte.
Actualizarea nucleului WordPress, a pluginurilor, a temelor și a altor software-uri
Asigurați-vă că rulați cea mai recentă versiune a tuturor software-ului necesar pentru a rula site-ul dvs. WordPress. Acest lucru nu se limitează doar la WordPress în sine, ci se extinde și la orice pluginuri, teme, precum și patch-uri ale sistemului de operare, PHP, MySQL și server web (de exemplu Apache HTTP Server sau Nginx) și orice server FTP pe care este posibil să îl rulați.
Faceți backup pentru site-ul dvs. WordPress
Odată ajuns în această etapă, înainte de a elimina codul infectat real, faceți o copie de rezervă a site-ului dvs. WordPress.
Eliminați alerta de malware Google Safe Browsing
Dacă site-ul dvs. web a fost refuzat de Navigarea sigură Google, puteți solicita o examinare de securitate pentru a elimina alerta.
Odată ce eliminați hack-ul WordPress...
Felicitări, ți-ai recuperat site-ul WordPress dintr-un hack. Acum trebuie să vă asigurați că nu se va întâmpla din nou. Iată câteva sfaturi despre ce ar trebui să faci:
- Instalați un plugin pentru jurnalul de activități WordPress pentru a urmări tot ceea ce se întâmplă pe site-ul dvs. WordPress.
- Dacă nu aveți o soluție de rezervă, obțineți una.
- Utilizați un serviciu de scanare de securitate WordPress.
- Rotiți bazele de date și parolele de administrator și forțați securitatea puternică a parolelor WordPress.
- Țineți întotdeauna actualizate WordPress, pluginurile WordPress, temele și orice alt software pe care îl utilizați.
- Eliminați orice fișiere neutilizate, cum ar fi vechile instalări WordPress, pluginurile și temele WordPress neutilizate (inclusiv temele WordPress implicite neutilizate). Componentele și software-ul neutilizate adaugă suprafață de atac inutilă și, în mod ideal, ar trebui eliminate.
- Urmați ghidul nostru de consolidare a securității WordPress pentru a vă asigura că vă ocupați de fiecare posibilă problemă de securitate de pe site-ul dvs.