Iga veebihaldur, kes avastab oma veebisaidilt pahatahtliku koodi, saab palju mitte eriti meeldivaid kogemusi. Saidi omanik püüab kohe paanikas viirust leida ja hävitada ning mõista, kuidas see vastik asi võib tema saidile sattuda. Kuid nagu praktika näitab, pole veebisaidilt pahatahtliku koodi leidmine nii lihtne. Viiruse saab ju registreerida ühes või mitmes failis, millest tohutu hulk moodustab veebilehe, olgu selleks siis WordPressil töötav mootor või tavaline html-veebisait.

Eile avastasin oma meili kontrollides Google'i kirja, mis teatas, et minu saidi teatud lehtede külastamine võib põhjustada kasutajate arvutite nakatamist pahavaraga. Nüüd kuvatakse kasutajatele, kes pääsevad neile lehtedele Google.ru otsingutulemuste linkide kaudu, hoiatuslehte. Seda saiti ei lisatud minu Google'i veebihalduri paneeli, nii et mind teavitati sellest meili teel. Mul oli veebihalduri paneelil veel mitu saiti; kui ma sinna läksin, nägin ma hirmul hoiatust pahatahtliku koodi kohta veel kahel oma saidil.
Selle tulemusel asus kolmele minu saidile pahatahtlik kood, mille pidin üles leidma ja hävitama. Üks saitidest töötas WordPressis, ülejäänud kaks koosnesid tavalistest PHP-lehtedest.

Väärib märkimist, et Google reageeris pahatahtliku koodi olemasolule palju kiiremini kui Yandex. Yandexi veebihalduri paneelil ei ilmunud hoiatust saidil viiruse olemasolu kohta. Õnneks õnnestus mul mõne tunni jooksul see õnnetu viirus leida.

Reeglina on saidid kõige sagedamini nakatunud nn iframe viirusega. Põhimõtteliselt koosneb see viirus koodist... . Viirus varastab Total Commanderilt või mõnelt muult ftp-kliendilt kõik paroolid. Minu puhul juhtus sama; iframe'i kood kirjutati minu saidil mitmekümnesse faili. Saidil, mis töötas WordPressis, õnnestus pahatahtlikul koodil asuda ainult saidile footer.php.

Niisiis, kuidas leida pahatahtlikku koodi, kui leiate, et teie sait on nakatunud:

1. Minge oma hostimise juhtpaneelile ja muutke oma parool. Kui teil on mitu saiti, teeme seda kõigi meie saitidega.

2. Muutke ja kustutage paroolid ftp-kliendis. Me ei salvesta enam kunagi paroole ftp-klientidesse, vaid sisestame need alati käsitsi.

3. Võite minna hostimisse ftp kaudu ja vaadata, mis teie failides on muutunud. Sorteeri failid viimase muutmise kuupäeva järgi. Nakatunud failidel peab olema viimane ja sama kuupäev. Avage need failid ja otsige iframe'i koodi, tavaliselt asub see kood päris lõpus. Põhimõtteliselt on pahatahtlik kood kirjutatud järgmistesse failidesse: index.php, index.html ja failid laiendiga js. Sageli elab see nakkus siltide vahel... .
Ise kirjutatud saitide puhul vaadake väga hoolikalt kõiki skriptide faile ja kaustu, sageli kirjutatakse sinna viirus. Samuti on selle viiruse lemmikelupaik saidi vastukoodides ja reklaamikoodides.

4. Kontrollige, kas .htaccess-failis pole kahtlast koodi. Mõnikord tungib sellesse faili pahatahtlik kood. Tavaliselt on mootorifailides mitu kataloogi, milles .htaccess-fail võib asuda. Kontrollige kõiki neid faile ja veenduge, et kood on "puhas".

Mis puudutab WordPressi faile või muid CMS-e, siis reeglina koosneb igasugune CMS paljudest failidest ja kaustadest ning neis on pahatahtlikku koodi väga raske leida. Näiteks WordPressi jaoks võin soovitada TAC pluginat. See pistikprogramm kontrollib kõigi teemade kaustas olevate teemade faile kolmanda osapoole koodi suhtes. Kui TAC leiab soovimatu koodi, näitab see selle faili teed. Seega on võimalik maskeerivat viirust välja arvutada.
Laadige alla TAC-i pistikprogramm: wordpress.org

Üldiselt peaksite pidevalt meeles pidama kõiki saidifailidega tehtud toiminguid. Pidage meeles, mida sellele või teisele koodile muudeti või lisati.

Kui olete pahatahtliku koodi leidnud ja eemaldanud, ei tee paha oma arvutit viiruste suhtes kontrollida.
Ja kui Google või Yandx märkis teie saidi nakatunuks, peate saatma veebihalduri paneeli kaudu uuesti kontrollimise taotluse. Reeglina peaksid otsingumootorid eemaldama teie saidilt kõik piirangud 24 tunni jooksul. Google'il ei kulunud kaua aega, kui töötles minu uuesti kinnitamise taotlust ja mõne tunni pärast eemaldati minu saitidelt kõik piirangud.

On vaja perioodiliselt kontrollida oma saiti kahjulike viiruste suhtes; see on iga endast lugupidava veebimeistri esimene käsk. Isegi kui kasutate puhast Twenty Eleven teemat, pole tõsi, et aja jooksul see ka ei nakatunud. See nähtus võib (ja enamasti juhtub) ilmneda seetõttu, et WordPressi mootor ise oli algselt mõeldud veebis avaldamiseks. Seega pole kunagi valus uuesti kontrollida ja teha saidist ja andmebaasist koopia.

Näiteks tegin (mõne aja pärast muidugi) enda jaoks ühe järelduse – vajate lihtsalt head hostijat ja teie probleemid varundamisega kaovad iseenesest. Ma ei pea praegu andmebaase ega veebisaite varundama – hoster teeb kõik minu eest ja automaatselt. Soovi korral saate igal ajal tellida koopia oma ajaveebi mis tahes jaotisest (ja mitte ainult), selle koopia alla laadida või ajaveebi otse juhtpaneelilt taastada. See tähendab, et ma ei pea varukoopiat alla laadima, kõik toimub automaatselt - varundamine, taastamine jne. See on mugav, kuna saan jälgida mitte ainult iga päev, vaid iga tund, millal viirus minu ajaveebis ilmus, ja vastavalt sellele võtta meetmeid selle kõrvaldamiseks.

Alustan hea uudisega – vähemalt kaks minu kasutatud pluginat annavad häid tulemusi pahatahtliku koodi tuvastamisel ja lokaliseerimisel. Need on AntiVirus ja Exploit Scanneri pistikprogrammid. Te ei usu, kui palju kahjulikku koodi teie ajaveebis on! Kuid ärge võtke pärast kontrollimist kogu saadud teavet dogmaks – paljud read, mida need pistikprogrammid tuvastavad, ei tähenda tegelikult midagi halba. Pistikprogramm seab vaid mõned read kahtluse alla, see on kõik. Selles veendumiseks kontrollige käsitsi neid fragmente, mille pistikprogramm on tuvastanud pahatahtlikena. Nii selgus AntiVirus pluginaga kontrollides, et isegi lihtsat funktsiooni get_cache_file () kutsumist peab plugin juba kahtlaseks. Seega tuleb kõiki kontrolli tulemusi käsitsi jälgida. Kuid see on näiteks tõesti nakatunud link ja see tuleb eemaldada:

Kuidas teada saada, kas see on viirus või kuidas see peaks olema? Kõik on väga lihtne – võrrelge oma puhast malli (kui teil see on) ja võrrelge seda (failide kaupa) installitud malliga, mida on juba muudetud. Otsest võrdlust pole vaja teha, kasutage lihtsalt otsingut, et kontrollida, kas teie tühi mall sisaldab rida, mille pistikprogramm esile tõstis. Kui see on olemas, klõpsake nuppu "See pole viirus" ja seda rida ei võeta järgmise kontrolli ajal arvesse.

Ja siin on näide teisest pistikprogrammist, mida testisime – Exploit Scanner

Nagu näete, on siin kõik palju rohkem tähelepanuta jäetud. Minu jaoks oli see tulemus šokeeriv. Kuid see pole veel kõik. Pistikprogrammil on funktsioon nimega check. Seega, kui see sisse lülitada, selgub, et ajaveeb peaks koosnema tekstist ja maksimaalselt paarist CSS-i tabelist. Nii et mulle tundub, et plugina autor pingutas siin turvalisusega selgelt üle. On hea, et pistikprogramm lihtsalt näitab kahtlustatavaid nakatunud fragmente ega puhasta neid.

Pärast kõigi kollasega esiletõstetud ridade analüüsimist saate pahavara (pahatahtliku koodi) hõlpsalt tuvastada, noh, otsustage ise, mida sellega edasi teha. Puhastusmeetod on ikka sama - võrrelge valitud koodi saidi varukoopiaga (vt) ja kui leiate lahknevusi, uurige, kas tegite seda ise või tegi keegi selle teie eest, mis tähendab, et see pole enam hea ja võib osutuda viiruseks. Isegi WordPressi arendajad soovitavad selle pistikprogrammi abil oma saiti pahatahtliku koodi suhtes kontrollida. Kuid on selliseid kahjutuid sisestusi, näiteks iframe'i kehasse, mida pistikprogramm suudab tuvastada ka nakatunud koodina. Kuid tegelikult ei tööta see teie ajaveebi ala õigesti ilma nende ridadeta.

Kuidas saab pahavara isegi ajaveebifailidesse sattuda ja mis see definitsiooni järgi on? Sõna pahavara tähendab sõna-sõnalt - ründetarkvara, inglise ründetarkvarast. See on mis tahes tarkvara, mida saab kasutada saidile ja selle sisule volitamata juurdepääsuks. Tõenäoliselt kujutate ette, et keskmise häkkeri jaoks ei ole veebisaidi häkkimine keeruline, eriti pärast registreerimist. Pärast seda saate ajaveebi sisu vastavalt soovile muuta – see oleks hariv.

Pahatahtlikku pahavara saab sisestada pistikprogrammidesse, mille installite tundmatust allikast, ja skriptidesse, mida mõnikord võtate ka kontrollimata, kuid autorit usaldades. Kõige kahjutum pahavara on link mis tahes saidile installitud mooduli autorile. Ja kui autor ise ei hoiatanud teid sellise lingi olemasolust, siis on see puhas viirus.

Niisiis, installisin testblogi uue teema ja pärast saidi keldris asuva kahjutu lingi kustutamist mingisugusele meesteklubile lakkas see üldse avanemast ja avalehel oli kiri - "Te ei tee seda. on õigus linke kustutada." Siin on teile tasuta teema. Saate lugeda, kuidas selliseid vasakpoolseid linke välja rebida.

Teie andmebaasi saab kasutada ka viirust sisaldava koodi käitamiseks. Väga sageli lisatakse postitustele või kommentaaridele ka rämpsposti linke. Tavaliselt peidetakse sellised lingid CSS-i abil, et kogenematu administraator neid ei näeks, kuid otsingumootor tunneb need kohe ära. Muidugi tuleb siin mängu igasugune rämpspostitõrje, näiteks seesama, mis on litsentsitud, testitud ja mitu korda üle kontrollitud. Häkker saab alla laadida pildifaililaienditega faile ja lisada need teie aktiveeritud pistikprogrammide koodidesse. Seega, isegi kui failil pole php laiendit, saab selles failis olevat koodi käivitada.

On veel üks lihtne tööriist, millega pahavaraga tutvumist alustasin – Theme Authenticity Checker (TAC) plugin. See on kerge ja üsna tõhus tööriist, kuid see kontrollib ainult teie teemasid, isegi mitteaktiivseid. See ei puuduta ülejäänud katalooge ja see on selle negatiivne külg. Selle pistikprogrammiga praeguse teema testimine andis mulle järgmise:

Kaks hoiatust aktiivses lõimes ja ei midagi enamat. Pahatahtlikku koodi pole. Muide, need on lingid, mille ma ise sisestasin Google'i nõuannete põhjal - et parandada jupi kvaliteeti (isikuandmete, organisatsiooni aadressi jne kuvamine). Kuid see on ainult teemafailide kontrollimine ja peate uurima, mida muudes kataloogides tehakse, kasutades teisi pistikprogramme või võrguteenuseid. Näiteks teenus (see on tõesti usaldusväärne) nagu Yandex Webmaster või sarnane Google'i teenus. Nende ülesanne on kontrollida mis tahes veebiressurssi pahatahtlike lisade olemasolu suhtes ja nad teevad seda tõhusalt. Kuid kui sellest teile ei piisa, võrrelge tulemusi teiste teenuste tulemustega ja tehke järeldused.

Millegipärast tahan usaldada Yandexi, mitte pistikprogramme. Teine hea ressurss on http://2ip.ru/site-virus-scanner/. Pärast ühe oma ajaveebi kontrollimist leidsin järgmise:

Siin saate kahtluste korral kontrollida ka üksikuid faile pahatahtliku koodi suhtes. Üldiselt pole teenus halb.

Kõigest öeldust teen järgmised järeldused:

1. Pahatahtliku koodi ilmumise vältimiseks peate esmalt kasutama failide allalaadimiseks tõestatud teenuseid - pluginaid, teemasid jne.

2. Tehke regulaarselt varukoopiaid kõigest, mida sait sisaldab – andmebaasidest, sisust, administraatoripaneelist, sealhulgas allalaaditud kolmandate osapoolte failidest.

3. Kasutage WordPressi pakutavaid uuendusi. Vähemalt ei sisalda need viiruseid, kuigi need pole alati funktsionaalselt õigustatud. Kuid värskendamisega eemaldate kõik võimalikud viirused.

4. Kustutage kasutamata teemad, pistikprogrammid, pildid ja failid kahetsuseta – see on veel üks põgenemistee pahavara eest, mida te ei pruugi isegi arvata.

5. Kaitske oma FTP-juurdepääsud korralikult parooliga, logige sisse PhpAdminisse, administraatoripaneelile ja üldiselt sinna, kuhu kellelgi peale teie ei peaks juurdepääsu olema.

6. Proovige (isegi kui teie soov on suur kui taevas) mitte muuta ega asendada WordPressi põhifaile – arendajad teavad paremini, mis ja kuidas peaks töötama.

7. Pärast viiruste tuvastamist ja eemaldamist muutke kõik paroolid. Ma arvan, et teil on suur soov teha 148 märgist koosnev parool erinevates registrites ja erimärkidega. Kuid ärge laske end liiga keeruliste paroolidega kaasa lüüa, võite need kaotada ja siis peate kõik taastama, mis pole kuigi meeldiv.

Kõik need meetodid ja komponendid, mida ma kirjeldasin, mis aitavad teil viirustest vabaneda, on loomulikult tasuta, loomulikult peaaegu omatehtud ja loomulikult ei anna need 100% garantiid, et teie sait pahatahtlikest puhastatakse. lisad. Seega, kui olete juba mures oma ajaveebi puhastamise pärast, siis on parem võtta ühendust professionaalidega, näiteks Sucuri teenusega (http://sucuri.net/). Siin jälgitakse teie saiti põhjalikult, antakse praktilisi soovitusi, mis saadetakse teile kirja teel ja kui te ei soovi saiti ise puhastada, on teie teenistuses spetsialistid, kes teevad kõik parimal võimalikul viisil viis 4 tunni jooksul:

No selline näeb minu testblogi välja pärast jälgimist ja seda hoolimata sellest, et muud meetodid (kodus kasvatatud) näitavad alati erinevaid tulemusi. Nagu näete, on test tasuta, kuid viiruste tuvastamise korral peaksite maksma nende eemaldamise eest, ilma et see saiti kahjustaks (kui te pole muidugi guru oma ajaveebi pahavarast puhastamisel).

Rõhutan veel kord – häkkerid ei maga, viirused uuenevad pidevalt ja kõike on võimatu ise jälgida. Kõik uuendused on nii hoolikalt peidetud ja varjatud, et ainult meeskond saab neid paljastada! professionaalid, mitte iseõppinud blogija, nagu paljud on. Seetõttu on pahavara käsitsi tuvastamine ja eemaldamine nii ebaefektiivne: kogemuste puudumine tähendab, et tulemust pole, kuid viirus on olemas. Kasutage litsentsitud programme ja usaldage ohu kõrvaldamine professionaalidele

Elutõde on see, et saidile võidakse varem või hiljem häkkida. Pärast haavatavuse edukat ärakasutamist püüab häkker saidil kanda kinnitada, paigutades süsteemikataloogidesse häkkerite veebikestad ja allalaadijad ning skriptikoodi ja CMS-i andmebaasi tagauksed.

Pahatahtliku koodi tuvastamiseks failides ja andmebaasides on spetsiaalsed lahendused - viirusetõrjed ja hostimiseks mõeldud skannerid. Neid pole palju; populaarsed on AI-BOLIT, MalDet (Linux Malware Detector) ja ClamAv.

Skannerid aitavad tuvastada laaditud veebikestasid, tagauksi, andmepüügilehti, rämpsposti saatjaid ja muud tüüpi pahatahtlikke skripte – kõike seda, mida nad teavad ja mis on eellisatud pahatahtliku koodi allkirjade andmebaasi. Mõnel skanneril, nagu AI-BOLIT, on heuristiliste reeglite komplekt, mis suudab tuvastada kahtlase koodiga faile, mida sageli kasutatakse pahatahtlikes skriptides, või kahtlaste atribuutidega faile, mida häkkerid saavad alla laadida. Kuid kahjuks, isegi kui hostimisel kasutatakse mitut skannerit, võib juhtuda olukordi, kus mõned häkkeriskriptid jäävad avastamata, mis tegelikult tähendab, et ründajale jäetakse "tagauks" ja ta saab saiti häkkida ja selle üle täieliku kontrolli omandada. igal ajal.hetkel.

Kaasaegsed pahavara ja häkkerite skriptid erinevad oluliselt 4–5 aasta tagustest omadest. Praegu kombineerivad pahatahtliku koodi arendajad viirusetõrjetarkvara petmiseks hägustamist, krüptimist, dekompositsiooni, pahatahtliku koodi välist laadimist ja muid nippe. Seetõttu on uue pahavara kadumise tõenäosus palju suurem kui varem.

Mida saab sel juhul teha, et tõhusamalt tuvastada saidil olevad viirused ja hostimisel häkkeriskriptid? On vaja kasutada integreeritud lähenemisviisi: esialgne automatiseeritud skaneerimine ja edasine käsitsi analüüs. Selles artiklis käsitletakse võimalusi pahatahtliku koodi tuvastamiseks ilma skanneriteta.

Kõigepealt vaatame, mida täpselt peaksite häkkimise ajal otsima.

  • Häkkerite skriptid.
    Kõige sagedamini laaditakse häkkimisel alla veebikestad, tagauksed, "üleslaadijad", rämpsposti skriptid, andmepüügilehed + vormiprotsessorid, ukseavad ja häkkimismarkeri failid (pildid häkkerirühma logolt, tekstifailid "sõnumiga"). häkkeritelt jne)
  • Süstid (koodisüstid) olemasolevasse .
    Teine populaarseim pahatahtliku ja häkkerikoodi hostimise tüüp on süstimine. Mobiili ja otsingu ümbersuunamisi saab sisestada olemasolevatesse saidi .htaccess-failidesse, tagauksi saab sisestada php/perl-skriptidesse ning viiruslikke JavaScripti fragmente või ümbersuunamisi kolmanda osapoole ressurssidele saab manustada .js- ja .html-mallidesse. Süstid on võimalikud ka meediumifailides, näiteks.jpg või. Tihti koosneb pahatahtlik kood mitmest komponendist: pahatahtlik kood ise salvestatakse jpg-faili exif-päisesse ning käivitatakse väikese juhtskripti abil, mille kood ei tundu skannerile kahtlane.
  • Andmebaasi süstid.
    Andmebaas on häkkeri kolmas sihtmärk. Siin on võimalikud staatilised lisad , , , mis suunavad külastajad ümber kolmandate osapoolte ressurssidele, "luuravad" neid või nakatavad külastaja arvutit/mobiilseadet drive-by rünnaku tulemusena.
    Lisaks võimaldavad paljudes kaasaegsetes CMS-ides (IPB, vBulletin, modx jne) mallimootorid käivitada PHP-koodi ja mallid ise salvestatakse andmebaasi, nii et veebikestade ja tagauste PHP-koodi saab ehitada otse andmebaasi.
  • Süstid vahemäluteenustes.
    Vahemällu salvestamise teenuste (nt memcached) ebaõige või ebaturvalise konfigureerimise tulemusena on võimalik vahemällu salvestatud andmetesse süstimine "lennult". Mõnel juhul võib häkker sisestada saidi lehtedele pahatahtlikku koodi ilma saiti otseselt häkkimata.
  • Sissepritsed/algatatud elemendid serverisüsteemi komponentides.
    Kui häkker on saanud serverile privilegeeritud (juur)juurdepääsu, saab ta asendada veebiserveri või vahemäluserveri elemendid nakatunud elementide vastu. Selline veebiserver annab ühelt poolt kontrolli serveri üle juhtkäskude abil ja teisest küljest viib aeg-ajalt saidi lehtedele dünaamilisi ümbersuunamisi ja pahatahtlikku koodi. Nagu vahemällu salvestamise teenusesse süstimise korral, ei suuda saidi administraator suure tõenäosusega tuvastada saidi häkkimise fakti, kuna kõik failid ja andmebaas on originaalsed. Seda võimalust on kõige raskem ravida.
  • Niisiis, oletame, et olete juba skanneritega hostimise faile ja andmebaasi tõmmist kontrollinud, kuid nad ei leidnud midagi ja viirus on endiselt lehel või mobiili ümbersuunamine töötab lehtede avamisel edasi. Kuidas edasi otsida?

    Käsitsi otsing

    Unixis on failide ja fragmentide leidmiseks raske leida väärtuslikumat käsupaari kui find / grep.

    leida . -nimi '*.ph*' -mtime -7

    leiab kõik failid, mida on viimase nädala jooksul muudetud. Mõnikord "väänavad" häkkerid skriptide muutmise kuupäeva, et mitte uusi skripte tuvastada. Seejärel saate otsida php/phtml faile, mille atribuudid on muutunud

    leida . -nimi '*.ph*' -сtime -7

    Kui teil on vaja leida muudatusi teatud ajaintervalli jooksul, saate kasutada sama leidmist

    leida . -nimi ‘*.ph*’ -newermt 2015-01-25 ! -newermt 2015-01-30 -ls

    Failide otsimiseks on grep asendamatu. See võib otsida failidest rekursiivselt määratud fragmenti

    grep -ril ‘stummann.net/steffen/google-analytics/jquery-1.6.5.min.js’ *

    Serveri häkkimisel on kasulik analüüsida faile, millel on guid/suid lipp

    leida / -perm -4000 -o -perm -2000

    Selleks et teha kindlaks, millised skriptid praegu töötavad ja hostimise protsessorit laadivad, võite helistada

    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

    Me kasutame oma ajusid ja käsi, et analüüsida faile hostimisel
  • Me läheme üleslaadimis-, vahemälu-, tmp-, varukoopia-, logi-, piltide kataloogidesse, kuhu skriptidega midagi kirjutatakse või kasutajate poolt üles laaditakse, ning skannime sisu uute kahtlaste laienditega failide leidmiseks. Näiteks joomla puhul saab vaadata .php faile kataloogis images:find ./images -name ‘*.ph*’. Tõenäoliselt kui midagi leitakse, on see pahavara.
    WordPressi puhul on mõttekas kontrollida skriptide olemasolu kataloogist wp-content/uploads, backup ja cache teemakataloogidest.
  • Otsin kummaliste nimedega faile
    Näiteks php, fyi.php, n2fd2.php. Faile saab otsida
    • mittestandardsete tähemärkide kombinatsioonidega,
    • numbrite 3,4,5,6,7,8,9 olemasolu failinimedes
  • Otsime ebatavaliste laienditega faile
    Oletame, et teil on WordPressis veebisait või nende jaoks pole failid laienditega .py, .pl, .cgi, .so, .c, .phtml, .php3 päris tavalised. Kui tuvastatakse nende laienditega skripte ja faile, on need tõenäoliselt häkkeritööriistad. Valetuvastuste protsent on võimalik, kuid see pole kõrge.
  • Otsime faile, millel on ebastandardsed atribuudid või loomise kuupäev
    Kahtlust võivad põhjustada failid, mille atribuudid erinevad serveris olemasolevatest. Näiteks kõik .php skriptid laaditi üles ftp/sftp kaudu ja neil on kasutaja kasutaja ning mõned lõid kasutaja www-data. Mõttekas on üle vaadata viimased. Või kui skriptifaili loomise kuupäev on varasem kui saidi loomise kuupäev.
    Kahtlaste atribuutidega failide otsimise kiirendamiseks on mugav kasutada Unixi find käsku.
  • Otsime ukseavasid suure hulga .html või .php failide abil
    Kui kataloogis on mitu tuhat .php- või .html-faili, on see tõenäoliselt ukseava.
  • Logid abiks

    Veebiserverit, meiliteenust ja FTP logisid saab kasutada pahatahtlike ja häkkeriskriptide tuvastamiseks.

    • Kirja saatmise kuupäeva ja kellaaja (mille leiate meiliserveri logist või rämpsposti teenuse päisest) korreleerimine access_logi päringutega aitab tuvastada rämpsposti saatmise viisi või leida rämpsposti saatja skripti.
    • FTP xferlogi edastuslogi analüüs võimaldab teil mõista, millised failid häkkimise ajal alla laaditi, mida muutis ja kes.
    • Kui PHP on õigesti konfigureeritud, on õigesti konfigureeritud meiliserveri logis või rämpsposti teenuse päises saateskripti nimi või täielik tee, mis aitab kindlaks teha rämpsposti allika.
    • Kasutades kaasaegse CMS-i ja pistikprogrammide ennetava kaitse logisid, saate kindlaks teha, millised rünnakud saidil sooritati ja kas CMS suutis neile vastu seista.
    • Access_logi ja error_logi abil saate analüüsida häkkeri tegevust, kui teate tema kutsutud skriptide nimesid, IP-aadressi või kasutajaagenti. Viimase abinõuna saate vaadata POST-i päringuid saidi häkkimise ja nakatumise päeval. Sageli võimaldab analüüs leida teisi häkkeriskripte, mis olid alla laaditud või olid juba häkkimise ajal serveris.
    Terviklikkuse kontroll

    Häkkimise analüüsimine ja veebisaidilt pahatahtlike skriptide otsimine on palju lihtsam, kui hoolitsete selle turvalisuse eest eelnevalt. Terviklikkuse kontrollimise protseduur aitab õigeaegselt avastada muutusi hostimises ja tuvastada häkkimise fakti. Üks lihtsamaid ja tõhusamaid viise on panna sait versioonihaldussüsteemi alla (git, svn, cvs). Kui konfigureerite faili .gitignore õigesti, näeb muudatuste juhtimise protsess välja nagu git status käsu kutsumine ning pahatahtlike skriptide ja muudetud failide otsimine näeb välja nagu git diff.

    Samuti on teil alati failide varukoopiad, kuhu saate saidi mõne sekundiga "tagasi kerida". Serveri administraatorid ja edasijõudnud veebimeistrid saavad kasutada inotify, tripwire, auditi ja muid mehhanisme, et jälgida juurdepääsu failidele ja kataloogidele ning jälgida muudatusi failisüsteemis.

    Kahjuks ei ole alati võimalik serveris versioonihaldussüsteemi või kolmanda osapoole teenuseid seadistada. Jagatud hostimise puhul ei ole võimalik installida versioonikontrollisüsteemi ja süsteemiteenuseid. Kuid see pole oluline, CMS-i jaoks on valmislahendusi üsna palju. Saate saidile installida pistikprogrammi või eraldi skripti, mis jälgib failide muudatusi. Mõned CMS-id rakendavad juba tõhusat muudatuste jälgimist ja terviklikkuse kontrollimise mehhanismi (näiteks Bitrix, DLE). Viimase abinõuna, kui hostil on ssh, saate käsuga luua failisüsteemi viitetõmmise

    ls -lahR > algne_fail.txt

    ja probleemide ilmnemisel looge teises failis uus hetktõmmis ja seejärel võrrelge neid WinDiffis, AraxisMerge Toolis või BeyondCompare'is.

    Epiloog

    Enamasti ei pea viirusetõrjetarkvara arendajad ja skannerid pahavara arendajatega sammu, seega ei saa saitide diagnoosimisel ja ravimisel loota ainult automatiseeritud tarkvaralahendustele ja skriptidele. Kasutades heuristlikku lähenemist, rikkalikke operatsioonisüsteemi tööriistu ja CMS-i võimalusi, võite leida pahatahtliku koodi, mida viirusetõrjed ja skannerid ei suutnud tuvastada. Manuaalse analüüsi kasutamine muudab veebilehe töötlemise protsessi paremaks ja tõhusamaks.

    Pahatahtlik kood satub saidile hooletuse või pahatahtliku kavatsusega. Pahatahtliku koodi eesmärgid on erinevad, kuid sisuliselt kahjustab see või segab see veebisaidi normaalset tööd. Pahatahtliku koodi eemaldamiseks WordPressist peate selle esmalt üles leidma.

    Mis on pahatahtlik kood WordPressi saidil?

    Välimuselt on pahatahtlik kood enamasti ladina tähestiku tähtede ja sümbolite komplekt. Tegelikult on see krüpteeritud kood, mille abil see või teine ​​toiming tehakse. Toimingud võivad olla väga erinevad, näiteks avaldatakse teie uued postitused kohe kolmanda osapoole ressursis. See on sisuliselt teie sisu varastamine. Koodidel on ka muid "ülesandeid", näiteks väljaminevate linkide paigutamine saidi lehtedele. Ülesanded võivad olla kõige keerukamad, kuid üks on selge: pahatahtlikud koodid tuleb jahtida ja eemaldada.

    Kuidas pahatahtlikud koodid veebisaidile jõuavad?

    Samuti on saidile koodide pääsemiseks palju lünki.

  • Enamasti on need teemad ja pistikprogrammid, mis laaditakse alla vasakpoolsetest ressurssidest. Kuigi selline tungimine on tüüpiline nn krüptitud linkide puhul. Selgesõnaline kood saidile ei jõua.
  • Viiruse tungimine saidile sissemurdmisel on kõige ohtlikum. Reeglina võimaldab saidi häkkimine paigutada mitte ainult "ühekordse koodi", vaid ka installida koodi koos pahavara elementidega (pahatahtlik programm). Näiteks leiate koodi ja kustutate selle, kuid mõne aja pärast see taastatakse. Võimalusi on jällegi palju.
  • Märgin kohe, et selliste viirustega võitlemine on keeruline ja käsitsi eemaldamine nõuab teadmisi. Probleemile on kolm lahendust: esimene lahendus on kasutada viirusetõrjepluginaid, näiteks pluginat nimega BulletProof Security.

    See lahendus annab häid tulemusi, kuid võtab aega, kuigi veidi. Pahatahtlikest koodidest, sealhulgas keerulistest viirustest vabanemiseks on olemas radikaalsem lahendus, milleks on saidi taastamine saidi varem tehtud varukoopiatest.

    Kuna hea veebihaldur teeb seda perioodiliselt, saate ilma probleemideta naasta nakatumata versioonile. Kolmas lahendus on mõeldud rikastele ja laiskadele, võtke lihtsalt ühendust spetsialiseeritud “bürooga” või mõne spetsialistiga.

    Kuidas WordPressis pahatahtlikku koodi otsida

    Oluline on mõista, et WordPressi pahatahtlik kood võib olla saidi mis tahes failis ja mitte tingimata tööteemas. Ta võib välja pakkuda Internetist võetud pistikprogrammi, teema või "omatehtud" koodi. Pahatahtliku koodi leidmiseks on mitu võimalust.

    1. meetod: käsitsi. Sirvite kõiki saidifaile ja võrdlete neid nakatumata varukoopia failidega. Kui leiate kellegi teise koodi, kustutage see.

    2. meetod: WordPressi turbepluginate kasutamine. Näiteks, . Sellel pistikprogrammil on suurepärane funktsioon, mis kontrollib saidifaile teiste inimeste koodide olemasolu tuvastamiseks ja pistikprogramm saab selle ülesandega suurepäraselt hakkama.

    3. meetod. Kui teil on mõistlik hostimise tugi ja teile tundub, et saidil on veel keegi, paluge tal teie saiti oma viirusetõrjega skannida. Nende aruandes loetletakse kõik nakatunud failid. Järgmisena avage need failid tekstiredaktoris ja eemaldage pahatahtlik kood.

    4. meetod. Kui saate saidikataloogile SSH-juurdepääsuga töötada, siis laske käia, sellel on oma köök.

    Tähtis! Olenemata sellest, kuidas pahatahtlikku koodi otsite, sulgege enne koodi otsimist ja seejärel kustutamist juurdepääs saidifailidele (lülitage sisse hooldusrežiim). Pidage meeles, et koodid ise taastatakse, kui need kustutatakse.

    Otsige pahatahtlikke koode funktsiooni eval abil

    PHP-s on selline funktsioon nimega eval. See võimaldab teil käivitada mis tahes koodi selle real. Lisaks saab koodi krüpteerida. Kodeeringu tõttu näeb pahatahtlik kood välja nagu tähtede ja sümbolite komplekt. Kaks populaarset kodeeringut on:

  • Base64;
  • Rot13.
  • Sellest tulenevalt näeb nendes kodeeringus eval funktsioon välja järgmine:

    • eval(base64_decode(...))
    • eval (str_rot13 (...)) //sisemistes jutumärkides, pikad, ebaselged tähtede ja sümbolite komplektid..

    Funktsiooni eval abil pahatahtliku koodi otsimise algoritm on järgmine (töötame halduspaneelilt):

    • minge saidi redaktorisse (Välimus→Redaktor).
    • kopeerige fail functions.php.
    • avage see tekstiredaktoris (näiteks Notepad++) ja otsige sõna: eval.
    • Kui leiate selle, ärge kiirustage midagi kustutama. Peate mõistma, mida see funktsioon "küsib" täita. Selle mõistmiseks tuleb kood dekodeerida. Dekodeerimiseks on võrgutööriistad, mida nimetatakse dekooderiteks.
    Dekoodrid/kodeerijad

    Dekooderid töötavad lihtsalt. Kopeerite koodi, mida soovite dekrüpteerida, kleepite selle dekoodri väljale ja dekodeerite.

    Kirjutamise ajal ei leidnud ma WordPressist ühtegi krüptitud koodi. Koodi leidsin Joomla veebisaidilt. Põhimõtteliselt ei ole dekodeerimise mõistmisel vahet. Vaatame fotot.

    Nagu fotol näha, ei kuvanud funktsioon eval pärast dekodeerimist kohutavat koodi, mis ohustab saidi turvalisust, vaid malli autori krüpteeritud autoriõiguse linki. Selle saab ka eemaldada, kuid kui te ei kasuta , tuleb see pärast malli värskendamist tagasi.

    Kokkuvõtteks tahaksin märkida, et mitte viirust saidile sattuda:

    • WordPressi pahatahtliku koodiga on sageli kaasas teemad ja pistikprogrammid. Seetõttu ärge installige malle ja pistikprogramme "vasakult", kontrollimata ressurssidest ja kui installite, kontrollige neid hoolikalt PHP linkide ja täidesaatvate funktsioonide olemasolu suhtes. Pärast pistikprogrammide ja teemade installimist ebaseaduslikest ressurssidest kontrollige saiti viirusetõrjetarkvaraga.
    • Kindlasti tehke perioodiliselt varukoopiaid ja tehke muid.

    Selle postituse ajendiks olid mitme saidiomaniku küsimused selle kohta, kuidas oma veebisaidilt pahatahtlikku koodi eemaldada. Allpool püüan kirjeldada lihtsate sammude jada, mis ei nõua eriteadmisi ja on kasulikud eelkõige algajatele Interneti-ressursside haldamisel.

    Kuidas teada saada, kas veebisait on langenud ründe ohvriks, mille käigus seda tabati pahatahtliku koodiga? Esimene ja kõige lihtsam asi on see, et sait on lakanud töötamast või ei näe välja selline, nagu "tervislik" ressurss peaks välja nägema. See võib väljenduda soovimatu sisu ilmumises või teie sisu kadumises, lehed ei laadita või laaditakse vigadega. Lisaks, kui teie sait lisatakse Yandexi või Google'i veebihaldurisse, saate nendelt süsteemidelt tõenäoliselt teatise pahatahtliku koodi kohta. Mõnel juhul saate haavatavuse kohta teavet oma brauserist (ekraanipilt Google Chrome'ist).

    Sellistel juhtudel on äärmiselt ebasoovitav proovida lehte veelgi avada.

    Otsime saidilt pahatahtlikku koodi

    Me ei mõista teie saidile pahatahtliku koodi installinud inimese motiive, veel vähem selle otsimist. Meie peamine eesmärk on leida "halb" kood ja see eemaldada. Esiteks peate skannima ressurssi, et tuvastada kõik "nakatatud" lehed. See võimaldab teil otsingut kitsendada. Näiteks võib pahatahtliku koodi asetada Javascripti skripti kujul mõnele eraldi lehele, näiteks postituse või selle kommentaari sisusse. Sel juhul saab probleemi lahendada saidi administraatori kaudu, eemaldades sellise koodi sisust/kommentaarist. Vastasel juhul peate seda otsima oma ressursi lähtekoodist.

    Saidi haavatavuste otsimiseks võite kasutada aadressi https://sitecheck.sucuri.net. Selle tulemusena näete järgmist.

    Nagu ekraanipildilt näete, leiti saidi mitmelt lehelt "halb" skript, nii et peate seda otsima lähtekoodist.

    Saate saidi lähtekoodile juurde pääseda mitmel viisil.

  • Lihtsaim viis on saidi administraatori paneeli kaudu. Wordpressis näiteks "Välimus" -> "Toimetaja". See meetod pole failide sisu otsimise puudumise tõttu täiesti mugav, nii et peate need kõik eraldi hoolikalt läbi vaatama ja otsima "halba" skripti.
  • Paljud ajaveebid, ettevõtte ressursid ja veebipoed asuvad serverites, millele pääseb juurde hostimisjuhtpaneeli kaudu. Sageli on see paneel cPanel. Juurdepääsu saamiseks peate teadma oma sisselogimist ja parooli. Tavaliselt saadetakse need hostimise ostmisel tehingu sooritajale. Pärast juhtpaneelile sisselogimist saate "Failihalduri" kaudu vaadata absoluutselt kõiki lähtefaile ja proovida leida neid, mis sisaldavad tuvastatud pahatahtlikku skripti.
  • Kõige mugavam viis on läbi FTP-kliendi. Kui "suhtlete" oma ressursiga FTP-kliendi abil, saate hõlpsalt otsida lähtefailide sisu.
  • Ärge püüdke oma saidi lähtefailidest pahatahtlikku koodi leida, asendades selle otsingus täielikult. Valige selle ainulaadne osa, näiteks meie puhul googleleadservices.cn, ja korrake otsingut mitu korda.

    Pahatahtliku koodi eemaldamine

    Kui pahatahtlik kood on tuvastatud, tuleb see lihtsalt eemaldada. Meie puhul töötas sait Joomla ja "halb" skript sisestati juurkataloogi faili index.php. Seetõttu avastati haavatavus korraga mitmel lehel, kuna seda index.php-d kasutatakse ressursi kõigi lehtede koostamisel.

    Kohe pärast pahatahtliku koodi eemaldamist soovitan muuta saidi juhtpaneelil kõigi kasutajate paroolid ja proovida ka teiste selle probleemiga kokku puutunud administraatorite kogemusi. Võib osutuda vajalikuks võtta täiendavaid meetmeid.

    Ärahoidmine

    Ennetamine on alati parem kui ravi, seega soovitan:

  • Kasutage kõigi saidi kasutajate jaoks "häid" paroole (pikki, numbrite, suur- ja väiketähtedega).
  • Võtke tõsiselt ja filtreerige sisu, mis pole saidil teie enda loodud (külaliste postitused, kommentaarid).
  • Ärge oodake teatisi, vaid kontrollige saiti aeg-ajalt turvaaukude leidmiseks.
  • Uuenda õigeaegselt sisuhaldussüsteemi (Wordpress, Joomla, Drupal, ...).
  • Palun jätke kommentaaridesse kõik küsimused või kommentaarid.