Iskanje in čiščenje virusa na spletni strani

So se na vaši spletni strani pričele pojavljati sumljive vsebine, ki jih zagotovo niste objavili sami? Vam spletna stran deluje nenavadno počasi? Se z dostopnimi podatki, ki ste jih za vpis v administracijo spletišča še nedavno uporabljali brez težav, danes ne morete več vpisati v sistem? Potem obstaja visoka verjetnost, da je na vašem paketu gostovanja prisoten spletni virus.

Kaj storiti v takšnem primeru? Najprej lahko težavo poskusite rešiti z obnovitvijo spletne strani na prejšnje stanje. To pomeni, da uporabite varnostno kopijo, ki vam je na voljo v nadzorni plošči cPanel (razdelek JETBACKUP). Obnovite tako datoteke (ang. File Backups) kot tudi podatkovne baze (ang. Database Backups). Pri tem morate vedeti, da boste izgubili vse spremembe, ki ste jih opravili od datuma, ko je bila narejena varnostna kopija.

Jetbackup

Spletnega virusa s tem najverjetneje ne boste odpravili (na paketu gostovanja je morda prisoten že dlje časa), zato bo potrebno še ročno pregledovanje in čiščenje kompromiranih datotek. Ker si boste pri tem pomagali s SSH ukazi, boste morali v svojem naročniškem centru najprej vključiti SSH dostop. To naredite tako, da se vpišete v moj.prasicek.si, na seznamu storitev izberete paket gostovanja, nato pa v zavihku SSH dostop vključite omenjeno funkcionalnost.

Več o tem: https://www.prasicek.si/podpora/paket-gostovanja-ssh-povezava

Iskanje kompromiranih datotek z AV sistemom

Pri iskanju spletnega virusa vam bo v veliko pomoč naš antivirusni sistem, ki bo kompromiranim datotekam dodal končnico .infected. Kako torej poiskati takšne datoteke? Vpišite se v nadzorno ploščo cPanel in odprite Upravitelja datotek (ang. File Manager).

Kot vidite na spodnji sliki, imate v desnem zgornjem kotu na voljo iskalno okno. Vanj vpišite poizvedbo .infected in s klikom na gumb Go potrdite izviro.

Iskanje kompromiranih datotek

Upravitelj datotek bo preveril, katere izmed datotek v svojem imenu vključujejo zapis .infected in vam prikazal seznam kompromiranih datotek.

Seznam kompromiranih datotek

Na seznamu si oglejte, kje vse je prisoten spletni virus. Nato kompromirane datoteke dobro preglejte in iz njih odstranite zlonamerno kodo. Vsako očiščeno datoteko preimenujte nazaj v izvirno (odstranite končnico .infected).

Pomembno: Antivirusni sistem ob vsaki spremembi datoteke preveri, ali je datoteka varna. Če spletnega virusa ne boste v celoti odpravili, bo kompromirana datoteka ponovno pridobila končnico .infected. Poleg tega morate vedeti, da noben antivirusni sistem ne deluje 100-odstotno, saj se ves čas pojavljajo novi spletni virusi. Ker torej obstaja možnost, da antivirusni sistem nekaterih kompromiranih datotek ne bo zaznal, boste morali zlonamerno kodo poiskati tudi ročno. Pri tem vam bodo pomagali SSH ukazi, o katerih si več preberite v nadaljevanju.

Kako ročno poiskati kompromirane datoteke?

Če ste virus na svoji spletni strani opazili dovolj zgodaj, vam svetujemo, da preverite, katere datoteke so bile pred kratkim spremenjene ali na novo dodane. V večini primerov so kompromirane datoteke s končnico .php, ni pa nujno. Zlonamerna koda je namreč lahko vstavljena tudi v druge vrste datotek, na primer v .jpg, .gif, .png in podobne.

Iskanje nedavno spremenjenih datotek vam najlažje ponazorimo na konkretnem primeru. Če bi želeli preveriti vse .php datoteke, ki so bile modificirane v zadnjih treh dneh, bi uporabili naslednji ukaz:

find . -name "*.php" -mtime -3 -print | less

Če želite poiskati vse .php datoteke, ki so bile spremenjene v obdobju od 1. novembra 2017 do 1. decembra 2017, pa bi uporabili ukaz:

find . -name "*.php" -newermt "2017-11-01" ! -newermt "2017-12-01" | less

Prav tako je uporaben ukaz, s katerim poiščete .php datoteke v direktorijih, v katerih naj teh datotek sicer ne bi bilo. Če bi želeli preveriti direktorij /uploads, bi uporabili naslednji ukaz:

find . -path "*/uploads/*.php" | less

Spletni virus lahko poiščete tudi s pomočjo ukazov, ki pregledajo vsebino programske kode. Zlonamerne kode namreč pogosto vsebujejo določene zapise, po katerih lahko prepoznamo virus. Navajamo primer takšnega ukaza:

grep -rlF --include=*.php "eval(base64" . | less
grep -rlF --include=*.php "*/incl" . | less
grep -rlF --include=*.php "Array('1'" . | less

Če vam bo kateri izmed ukazov vrnil rezultate, še ne pomeni, da gre zagotovo za spletni virus – lahko gre za tako imenovani »false positive«. Preden katerokoli datoteko (ali del kode v datoteki) izbrišete, se prepričajte, da vključuje zlonamerno kodo.

Prav tako morate vedeti, da z zgornjimi ukazi morda ne boste našli vseh kompromiranih datotek. Učinkovito čiščenje spletnih strani zahteva ustrezno strokovno znanje in obilo izkušenj.

Kako očistiti kompromirane datoteke?

Z uporabo SSH ukazov boste našli tri vrste datotek:

  1. V celoti zlonamerne datoteke. Te datoteke izbrišite.
  2. Datoteke z vrinjeno zlonamerno kodo. Te datoteke ročno preglejte in iz njih izločite le zlonamerno programsko kodo. V ta namen uporabite urejevalnik kode – npr. Notepad++, Sublime Text ali vgrajeni urejevalnik v nadzorni plošči cPanel (na datoteko kliknite z desnim klikom in izberite »Edit«).
  3. Povsem legitimne datoteke brez zlonamerne kode. Kot že omenjeno, gre za »false positive« datoteke, ki jih pustite pri miru.

V primeru težav se obrnite na ekipo Prasicek.si, ki vam bo z veseljem priskočila na pomoč.

Iskanje spletnega virusa z Virus Scanner

Osnovno iskanje spletnih virusov omogoča tudi orodje Virus Scanner, ki ga najdete v nadzorni plošči cPanel (razdelek ADVANCED).

Virus Scanner (cPanel)

Omenjeno orodje je pravzaprav grafični vmesnik antivirusnega sistema ClamAV. Gre za odprtokodni sistem, ki večinoma zazna le starejše oblike spletnih virusov. Te lahko iščete v naslednjih direktorijih: home, mail, public_html, public_ftp.

Z uporabo orodja Virus Scanner najverjetneje ne boste našli vseh kompromiranih datotek. Za temeljito odstranjevanje spletnega virusa bo potrebna uporaba SSH ukazov.


Potrebujete dodatno pomoč? Pokličite nas na telefonsko številko 059 335 005 ali nam pišite na info@prasicek.si in z veseljem vam bomo pomagali!