Blog WordPress Osnove

Inficirani sajt – kako ga očistiti i sprečiti da do hakovanja dođe

Često se vlasnicima sajtova dešava da im cyber kriminalci “zaposednu” sajt – prikazujući njihovim posetiocima razne reklame i spamove. U ovom članku možete pročitati kako da prepoznate i otklonite hack na vašem sajtu.

Često se vlasnicima sajtova dešava da im cyber kriminalci “zaposednu” sajt – prikazujući njihovim posetiocima reklame za lekove za potenciju ili prosto koristeći njihov sajt (njihov hosting) za slanje SPAM emailova, nemene su različite.

Ako je i Vama sajt inficiran – ključno pitanje koje imate je – kako očistiti sajt od malicioznog softvera?

Odgovor je jednostavan – NIKAKO.

Ali pre nego što pomislite da ste u beznadežnoj situaciji, ne brinite – malware jeste veoma teško očistiti (objasnićemo i zašto) – ali postoji i drugo rešenje.

No, pre nego što odemo dalje, hajde prvo da vidimo kako cyber kriminalci uopšte inficiraju sajtove.

Postoje dva najčešća načina da cyber kriminalci uđu na neki sajt:

Prvi način je da dozvolite da svoju WordPress instalaciju ne ažurirate (ne apdejtujete) mesecima ili godinama. WordPress jepo svojoj strukturi kompleksan i često se desi da programeri naprave propust. Ti propusti se isprave čim se otkriju, i ako redovno ažurirate WordPress i njegove pluginove – onda ne morate da brinete. Ali u slučaju da ne ažurirate svoj WordPress i pluginove, ti propusti će dakle nastaviti i dalje da postoje na Vašem sajtu. Cyber kriminalci redom češljaju sve sajtove i proveravaju da li na sajtu postoji neki od poznatih propusta. Pronalaze propust, ubacuju svoju skriptu na Vaš sajt, i onda kreće “žurka”.

Drugi način na koji cyber kriminalci ulaze na sajt je preko “null-ovanih” pluginova i tema. To su one teme i pluginovi koji su komercijalni i koji se plaćaju inače, ali Vi (ili neko ko Vam je pravio sajt) ste ih možda na nekom warez sajtu skinuli “za džabe”, elem niste ih kupili. Sve te teme i pluginovi, koji se inače plaćaju, a koje ste skinuli besplatno, zapravo nisu baš tako “besplatni” – naplate vam to cyber kriminalci, samo malo kasnije. U skoro sve te “null-ovane” pluginove i teme cyber kriminalci dodaju i sakriveni “poklončić” – njihov maliciozni softver koji im kasnije omogućava da uđu na sajt na koji je instalirana “null-ovana” tema ili plugin.

Na ovom grafu, možete videti koji su najčešći načini za hakovanje vašeg WordPress sajta na globalnom nivou:

Postavljamo drugo pitanje, zašto je teško očistiti malware?

Pre svega, on je po pravilu dobro skriven – često se nalazi u sred nekog PHP fajla i izgleda kao sasvim legitiman deo koda – kao sastavni deo plugina ili teme.

Da bi cyber kriminalci napravili “zadnja vrata” često im treba samo jedna linija PHP koda – utoliko je teže i uočiti tako nešto.

Drugo, oni kada jednom uđu na sajt – postaraju se obavezno da “zadnja vrata” ugrade na još 5-6 mesta na sajtu – inficiraju po nekoliko slučajno odabranih PHP fajlova u bilo kom folderu – postave još nekoliko upload skripti u sasvim legitimnim WordPress folderima.

Tako dolazimo do glavne problematike – ako Vam je sajt inficiran – budite sigurni da Vam on nije inficiran samo na jednom mestu – već bar na nekoliko mesta. Cyber kriminalci to namerno rade, da bi osigurali kontrolu na sajtom, jer ako otkrijete njihov malware na jednom mestu i otklonite ga – oni mogu da uđu na još desetak “rupa”.

Vi ćete potrošiti sate da nađete malware, naći ćete ga na jednom mestu, očistićete ga, ali oni su ubacili toliko malicioznih linija da će Vam koliko već sledeće noći ponovo ući na sajt.

Potrošili ste dakle sate uzaludno.

Neće Vam pomoći ni da “pregazite” celu WordPress instalaciju najsvežijim WordPress fajlovima – jer je malware često ubačen kao zaseban fajl – sam WordPress ne sadrži taj fajl – pa neće imati šta da “pregazi” taj fajl.


Druga stvar je što ne postoji način da antivirusni softver detektuje maliciozni softver sa sigurnošću – danas svako može da napiše svoj maliciozni PHP kod – i da koristi sasvim legitimne PHP funkcije (fopen, fwrite, file_get_contents) koje, kao takve, neće biti uopšte sumnjive antivirusnom softveru. Antivirusni softver može da detektuje neke stvari – ali apsolutno nemate garanciju da je sav maliciozni softver detektovan.


Administrator servera može preko Linux terminala da sortira sve fajlove po datumu izmene – to može da pomogne da se lociraju modifikovani ili novo-uploadovani fajlovi – ali opet nema garancije da “rupa” nije u samom (nekom) pluginu ili temi, i da nije tu zapravo oduvek – tako da čišćenje naknadno ubačenih i modifikovanih fajlova neće pomoći – izvorna “rupa” će i dalje biti ukopana duboko u nekom pluginu ili temi.

Šta onda uopšte raditi? Koja je procedura?

Backup

Vraćanje sajta iz backupa može da bude rešenje – ali tu imamo opet problem – Vi nemate pojma kada je sajt zapravo inficiran. Cyber kriminalci su mogli da ga inficiraju i pre godinu dana i da godinu dana ne vrše nikakve aktivnosti, Vi nemate pojma da je sajt inficiran, i onda odjednom krenu u teror. Vama izgleda kao da je sajt hakovan juče – vratite backup od pre mesec dana – ali džaba – i taj backup od pre mesec dana sadrži njihov malware.

FTP Clean Up

Jedina ispravna odluka je radikalan rez – a suština se sastoji u tome da sa svog sajta (preko FTP-a) obrišete baš sve PHP fajlove – ostavite samo uploadovane slike i konfiguracioni fajl za povezivanje na bazu (kod WordPressa je to wp-config.php).

Sledite ove korake:

  1. Preko FTP-a obrišete SVE fajlove sa sajta (ali baš sve) osim fajla wp-config.php i foldera /wp-content/uploads/ (uploadovane slike ne brišite)
  2. Dakle, još jednom naglašavamo – sve što na FTP-u sme da ostane je fajl wp-config.php i folder /wp-content/uploads/
  3. Preko FTP-a otvorite u nekom editoru (recimo Notepad++) fajl wp-config.php i dobro proverite da nije ubačen tu neki kod koji vam izgleda kao gomila nabacanih slova ili kao PHP kod za koji ste sigurni da nije deo WordPressa i da je malware. Ukoliko vidite malware obrišete ceo taj blok sa malware-om. Uključite u editoru “Word wrap” tako da vam ne promakne malware ako je smešten iza stotog karaktera u liniji, iza vidljivog polja (u Notepad++ je to u meniju “View” -> “Word wrap”). Ako niste sigurni šta je šta u tom fajlu – ovde možete videti kako izgleda normalan wp-config.php fajl – https://generatewp.com/wp-config/ – i možete iznova generisati potpuno nov wp-config.php fajl za Vaš sajt (samo unesite MySQL login podatke).
  4. Preko FTP-a uđite u folder /wp-content/uploads/ i zatim zavirite u svaki njegov potfolder (kao i u potfoldere potfoldera). Sortirajte fajlove po tipu fajlova (po ekstenziji) i DOBRO proverite da se kojim slučajem u nekom potfolderu ne nalazi neki .php fajl. Ukoliko ga uočite, obrišite ga odmah, jer je u 99.99% slučajeva u pitanju malware.
  5. Skinite sa https://wordpress.org/download/ svežu WordPress instalaciju i uploadujte je preko FTP-a.
  6. Ulogujte se na Vaš sajt u /wp-admin/, instalirajte istu temu (skinete najnoviju verziju teme, ne koristite staru), instalirajte iste pluginove koje ste imali pre brisanja.
  7. Promenite WordPress admin password, obrišete sve ostale admin korisnike, promenite FTP password, promenite MySQL password (promentite MySQL password i u wp-config.php fajlu).

Pošto nismo brisali bazu niti uploads/ folder (uploadovane slike), sajt će imati isti sadržaj kao pre brisanja WordPress fajlova.

Biće možda potrebno samo da neka podešavanja u okviru teme ili pluginova ponovo podesite.

Na kraju još jednom ponavavljamo – nikada, ali nikada, ne koristite WordPress “null-ovane” premium teme i pluginove – jer PO PRAVILU dolaze sa malware-om.

Redovno update-ujte WordPress i pluginove – jer, kao što smo rekli, često se desi da se otkriju propusti u pluginovima, a ponekad i u samom WordPressu, ako ih ne update-ujete hakeri će sasvim sigurno iskoristiti te propuste i ući na Vaš sajt.

I za kraj jos par saveta od autora plugina WordFence, kako na vreme saznati da li vam je sajt hakovan.

Edit članka: Milan Đorđević
Autor članka: Predrag Damnjanović

Članak napisan za: https://www.mycity-hosting.rs/

 


About the author

Milan Đorđević

I am a WordPress enthusiast, educator and project manager, with a neverending energy to contribute to the community! I am using WordPress in order to achieve that! One of the founders of #WPNis

Add Comment

Click here to post a comment

Leave a Reply

@WPSerbia

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 104 other subscribers

%d bloggers like this: