Discovering that your website has been compromised can be stressful. You may notice unexpected redirects, security warnings in browsers, unusual files on the server, spam being sent from your account, or alerts from search engines and security tools.
SSH access provides a powerful way to investigate suspicious activity, identify modified files, and restore a website to a healthy state. This guide explains common investigation techniques and best practices for cleaning an infected website.
Table of Contents
Step 1: Secure Access to Your Account
Înainte de a efectua orice modificare, asigurați-vă că toate punctele de acces la cont sunt securizate.
Luați în considerare actualizarea:
- Parolele contului de găzduire
- Parolele FTP și SFTP
- Datele de autentificare SSH
- Parolele bazei de date
- Conturile de administrator CMS
Dacă mai mulți utilizatori au acces la cont, verificați și eliminați orice conturi care nu mai sunt necesare.
Pasul 2: Creați o copie de rezervă
Înainte de a șterge fișiere sau de a efectua modificări, creați o copie de rezervă a site-ului web actual.
Chiar dacă site-ul web este infectat, o copie de rezervă vă poate ajuta să recuperați datele importante în cazul în care ceva este șters accidental în timpul procesului de curățare.
Exemplu de comandă:
tar -czf emergency_backup.tar.gz public_html/
Salvați copia de rezervă într-un loc sigur înainte de a continua.
Pasul 3: Căutați fișierele modificate recent
Multe atacuri asupra site-urilor web implică crearea sau modificarea fișierelor.
Puteți identifica fișierele modificate recent folosind:
find . -type f -mtime -7
Această comandă afișează fișierele modificate în ultimele șapte zile.
Pentru a vă concentra doar pe fișierele PHP:
find . -type f -name "*.php" -mtime -2
Acordați o atenție deosebită:
- Directoarele de încărcare
- Directoarele de cache
- Dosarele temporare
- Fișiere necunoscute cu nume aleatorii
Fișierele executabile din directoarele de încărcare a fișierelor media merită adesea o investigație suplimentară.
Pasul 4: Căutați cod suspect
Scripturile rău intenționate conțin adesea funcții care pot executa cod ascuns sau manipula procesele serverului.
Puteți căuta funcțiile frecvent utilizate în scopuri rău intenționate:
grep -rnw . --include=\*.php -e 'base64_decode'
grep -rnw . --include=\*.php -e 'eval('
grep -rnw . --include=\*.php -e 'shell_exec'
Găsirea acestor funcții nu înseamnă automat că un fișier este rău intenționat. Unele aplicații și pluginuri legitime le utilizează.
Verificați întotdeauna codul din jur înainte de a lua decizii.
Pasul 5: Restabiliți fișierele de bază ale aplicației
Dacă site-ul dvs. utilizează un sistem popular de gestionare a conținutului, precum WordPress, Joomla sau PrestaShop, restaurarea fișierelor originale ale aplicației este adesea mai sigură decât încercarea de a curăța manual fiecare fișier modificat.
O abordare obișnuită este:
- Descărcați o copie curată de la furnizorul oficial.
- Înlocuiți fișierele de bază ale aplicației.
- Păstrați fișierele de configurare și conținutul generat de utilizatori.
- Verificați funcționalitatea după înlocuire.
Urmați întotdeauna procedurile oficiale de actualizare și recuperare furnizate de furnizorul de software.
Pasul 6: Verificați temele, pluginurile și extensiile
Multe compromiteri au la origine pluginuri, teme sau extensii terțe învechite.
Verificați toate componentele instalate și:
- Eliminați tot ce nu se utilizează
- Actualizați extensiile pentru care există suport
- Reinstalați componentele suspecte din surse oficiale
- Înlocuiți software-ul abandonat cu alternative întreținute activ
Dacă nu puteți verifica integritatea unui plugin sau a unei teme, reinstalarea acestuia din sursa oficială este adesea cea mai sigură opțiune.
Pasul 7: Verificați directorul "Uploads"
În mod normal, directoarele "Media" ar trebui să conțină fișiere precum:
- Imagini
- Documente
- Videoclipuri
- Fișiere audio
Căutați scripturi executabile:
find wp-content/uploads/ -type f -name "*.php"
Locația exactă va varia în funcție de aplicația dvs.
Fișierele executabile neașteptate din directoarele media trebuie investigate cu atenție.
Pasul 8: Verificați fișierele jurnal
Jurnalele serverului și ale aplicației oferă adesea informații valoroase despre modul în care a avut loc compromiterea.
Căutați:
- Încercări eșuate de autentificare
- Acțiuni administrative neașteptate
- Încărcări de fișiere de la adrese IP necunoscute
- Solicitări repetate către scripturi vulnerabile
Fișierele de jurnal de dimensiuni mari pot, de asemenea, să ocupe un spațiu de stocare semnificativ.
Pasul 9: Verificați conținutul bazei de date
Compromiterea site-urilor web nu afectează întotdeauna fișierele. Uneori, atacatorii injectează conținut rău intenționat direct în baza de date.
Verificați:
- Conturi de administrator
- Setări ale site-ului web
- Configurații de redirecționare
- Scripturi stocate sau cod încorporat
Eliminați orice utilizatori, setări sau conținut pe care nu îl puteți identifica.
Pasul 10: Actualizați și securizați site-ul web
Odată ce site-ul web a fost curățat:
- Actualizați CMS-ul la cea mai recentă versiune
- Actualizați pluginurile și temele
- Activați autentificarea în doi pași, acolo unde este disponibilă
- Eliminați software-ul neutilizat
- Folosiți parole puternice
- Activați actualizările automate, atunci când este posibil
Întreținerea regulată reduce semnificativ riscul unor compromiteri viitoare.
Rezumat
Curățarea unui site web compromis necesită o abordare metodică. Începeți prin securizarea accesului, crearea de copii de rezervă și identificarea fișierelor modificate. Restaurați fișierele de aplicații de încredere, verificați pluginurile și temele, inspectați jurnalele și bazele de date și asigurați-vă că toate programele sunt complet actualizate.
Dacă nu puteți determina sursa compromiterii sau bănuiți că infecția este încă activă, luați în considerare restaurarea dintr-o copie de rezervă cunoscută ca fiind curată sau consultați un specialist în securitate pentru un audit complet.