Fiecare webmaster care descoperă cod rău intenționat pe site-ul său primește o mulțime de experiențe nu tocmai plăcute. Proprietarul site-ului imediat, în panică, încearcă să găsească și să distrugă virusul și să înțeleagă cum acest lucru urât ar putea ajunge pe site-ul său. Dar, după cum arată practica, găsirea unui cod rău intenționat pe un site web nu este atât de ușoară. La urma urmei, un virus poate fi înregistrat într-unul sau mai multe fișiere, dintre care un număr mare alcătuiește un site web, fie că acesta este un motor care rulează pe WordPress sau un site web html obișnuit.

Ieri, în timp ce îmi verificam e-mailul, am descoperit o scrisoare de la Google în care se spunea că vizitarea anumitor pagini ale site-ului meu ar putea duce la infectarea computerelor utilizatorilor cu malware. Acum, utilizatorilor care accesează aceste pagini prin link-uri în rezultatele căutării Google.ru li se afișează o pagină de avertizare. Acest site nu a fost adăugat la Google Webmaster Panel, așa că am fost anunțat prin e-mail. Mai aveam câteva site-uri în panoul pentru webmasteri; când am fost acolo, am fost îngrozit să văd un avertisment despre cod rău intenționat pe încă două dintre site-urile mele.
Drept urmare, pe trei dintre site-urile mele s-a instalat un cod rău intenționat, pe care a trebuit să le găsesc și să le distrug. Unul dintre site-uri rula pe WordPress, celelalte două constau în pagini PHP obișnuite.

Este de remarcat faptul că Google a reacționat mult mai rapid decât Yandex la prezența codului rău intenționat. În panoul pentru webmasteri Yandex, nu a apărut un avertisment despre prezența unui virus pe site. Din fericire, în câteva ore am reușit să găsesc acest virus nefericit.

De regulă, cel mai adesea site-urile sunt infectate de așa-numitul virus iframe. În esență, acest virus constă din cod... . Virusul fură toate parolele de la Total Commander sau alt client ftp. În cazul meu, s-a întâmplat același lucru; codul iframe a fost scris în câteva zeci de fișiere de pe site-ul meu. Pe site, care rula pe WordPress, codul rău intenționat a reușit să se instaleze doar în footer.php.

Și așa, cum să găsiți cod rău intenționat dacă descoperiți că site-ul dvs. este infectat:

1. Accesați panoul de control al găzduirii și schimbați-vă parola. Dacă aveți mai multe site-uri, atunci facem acest lucru cu toate site-urile noastre.

2. Schimbați și ștergeți parolele din clientul ftp. Nu mai stocăm parolele în clienții ftp; le introducem întotdeauna manual.

3. Puteți merge la găzduire prin ftp și puteți vedea ce s-a schimbat în fișierele dvs. Sortați fișierele după data ultimei modificări. Acele fișiere care sunt infectate trebuie să aibă cea mai recentă și aceeași dată. Deschideți aceste fișiere și căutați codul iframe, de obicei acest cod se află la sfârșit. Practic, codul rău intenționat este scris în următoarele fișiere: index.php, index.html și fișiere cu extensia .js. Adesea, această infecție trăiește între etichete... .
Pentru site-urile auto-scrise, uitați-vă cu mare atenție la toate fișierele și folderele de scripturi; virusul este adesea scris acolo. De asemenea, habitatul preferat al acestui virus este in codurile de contra pentru site, si in codurile de publicitate.

4. Verificați fișierul .htaccess pentru cod suspect. Uneori, cod rău intenționat pătrunde în acest fișier. De obicei, există mai multe directoare în fișierele motor în care poate fi localizat fișierul .htaccess. Verificați toate aceste fișiere și asigurați-vă că codul este „curat”.

În ceea ce privește fișierele WordPress sau alt CMS, de regulă, orice CMS este format din multe fișiere și foldere și este foarte dificil să găsești cod rău intenționat în ele. De exemplu, pentru WordPress pot recomanda pluginul TAC. Acest plugin verifică fișierele din toate temele din folderul teme pentru codul terță parte. Dacă TAC găsește cod nedorit, va afișa calea către acest fișier. Astfel, este posibil să se calculeze virusul de mascare.
Descărcați pluginul TAC: wordpress.org

În general, ar trebui să aveți în vedere în mod constant toate acțiunile pe care le-ați efectuat cu fișierele site-ului dvs. Amintiți-vă ce a fost modificat sau adăugat la acest sau acel cod.

Odată ce găsiți și eliminați codul rău intenționat, nu strica să verificați computerul pentru viruși.
Și dacă site-ul dvs. a fost marcat de Google sau Yandx ca fiind infectat, atunci trebuie să trimiteți o solicitare de reverificare prin panoul pentru webmasteri. De regulă, motoarele de căutare ar trebui să elimine toate restricțiile de pe site-ul dvs. în termen de 24 de ore. Nu a durat mult până când Google a procesat cererea mea de reverificare și, după câteva ore, toate restricțiile au fost eliminate de pe site-urile mele.

Este necesară verificarea periodică a site-ului dvs. pentru viruși dăunători; aceasta este prima poruncă a oricărui webmaster care se respectă. Chiar dacă utilizați o temă curată Twenty Eleven, nu este un fapt că de-a lungul timpului nici nu s-a infectat. Acest fenomen poate apărea (și cel mai adesea apare) datorită faptului că motorul WordPress în sine a fost conceput inițial pentru publicarea online. Deci nu strică niciodată să verifici din nou și să faci o copie a site-ului și a bazei de date.

De exemplu, am făcut (după ceva timp, desigur) o concluzie pentru mine - aveți nevoie doar de un hoster bun, iar problemele dvs. cu backup-ul vor dispărea de la sine. Nu trebuie să fac acum backup pentru baze de date sau site-uri web - hosterul face totul pentru mine și automat. În orice moment, dacă doriți, puteți comanda o copie a oricărei secțiuni a blogului dvs. (și nu numai), puteți descărca această copie sau restaura blogul direct din panoul de control. Adică, nu trebuie să descarc o copie de rezervă, totul se întâmplă automat - backup, restaurare etc. Acest lucru este convenabil pentru că pot urmări, nu doar zilnic, ci din oră în oră, când a apărut un virus pe blogul meu și, în consecință, pot lua măsuri pentru a-l elimina.

Voi începe cu vestea bună - cel puțin două plugin-uri pe care le-am folosit dau rezultate bune în detectarea și localizarea codului rău intenționat. Acestea sunt pluginuri AntiVirus și Exploit Scanner. Nu o să crezi cât de mult cod dăunător este pe blogul tău! Dar nu luați toate informațiile rezultate după verificare ca dogme - multe dintre liniile pe care aceste plugin-uri le detectează nu înseamnă de fapt nimic rău. Plugin-ul pune doar la îndoială câteva rânduri, asta-i tot. Pentru a vă asigura de acest lucru, verificați manual acele fragmente pe care pluginul le-a identificat ca fiind rău intenționate. Deci, la verificarea cu pluginul AntiVirus, sa dovedit că chiar și un simplu apel la funcția get_cache_file () este deja considerat suspect de către plugin. Deci, toate rezultatele verificărilor vor trebui urmărite manual. Dar acesta, de exemplu, este o legătură cu adevărat infectată și trebuie eliminată:

De unde știi dacă este un virus sau cum ar trebui să fie? Totul este foarte simplu - comparați șablonul dvs. curat (dacă aveți unul) și comparați-l (fișier cu fișier) cu cel care este instalat și a suferit deja unele modificări. Nu este necesar să faceți o comparație directă, doar utilizați o căutare pentru a verifica dacă șablonul dvs. gol conține linia pe care a evidențiat pluginul. Dacă există, faceți clic pe butonul „Acesta nu este un virus”, iar această linie nu va fi luată în considerare la următoarea scanare.

Și iată un exemplu al celui de-al doilea plugin pe care l-am testat - Exploit Scanner

După cum puteți vedea, totul este mult mai neglijat aici. Pentru mine, acest rezultat a fost șocant. Dar asta nu este tot. Pluginul are o funcție numită verificare. Deci, dacă îl porniți, se dovedește că blogul ar trebui să fie format din text și, cel mult, câteva tabele CSS. Deci, mi se pare că autorul pluginului a exagerat în mod clar cu securitatea aici. Este bine că pluginul arată pur și simplu fragmente suspectate infectate și nu le curăță.

După ce ați analizat toate liniile evidențiate cu galben, puteți detecta cu ușurință malware (cod rău intenționat), ei bine, decideți singur ce să faceți cu el în continuare. Metoda de curățare este în continuare aceeași - comparați codul selectat cu o copie de rezervă a site-ului (vezi) și, dacă găsiți discrepanțe, aflați dacă ați făcut-o singur, sau cineva a făcut-o pentru dvs., ceea ce înseamnă că acest lucru nu mai este bun și se poate dovedi a fi virus. Chiar și dezvoltatorii WordPress recomandă să vă verificați site-ul pentru cod rău intenționat cu acest plugin. Dar există astfel de inserții inofensive, de exemplu, în corpul unui iframe, pe care pluginul le poate identifica și ca cod infectat. Dar, în realitate, fără aceste rânduri, această zonă a blogului tău nu va funcționa corect.

Cum poate malware-ul să intre chiar și în fișierele blog și ce este prin definiție? Cuvântul malware înseamnă literalmente - software rău intenționat, din limba engleză software rău intenționat. Acesta este orice software care poate fi folosit pentru acces neautorizat la site și la conținutul acestuia. Probabil vă imaginați că pentru un hacker obișnuit, piratarea unui site web nu va fi dificilă, mai ales după înregistrare. După aceasta, puteți modifica conținutul blogului după cum doriți - ar fi educațional.

Malware rău intenționat poate fi inserat în pluginuri pe care le instalați dintr-o sursă necunoscută și în scripturi pe care, de asemenea, le luați uneori fără a verifica, dar având încredere în autor. Cel mai inofensiv malware este un link către autorul oricărui modul pe care l-ați instalat pe site. Și dacă autorul însuși nu v-a avertizat că există o astfel de legătură, atunci acesta este un virus pur.

Așadar, am instalat o nouă temă pe un blog de testare și, după ce am șters un link inofensiv către un fel de club pentru bărbați din subsolul site-ului, s-a oprit deloc să se mai deschidă, iar pe pagina principală era o inscripție - „Tu faci nu au dreptul de a șterge link-urile.” Iată o temă gratuită pentru tine. Puteți citi despre cum să rupeți astfel de legături din stânga.

Baza de date poate fi folosită și pentru a rula coduri care conțin viruși. Link-urile spam sunt, de asemenea, foarte des adăugate la postări sau comentarii. Astfel de link-uri sunt de obicei ascunse folosind CSS, astfel încât un administrator fără experiență nu le va vedea, dar motorul de căutare le va recunoaște imediat. Desigur, aici intră în joc orice antispam, de exemplu, același care este licențiat, testat și verificat de multe ori. Un hacker poate descărca fișiere cu extensii de fișiere imagine și le poate adăuga la codul pluginurilor dvs. activate. Prin urmare, chiar dacă fișierul nu are extensie php, codul din acel fișier poate fi executat.

Există un alt instrument simplu cu care am început să fac cunoștință cu malware - pluginul Theme Authenticity Checker (TAC). Acesta este un instrument ușor și destul de eficient, dar vă verifică doar subiectele, chiar și cele inactive. Nu atinge restul directoarelor și acesta este dezavantajul său. Iată ce mi-a dat testarea temei mele actuale cu acest plugin:

Două avertismente în firul activ și nimic mai mult. Nu există cod rău intenționat. Apropo, acestea sunt link-urile pe care le-am introdus eu la sfatul Google - pentru a îmbunătăți calitatea fragmentului (afișarea datelor personale, a adresei organizației etc.). Dar aceasta este doar verificarea fișierelor teme și va trebui să aflați ce se face în alte directoare fie folosind alte plugin-uri, fie servicii online. De exemplu, un serviciu (este cu adevărat de încredere) precum Yandex Webmaster sau unul similar la Google. Au funcția de a verifica orice resursă web pentru prezența incluziunilor rău intenționate și o fac eficient. Dar dacă acest lucru nu este suficient pentru dvs., atunci comparați rezultatele cu rezultatele altor servicii și trageți concluzii.

Din anumite motive, vreau să am încredere în Yandex, nu în pluginuri. O altă resursă bună este http://2ip.ru/site-virus-scanner/. După ce am verificat unul dintre blogurile mele, iată ce am găsit:

De asemenea, aici puteți verifica fișierele individuale pentru coduri rău intenționate dacă aveți îndoieli. În general, serviciul nu este rău.

Din tot ce s-a spus, aș trage următoarele concluzii:

1. Pentru a preveni apariția codului rău intenționat, trebuie în primul rând să utilizați servicii dovedite pentru descărcarea fișierelor - pluginuri, teme etc.

2. Faceți în mod regulat copii de rezervă ale tot ceea ce conține site-ul - baze de date, conținut, panou de administrare, inclusiv fișiere descărcate de la terți.

3. Profită de actualizările oferite de WordPress. Cel puțin nu conțin viruși, deși nu sunt întotdeauna justificați funcțional. Dar prin actualizare, eliminați astfel orice viruși care ar putea fi prezenți.

4. Ștergeți fără regret temele, pluginurile, imaginile și fișierele neutilizate - aceasta este o altă cale de evadare pentru malware despre care s-ar putea să nu ghiciți niciodată.

5. Protejați-vă corect accesările FTP prin parolă, conectați-vă la PhpAdmin, panoul de administrare și, în general, acolo unde nimeni în afară de dvs. ar trebui să aibă acces.

6. Încercați (chiar dacă dorința dvs. este la fel de mare ca cerul) să nu schimbați sau să înlocuiți fișierele de bază WordPress - dezvoltatorii știu mai bine ce ar trebui să funcționeze și cum.

7. După detectarea și eliminarea virușilor, schimbați toate parolele. Cred că veți avea o mare dorință de a face o parolă de 148 de caractere în registre diferite și cu caractere speciale. Dar nu te lăsa dus de parole prea complexe, s-ar putea să le pierzi și atunci va trebui să restabiliți totul, ceea ce nu este foarte plăcut.

Toate aceste metode și componente pe care le-am descris și care vă vor ajuta să scăpați de viruși sunt, desigur, gratuite, desigur, aproape de casă și, bineînțeles, nu oferă o garanție de 100% că site-ul dvs. va fi curățat de malware. inserții. Prin urmare, dacă ești deja preocupat de curățarea blogului tău, atunci este mai bine să contactezi profesioniști, de exemplu, serviciul Sucuri (http://sucuri.net/). Aici site-ul dvs. va fi atent monitorizat, se vor da recomandări practice, care vă vor fi trimise prin scrisoare, iar dacă nu doriți să curățați singur site-ul, atunci specialiștii vă stau la dispoziție care vor face totul în cel mai bun mod posibil. drum in 4 ore:

Ei bine, așa arată blogul meu de testare după monitorizare, și asta în ciuda faptului că alte metode (cultivate acasă) arată întotdeauna rezultate diferite. După cum puteți vedea, testul este gratuit, dar dacă sunt detectați viruși, ar trebui să plătiți pentru a-i elimina fără a dăuna site-ului (cu excepția cazului în care, desigur, sunteți un guru în curățarea blogului dvs. de malware).

Permiteți-mi să subliniez încă o dată - hackerii nu dorm, virușii sunt actualizați în mod constant și este imposibil să urmăriți totul pe cont propriu. Toate inovațiile sunt atât de atent ascunse și deghizate încât doar echipa le poate dezvălui! profesioniști, și nu bloggerul autodidact care sunt mulți. Acesta este motivul pentru care detectarea și eliminarea manuală a malware-ului este atât de ineficientă: nicio experiență înseamnă că nu există rezultate, dar există un virus. Folosiți programe licențiate și încredințați profesioniștilor eliminarea pericolului

Adevărul vieții este că site-ul poate fi spart mai devreme sau mai târziu. După ce a exploatat cu succes vulnerabilitatea, hacker-ul încearcă să pună picior pe site prin plasarea shell-urilor web și a programelor de descărcare a hackerilor în directoarele de sistem și introducerea ușilor secundare în codul de script și baza de date CMS.

Pentru a detecta codul rău intenționat în fișiere și baze de date, există soluții specializate - antivirusuri și scanere pentru găzduire. Nu sunt multe dintre ele; cele populare sunt AI-BOLIT, MalDet (Linux Malware Detector) și ClamAv.

Scanerele ajută la detectarea shell-urilor web încărcate, ușile din spate, paginile de phishing, e-mailurile de spam și alte tipuri de scripturi rău intenționate - tot ceea ce știu și este pre-adăugat la baza de date de semnături de coduri rău intenționate. Unele scanere, cum ar fi AI-BOLIT, au un set de reguli euristice care pot detecta fișiere cu cod suspect, care este adesea folosit în scripturi rău intenționate, sau fișiere cu atribute suspecte care pot fi descărcate de hackeri. Dar, din păcate, chiar dacă pe găzduire sunt folosite mai multe scanere, pot exista situații în care unele scripturi hacker rămân nedetectate, ceea ce înseamnă de fapt că atacatorul rămâne cu o „ușă din spate” și poate sparge site-ul și obține controlul deplin asupra acestuia. în orice moment.moment.

Scripturile moderne de malware și hacker sunt semnificativ diferite de cele de acum 4-5 ani. În prezent, dezvoltatorii de coduri rău intenționate combină ofuscarea, criptarea, descompunerea, încărcarea externă a codului rău intenționat și alte trucuri pentru a păcăli software-ul antivirus. Prin urmare, probabilitatea de a lipsi noile programe malware este mult mai mare decât înainte.

Ce se poate face în acest caz pentru a detecta mai eficient virușii de pe site și scripturile de hacker pe găzduire? Este necesar să se utilizeze o abordare integrată: scanare automată inițială și analiză manuală ulterioară. Acest articol va discuta opțiunile pentru detectarea codului rău intenționat fără scanere.

Mai întâi, să ne uităm la ce anume ar trebui să cauți în timpul unui hack.

  • Scripturi hacker.
    Cel mai adesea, la piratare, fișierele care sunt descărcate sunt shell-uri web, backdoors, „uploaders”, scripturi pentru spam-uri, pagini de phishing + procesoare de formulare, uși și fișiere marcatoare de hacking (imagini din sigla grupului de hackeri, fișiere text cu „mesaj” de la hackeri etc.)
  • Injecții (injecții de cod) în .
    Al doilea cel mai popular tip de găzduire de cod rău intenționat și hacker este injecțiile. Redirecționările mobile și de căutare pot fi injectate în fișierele existente .htaccess ale site-ului, ușile din spate pot fi injectate în script-uri php/perl, iar fragmentele javascript virale sau redirecționările către resurse terțe pot fi încorporate în șabloane .js și .html. Injecțiile sunt posibile și în fișierele media, de exemplu.jpg sau. Adesea, codul rău intenționat constă din mai multe componente: codul rău intenționat în sine este stocat în antetul exif al fișierului jpg și este executat folosind un mic script de control, al cărui cod nu pare suspect pentru scaner.
  • Injecții în baze de date.
    Baza de date este a treia țintă pentru un hacker. Aici, sunt posibile inserții statice, , , , care redirecționează vizitatorii către resurse terțe, îi „spionează” sau infectează computerul/dispozitivul mobil al vizitatorului ca urmare a unui atac de tip drive-by.
    În plus, în multe CMS moderne (IPB, vBulletin, modx, etc.), motoarele de șabloane vă permit să executați cod PHP, iar șabloanele în sine sunt stocate în baza de date, astfel încât codul PHP al shell-urilor web și al ușilor din spate poate fi construit direct în baza de date.
  • Injecții în serviciile de caching.
    Ca rezultat al configurării incorecte sau nesigure a serviciilor de cache, de exemplu, memcached, sunt posibile injecții în datele din cache „din mers”. În unele cazuri, un hacker poate injecta cod rău intenționat în paginile unui site fără a pirata direct site-ul.
  • Injecții/elemente inițiate în componentele sistemului server.
    Dacă un hacker a obținut acces privilegiat (rădăcină) la server, el poate înlocui elemente ale serverului web sau ale serverului de cache cu unele infectate. Un astfel de server web va oferi, pe de o parte, controlul asupra serverului folosind comenzi de control și, pe de altă parte, va introduce din când în când redirecționări dinamice și cod rău intenționat în paginile site-ului. Ca și în cazul unei injecții într-un serviciu de cache, administratorul site-ului nu va putea detecta, cel mai probabil, faptul că site-ul a fost piratat, deoarece toate fișierele și baza de date vor fi originale. Această opțiune este cea mai dificil de tratat.
  • Deci, să presupunem că ați verificat deja fișierele de pe găzduire și dump-ul bazei de date cu scanere, dar nu au găsit nimic, iar virusul este încă pe pagină sau redirecționarea mobilă continuă să funcționeze la deschiderea paginilor. Cum să caut mai departe?

    Căutare manuală

    Pe Unix, este greu să găsești o pereche de comenzi mai valoroasă pentru a găsi fișiere și fragmente decât find/grep.

    găsi . -nume ‘*.ph*’ -mtime -7

    va găsi toate fișierele care au fost modificate în ultima săptămână. Uneori, hackerii „răstoresc” data modificării scripturilor pentru a nu detecta scripturi noi. Apoi puteți căuta fișiere php/phtml ale căror atribute s-au schimbat

    găsi . -nume ‘*.ph*’ -сtime -7

    Dacă trebuie să găsiți modificări într-un anumit interval de timp, puteți utiliza aceeași căutare

    găsi . -nume ‘*.ph*’ -newermt 25-01-2015 ! -newermt 2015-01-30 -ls

    Pentru a căuta fișiere, grep este indispensabil. Poate căuta recursiv prin fișiere un fragment specificat

    grep -ril „stummann.net/steffen/google-analytics/jquery-1.6.5.min.js” *

    Când piratați un server, este util să analizați fișierele care au marcajul guid/suid setat

    găsi / -perm -4000 -o -perm -2000

    Pentru a determina ce scripturi rulează în prezent și încarcă procesorul de găzduire, puteți apela

    lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ‘ ( if(!str) ( str=$1 ) else ( str=str”,”$1))END(print str)’` | grep vhosts | grep php

    Ne folosim creierul și mâinile pentru a analiza fișierele de pe găzduire
  • Mergem la directoarele de încărcare, cache, tmp, backup, jurnal, imagini, în care ceva este scris prin scripturi sau încărcat de utilizatori și scanăm conținutul pentru fișiere noi cu extensii suspecte. De exemplu, pentru joomla puteți verifica fișierele .php din directorul images:find ./images -name ‘*.ph*’ Cel mai probabil, dacă se găsește ceva, va fi malware.
    Pentru WordPress, este logic să verificați directorul wp-content/uploads, directoarele de teme de rezervă și cache pentru scripturi.
  • Caut fișiere cu nume ciudate
    De exemplu, php, fyi.php, n2fd2.php. Fișierele pot fi căutate
    • prin combinații non-standard de caractere,
    • prezența numerelor 3,4,5,6,7,8,9 în numele fișierelor
  • Căutăm fișiere cu extensii neobișnuite
    Să presupunem că aveți un site web pe WordPress sau pentru ele fișierele cu extensii .py, .pl, .cgi, .so, .c, .phtml, .php3 nu vor fi chiar obișnuite. Dacă sunt detectate scripturi și fișiere cu aceste extensii, cel mai probabil acestea vor fi instrumente de hacker. Procentul de detecții false este posibil, dar nu este mare.
  • Căutăm fișiere cu atribute non-standard sau cu data creării
    Suspiciunea poate fi cauzată de fișiere cu atribute care diferă de cele existente pe server. De exemplu, toate scripturile .php au fost încărcate prin ftp/sftp și au utilizatorul utilizatorului, iar unele au fost create de utilizatorul www-data. Este logic să le verifici pe cele mai recente. Sau dacă data creării fișierului script este anterioară datei creării site-ului.
    Pentru a accelera căutarea fișierelor cu atribute suspecte, este convenabil să utilizați comanda Unix find.
  • Căutăm uși folosind un număr mare de fișiere .html sau .php
    Dacă există câteva mii de fișiere .php sau .html în director, acesta este cel mai probabil o ușă.
  • Jurnalele pentru a ajuta

    Serverul web, serviciul de e-mail și jurnalele FTP pot fi utilizate pentru a detecta scripturi rău intenționate și hacker.

    • Corelarea datei și orei trimiterii unei scrisori (care poate fi găsită din jurnalul serverului de e-mail sau din antetul serviciului unei scrisori de spam) cu solicitările din access_log ajută la identificarea metodei de trimitere a spamului sau la găsirea scriptului expeditorului spamului.
    • Analiza jurnalului de transfer FTP xferlog vă permite să înțelegeți ce fișiere au fost descărcate în momentul hackului, care au fost modificate și de către cine.
    • Într-un jurnal de server de e-mail configurat corect sau în antetul de serviciu al unui e-mail de spam, dacă PHP este configurat corect, va exista un nume sau o cale completă către scriptul de trimitere, care ajută la determinarea sursei spam-ului.
    • Folosind jurnalele de protecție proactivă ale CMS-urilor și pluginurilor moderne, puteți determina ce atacuri au fost efectuate pe site și dacă CMS-ul a fost capabil să le reziste.
    • Folosind access_log și error_log, puteți analiza acțiunile unui hacker dacă cunoașteți numele scripturilor pe care le-a apelat, adresa IP sau User Agent. Ca ultimă soluție, puteți vizualiza solicitările POST în ziua în care site-ul a fost piratat și infectat. Adesea, analiza vă permite să găsiți și alte scripturi hacker care au fost descărcate sau erau deja pe server în momentul hackului.
    Controlul integrității

    Este mult mai ușor să analizezi un hack și să cauți scripturi rău intenționate pe un site web dacă te ocupi în avans de securitatea acestuia. Procedura de verificare a integrității ajută la detectarea în timp util a modificărilor în găzduire și la determinarea faptului de hacking. Una dintre cele mai simple și mai eficiente modalități este de a pune site-ul sub un sistem de control al versiunilor (git, svn, cvs). Dacă configurați corect .gitignore, procesul de control al modificării arată ca apelarea comenzii git status, iar căutarea de scripturi rău intenționate și fișiere modificate arată ca git diff.

    De asemenea, veți avea întotdeauna o copie de rezervă a fișierelor dvs., la care puteți „retroduce” site-ul în câteva secunde. Administratorii de server și webmasterii avansați pot utiliza inotify, tripwire, auditd și alte mecanisme pentru a urmări accesul la fișiere și directoare și pentru a monitoriza modificările din sistemul de fișiere.

    Din păcate, nu este întotdeauna posibil să configurați un sistem de control al versiunilor sau servicii terțe pe server. În cazul găzduirii partajate, nu va fi posibilă instalarea unui sistem de control al versiunilor și a serviciilor de sistem. Dar nu contează, există destul de multe soluții gata făcute pentru CMS. Puteți instala un plugin sau un script separat pe site care va urmări modificările în fișiere. Unele CMS implementează deja o monitorizare eficientă a schimbărilor și un mecanism de verificare a integrității (De exemplu, Bitrix, DLE). Ca ultimă soluție, dacă găzduirea are ssh, puteți crea un instantaneu de referință al sistemului de fișiere cu comanda

    ls -lahR > original_file.txt

    iar dacă apar probleme, creați un nou instantaneu într-un alt fișier, apoi comparați-le în WinDiff, AraxisMerge Tool sau BeyondCompare.

    Epilog

    În cele mai multe cazuri, dezvoltatorii de software antivirus și scanerele nu țin pasul cu dezvoltatorii de programe malware, așa că atunci când diagnosticați și tratați site-uri, nu vă puteți baza doar pe soluții și scripturi software automatizate. Folosind o abordare euristică, instrumentele bogate ale sistemului de operare și capabilitățile CMS, puteți găsi cod rău intenționat pe care antivirusurile și scanerele nu l-au putut detecta. Utilizarea analizei manuale face ca procesul de tratare a site-ului web să fie mai bun și mai eficient.

    Cod rău intenționat ajunge pe site din neglijență sau intenție rău intenționată. Scopurile codului rău intenționat variază, dar în esență dăunează sau interferează cu funcționarea normală a unui site web. Pentru a elimina codul rău intenționat de pe WordPress, trebuie mai întâi să îl găsiți.

    Ce este codul rău intenționat pe un site WordPress?

    În aparență, cel mai adesea, codul rău intenționat este un set de litere și simboluri ale alfabetului latin. De fapt, acesta este un cod criptat prin care se realizează cutare sau cutare acțiune. Acțiunile pot fi foarte diferite, de exemplu, noile postări sunt publicate imediat pe o resursă terță parte. Acest lucru înseamnă, în esență, să vă furați conținutul. Codurile au și alte „sarcini”, de exemplu, plasarea de link-uri de ieșire pe paginile site-ului. Sarcinile pot fi cele mai sofisticate, dar un lucru este clar: codurile rău intenționate trebuie vânate și eliminate.

    Cum ajung codurile rău intenționate pe un site web?

    Există, de asemenea, multe lacune pentru ca codurile să intre pe site.

  • Cel mai adesea, acestea sunt teme și pluginuri descărcate din resurse „stânga”. Deși, o astfel de penetrare este tipică pentru așa-numitele legături criptate. Codul explicit nu ajunge pe site.
  • Pătrunderea unui virus atunci când un site este piratat este cea mai periculoasă. De regulă, piratarea unui site vă permite nu numai să plasați un „cod unic”, ci și să instalați cod cu elemente de malware (program rău intenționat). De exemplu, găsiți un cod și îl ștergeți, dar este restaurat după ceva timp. Există, din nou, multe opțiuni.
  • Permiteți-mi să notez imediat că lupta împotriva unor astfel de viruși este dificilă, iar eliminarea manuală necesită cunoștințe. Există trei soluții la problemă: prima soluție este să folosiți pluginuri antivirus, de exemplu, un plugin numit BulletProof Security.

    Această soluție dă rezultate bune, dar necesită timp, deși puțin. Există o soluție mai radicală pentru a scăpa de codurile rău intenționate, inclusiv de viruși complecși, și anume de a restaura site-ul din copiile de rezervă făcute anterior ale site-ului.

    Deoarece un webmaster bun face acest lucru periodic, puteți reveni la o versiune neinfectată fără probleme. A treia soluție este pentru cei bogați și leneși, trebuie doar să contactați un „birou” specializat sau un specialist individual.

    Cum să cauți cod rău intenționat pe WordPress

    Este important să înțelegeți că codul rău intenționat de pe WordPress poate fi în orice fișier de pe site și nu neapărat în tema de lucru. El poate veni cu un plugin, o temă sau un cod „de casă” luat de pe Internet. Există mai multe moduri de a încerca să găsiți coduri rău intenționate.

    Metoda 1: manual. Parcurgeți toate fișierele site-ului și le comparați cu fișierele unei copii de rezervă neinfectate. Dacă găsiți codul altcuiva, ștergeți-l.

    Metoda 2: Utilizarea pluginurilor de securitate WordPress. De exemplu, . Acest plugin are o caracteristică excelentă, scanarea fișierelor site-ului pentru prezența codului altor persoane, iar pluginul face față perfect acestei sarcini.

    Metoda 3. Dacă aveți un suport rezonabil de găzduire și vi se pare că există altcineva pe site, cereți-i să vă scaneze site-ul cu antivirusul. Raportul lor va lista toate fișierele infectate. Apoi, deschideți aceste fișiere într-un editor de text și eliminați codul rău intenționat.

    Metoda 4. Dacă puteți lucra cu acces SSH la directorul site-ului, atunci mergeți mai departe, are propria sa bucătărie.

    Important! Indiferent de modul în care căutați cod rău intenționat, înainte de a căuta și apoi de a șterge codul, închideți accesul la fișierele site-ului (activați modul de întreținere). Amintiți-vă despre codurile care sunt restabilite atunci când sunt șterse.

    Căutați coduri rău intenționate folosind funcția eval

    Există o astfel de funcție în PHP numită eval. Vă permite să executați orice cod pe linia sa. Mai mult, codul poate fi criptat. Din cauza codificării, codul rău intenționat arată ca un set de litere și simboluri. Două codificări populare sunt:

  • Baza64;
  • Rot13.
  • În consecință, în aceste codificări, funcția eval arată astfel:

    • eval(base64_decode(...))
    • eval (str_rot13 (...)) //între ghilimele interne, seturi lungi, neclare de litere și simboluri..

    Algoritmul de căutare a codului rău intenționat folosind funcția de evaluare este următorul (lucrăm din panoul administrativ):

    • accesați editorul site-ului (Aspect→Editor).
    • copiați fișierul functions.php.
    • deschideți-l într-un editor de text (de exemplu, Notepad++) și căutați cuvântul: eval.
    • Dacă îl găsiți, nu vă grăbiți să ștergeți nimic. Trebuie să înțelegeți ce „cere” să fie efectuată această funcție. Pentru a înțelege acest lucru, codul trebuie decodat. Pentru decodare există instrumente online numite decodoare.
    Decodoare/Codificatoare

    Decodorele funcționează simplu. Copiați codul pe care doriți să-l decriptați, îl lipiți în câmpul decodorului și decodați.

    La momentul scrierii, nu am găsit un singur cod criptat găsit în WordPress. Am găsit codul de pe site-ul Joomla. În principiu, nu există nicio diferență în înțelegerea decodării. Să ne uităm la fotografie.

    După cum puteți vedea în fotografie, funcția de eval, după decodare, nu a afișat un cod groaznic care amenință securitatea site-ului, ci un link de drepturi de autor criptat de la autorul șablonului. Poate fi, de asemenea, eliminat, dar va reveni după actualizarea șablonului dacă nu utilizați .

    În concluzie, aș dori să notez, pentru a nu primi un virus pe site:

    • Codul rău intenționat de pe WordPress vine adesea cu teme și pluginuri. Prin urmare, nu instalați șabloane și pluginuri din resurse „stânga”, neverificate, iar dacă o faceți, verificați-le cu atenție pentru prezența link-urilor și a funcțiilor executive ale PHP. După ce instalați pluginuri și teme din resurse „ilegale”, verificați site-ul cu software antivirus.
    • Asigurați-vă că faceți copii de rezervă periodice și efectuați altele.

    Această postare a fost generată de întrebările mai multor proprietari de site-uri despre cum să eliminați codul rău intenționat de pe site-ul lor. Mai jos voi încerca să descriu o succesiune de pași simpli care nu necesită cunoștințe speciale și care vor fi în primul rând folositoare începătorilor în administrarea resurselor de internet.

    De unde știi dacă un site web a devenit victima unui atac în timpul căruia a fost lovit de cod rău intenționat? Primul și cel mai simplu lucru este că site-ul a încetat să funcționeze sau nu arată așa cum ar trebui să arate o resursă „sănătoasă”. Acest lucru se poate manifesta prin apariția unui conținut nedorit sau prin dispariția conținutului dvs., paginile nu se încarcă sau nu se încarcă cu erori. În plus, dacă site-ul dvs. este adăugat la Yandex sau Google webmaster, este posibil să primiți o notificare de la aceste sisteme despre cod rău intenționat. În unele cazuri, puteți afla despre vulnerabilitate din browser (captură de ecran din Google Chrome).

    În astfel de cazuri, este extrem de nedorit să încercați să deschideți pagina în continuare.

    Căutăm cod rău intenționat pe site

    Nu vom înțelege motivele persoanei care a instalat cod rău intenționat pe site-ul dvs., cu atât mai puțin să îl căutăm. Scopul nostru principal este să găsim codul „prost” și să îl eliminam. În primul rând, trebuie să scanați resursa pentru a detecta toate paginile „infectate”. Acest lucru vă permite să restrângeți căutarea. De exemplu, codul rău intenționat ar putea fi plasat sub forma unui script Javascript pe o pagină separată, de exemplu, în conținutul unei postări sau a unui comentariu la aceasta. În acest caz, problema poate fi rezolvată prin intermediul administratorului site-ului prin eliminarea unui astfel de cod din conținut/comentar. În caz contrar, trebuie să-l cauți în codul sursă al resursei tale.

    Pentru a scana un site pentru vulnerabilități, puteți utiliza https://sitecheck.sucuri.net Ca rezultat, puteți vedea următoarele:

    După cum puteți vedea din captură de ecran, scriptul „rău” a fost găsit pe mai multe pagini ale site-ului, așa că va trebui să îl căutați în codul sursă.

    Puteți accesa codul sursă al site-ului în mai multe moduri:

  • Cea mai ușoară cale este prin intermediul panoului de administrare a site-ului. În Wordpress, de exemplu, „Aspect” -> „Editor”. Această metodă nu este complet convenabilă din cauza lipsei unei căutări pentru conținutul fișierelor, așa că trebuie să le căutați cu mare atenție pe toate separat și să căutați un script „rău”.
  • Multe bloguri, resurse corporative și magazine online sunt situate pe servere care pot fi accesate prin panoul de control al găzduirii. Adesea, acest panou este cPanel. Pentru a obține acces, trebuie să vă cunoașteți login-ul și parola. Acestea sunt de obicei trimise la achiziționarea de găzduire către persoana care efectuează tranzacția. După conectarea la panoul de control, puteți vizualiza absolut toate fișierele sursă prin „Manager de fișiere” și puteți încerca să le găsiți pe cele care conțin scriptul rău intenționat detectat.
  • Cea mai convenabilă modalitate este printr-un client FTP. Dacă „comunicați” cu resursa dumneavoastră folosind un client FTP, puteți efectua cu ușurință o căutare prin conținutul fișierelor sursă.
  • Nu încercați să găsiți cod rău intenționat în fișierele sursă ale site-ului dvs., înlocuindu-l complet în căutare. Selectați partea sa unică, cum ar fi googleleadservices.cn în cazul nostru și repetați căutarea de mai multe ori.

    Eliminarea codului rău intenționat

    Odată ce este detectat codul rău intenționat, acesta trebuie pur și simplu eliminat. În cazul nostru, site-ul rula Joomla, iar scriptul „prost” a fost inserat în index.php în directorul rădăcină. De aceea vulnerabilitatea a fost descoperită pe mai multe pagini deodată, deoarece acest index.php este folosit la construirea tuturor paginilor resursei.

    Imediat după eliminarea codului rău intenționat, recomand schimbarea parolelor tuturor utilizatorilor din panoul de control al site-ului și, de asemenea, încercarea de a găsi experiențele altor administratori care au întâmpinat această problemă. Poate fi necesar să luați unele măsuri suplimentare.

    Prevenirea

    Prevenirea este întotdeauna mai bună decât vindecarea, așa că recomand:

  • Folosiți parole „bune” pentru toți utilizatorii site-ului (lungi, cu cifre, litere mari și mici).
  • Luați în serios și filtrați conținutul care nu este generat pe site de dvs. (postări ale invitaților, comentarii).
  • Nu așteptați notificări, ci scanați periodic site-ul pentru vulnerabilități.
  • Actualizați în timp util sistemul de management al conținutului (Wordpress, Joomla, Drupal, ...).
  • Vă rugăm să lăsați orice întrebări sau comentarii în comentarii.