CategoriesWordPressЗаштита

Чишћење WordPress сајта – чишћење фајлова

Овде ћу вам у неколико корака објаснити шта конкретно можете учинити како би уклонили малициозни код са WordPress сајта. Текст је намењен почетницима који немају пуно искуства са оваквим стварима али ако прескоче делове где сам због почетника превише детаљисао, може бити од користи и искуснијим корисницима.

Многи мисле да чишћење инфицираних фајлова значи отварање једног по једног, тражење и брисање малициозног кода. Сајтови, а посебно WordPress сајтови могу имати хиљаде и десетине хиљада фајлова, и поменути начин чишћења је практично немогућ. Постоји доста WP додатака за ту намену, али лично сам се уверио да ни један од њих не само да не може 100% да уклони инфекцију, већ не може ни да препозна добар део малициозног кода.

WordPress је слободан и бесплатан софтвер, што значи да његове фајлове, фајлове (већине) додатака и тема можемо користити, мењати, преузети бесплатно. Дакле, уместо ручног чишћења сваког фајла, једноставно ћемо заменити инфициране и потенцијално инфициране фајлове са фајловима из инсталационих .zip архива које смо преузели са wordpress.org. Ти фајлови су 100% чисти и нема бриге око тога да ли ћемо инфициране фајлове поново заменити инфицираним.

Главни фајлови самог WordPress-а

Оно што ја обично прво урадим приликом чишћења инфекције је замена такозваних core фајлова и фолдера. То можете урадити овако: Обришите фолдере wp-includes и wp-admin, као и све фајлове из главног фолдера сајта, осим: немојте никада брисати фолдер wp-content и фајл wp-config.php . Они су битни за функционисање сајта, и не треба да их дирате. Препоручујем да брисање извршите из cPanela вашег хостинг налога зато што је далеко брже него путем FTP-а, то јест из FTP клијента – то зна да потраје. Када сте завршили са брисањем, на хостингу би требало да су остали wp-content фолдер и фајл wp-config.php, као и још понеки фајлови, погледајте слику испод:

Које фајлове можете да обришете (означени плаво)

Сада преузмите фолдер са инсталацијом најновије верзије WP-a са ове адресе: http://wordpress.org/latest.zip. Треба да извршимо малу измену на њима: у празан фолдер на свом рачунару „распакујте“ садржај zip фајла који сте скинули. Ту сада можете видети wordpress фолдер. Уђите у њега и обришите фолдер wp-content. Преостале фајлове и фолдере „спакујте“ тј. зипујете у нови .zip фајл:

Фајл затим пошаљите на хостинг и декомпресујте га (unzip) уз помоћ фајл менаџера на вашем хостинг налогу. Или их једноставно пребаците путем FTP клијента, без компресовања/декомпресовања у zip фајл.

Сада имате чисте основне WP фајлове, и можемо да пређемо на wp-content фолдер.

Чишћење wp-content фолдера

Садржај wp-content фолдера

Као што већ рекох, у wp-content фолдеру се налазе фолдери и фајлови који су битни за ваш сајт. Ако уђете у тај фолдер, можете приметити следеће фолдере: 

  • plugins  садржи фајлове свих инсталираних додатака и index.php фајл који би требао да садржи само „Silence is golden.“ текст.
  • themes садржи фајлове свих инсталираних тема и исти онај index.php фајл
  • upgrade фолдер служи WordPressu за смештање привремених фајлова приликом ажурирања додатка, тема или самог WP-a. Он би требало да је празан. Уколико није, избришите све што се налази у њему.
  • uploads садржи све слике и фајлове које сте „качили“ уз чланке и уопште додали кроз WP интерфејс. Фајлови су најчешће распоређени у фолдере разврстане према годинама и месецима када су исти послати.

Поред наведених, ту се понекад могу наћи још неки фолдери (languages, gallery, mu-plugins и други). Свакако би требало и њих проверити и утврдити да ли има неких сумњивих php, js или других фајлова.

Фолдер uploads не треба да садржи .php или .js фајлове. Дакле, проверите те фолдере и обришите све .php или .js  фајлове које нађете у њима.

Следе фолдери plugins и themes. Они садрже већину инфицираних .php фајлова. Најефикаснија опција чишћења ових фолдера је замена свих додатака и тема чистим верзијама из инсталационих .zip датотека.

За чишћење plugins фолдера, потребно је да:

  1. Одете на Вордпресов директоријум додатака, у поље за претрагу унесете назив додатка
  2. Скинете додатак на рачунар
  3. Пошаљете зип фајл на сервер, у фолдер plugins, обришете стари фолдер додатка и распакујте зип фајл. У случају да ово обављате преко ФТП конекције, прво морате обрисати фолдер додатка, па распаковати додатак на свом рачунару и послати га на сервер

Ово урадите за сваки додатак који постоји у plugins фолдеру.

Уколико неки додатак не можете да нађете у WP репозиторијуму, могуће је да је обрисан одатле (јер је аутор престао да га развија, или јер је небезбедан), па би било паметно да га уклоните уколико можете да живите без њега. Такође, уколико је последње ажурирање за неки додатак било пре 3 или више година, саветовао бих вам да пронађете алтернативу и престанете да користите исти.

А могуће је и да је у питању додатак који се плаћа и не налази се слободно доступан у WP репозиторијуму додатака. У том случају морате да поново скинете додатак тамо где сте га купили.

Уколико је нелегално скинут, ви га купите како би били сигурни да имате чисте фајлове. Ово се јако често дешава – nullovani премиум додаци преузети са сумњивих сајтова стижу са кодом који омогућава лак приступ вашем сајту или већ садржи спам или малициозне редирекције.

Често изгледају овако…

Чишћење themes фолдера

Ово је мало компликованији део. Фолдере тема које не користимо можемо да обришемо или заменимо новим као што смо урадили са додацима, али што се тиче тренутно активне теме, ту је ситуација мало другачија:

Можемо заменити и активну тему фајловима из инсталационог zip фајла теме. Ово је најједноставнији и препоручен начин.

Али у случају да су на теми вршене измене у њеним фајловима (а није коришћена child тема за те промене како би требало да се ради), све те промене ће бити изгубљене заменом фајлова теме и сајт неће изгледати како је изгледао. Наравно, уколико тема није превише модификована, те промене се могу пренети на „свеже“ инсталирану тему коришћењем child теме и имаћете инсталирану најновију и безбеднију верзију, али у супротном – потребно је прегледати код теме.

Преглед PHP кода

Оно што називамо „инфекцијом“ је у великој већини случајева малициозни код убачен у .php фајлове сајта. Наравно, нежељени код може да се нађе и у бази сајта, .js фајловима. Али фокусирајмо се сада на .php фајлове. Када говоримо о темама, најчешће су на удару следећи фајлови:

  • header.php и footer.php
  • functions.php
  • index.php

Наведене фајлове би требало да преузмете путем FTP и отворите са неким едитором кода, на пример Notepad++ или Visual Studio Code, како би погледали њихов садржај. Наравно, и СВИ остали фајлови су подложни нападу, углавном они у /wp-content/ фолдеру. У свим тим фајловима ћете пронаћи гомилу кода, а ако не познајете неки од коришћених језика, мало шта ће вам бити јасно и опет треба да се вратите на део о замени свих фајлова теме са чистим фајловима из инсталационе архиве.

Код неких инфекција прилично је лако препознати непожељан део кода. Ако имате проблем са непожељним линковима који воде ка порно, коцкарским или сајтовима за продају медицинских препарата (најчешће је у питању вијагра), скривеним текстом који негативно утиче на вашу позицију на претраживачима, рекламама које искачу на сајту (а које нисте ви поставили) или нешто слично, у header.php и footer.php фајлу ћете пронаћи HTML и понекад и JS код који садрже управо речи и линкове који се појављују на сајту или у код вашег сајта. Али врло често, ради тежег откривања, спам текст, линкови, редирекције, скрипте убацују путем PHP кода, који може да изгледа овако:

И може се налазити у било ком фајлу теме (најчешће 404.php, functions.php, header.php, footer.php).

Обратити пажњу и на:

wp-config.php – проверите овај фајл како би утврдили да у њему нема непожељног кода, јер је често мета нападача. Такође, када сте већ ту, промените и кључеве за аутентификацију (нове можете наћи генерисане на овој страни):

.htaccess – овде могу да се крију редирекције. Обично на сајту постоји само један htaccess фајл и то у public_html директоријуму (може их бити и у осталим фолдерима, проверите и њих). Потребно је уклонити малициозни код, или обрисати фајл потпуно па затим отићи у Settings -> Permalinks (Подешавања -> Сталне везе) и само кликнути на „Save“ (Сачувај измене). То ће регенерисати htaccess фајл.

Овако изгледа инфициран htaccess  фајл

favicon.ico – favicon је сличица која се налази поред назива тренутног таба у вашем прегледачу. Она често може да садржи малициозни код који нападач убацује да би имао сталан приступ сајту и слично. Овај фајл је потребно отворити и проверити да ли садржи икакав PHP код. На пример:

Дакле, потребно је или уклонити малициозни код или обрисати цео фајл. Такође, favicon.ico или .ico фајлове са другачијим називима можете наћи и на осталим местима/фолдерима, тако да обавезно проверите и њих.

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *