В предишната ни публикация относно как да разследваме хакнат WordPress сайт, разгледахме нашия стандартен подход при разследване на компрометирани WordPress сайтове. Ако все още не сте го прочели, съветваме Ви да го направите сега. В тази публикация ще надградим върху предишната, като предоставим нужните стъпки за изчистването на компрометиран сайт. Също така ще разгледаме как можем да подобрим сигурността на вече изчистения сайт. Ако не разполагате с чист бекъп архив на Вашите данни, тази задача може да изглежда трудоемка, но всъщност е сравнително лесна с WordPress и други модерни и популярни уеб приложения.

Намирането на всички изпълними файлове в акаунта Ви и ръчно преглеждането им за злонамерен софтуер, (тъй като автоматизираните скенери не работят достатъчно добре за обфускиран (маскиран) PHP код), може да варира от трудно до почти невъзможно. За щастие, с модерно уеб приложение като WordPress, можете просто да го инсталирате отново, като запазите качените си файлове. Това е най-бързият и ефективен метод за връщане на сайта Ви в чисто състояние. Ние го използваме всеки ден във всички, освен най-специфичните и нишови, случаи.

Запазете конфигурационния файл wp-config.php, изображенията и други лични файлове

Файлът wp-config.php съдържа основната конфигурация за Вашия сайт, включително информацията, необходима за свързване със сървъра на базата данни (MySQL). Когато го запазвате, отворете го и проверете съдържанието му за нещо подозрително, като много дълъг първи ред, съдържащ необичайни символи. Като правило, ако Вашият текстов редактор има необичайно дълга хоризонтална лента за превъртане, файлът, който редактирате, вероятно e компрометиран. Ако това е така с файла wp-config.php, копирайте низовете за свързване към базата данни в чист файл wp-config.php от инсталационен архив на WordPress.

Вашите изображения и лични файлове се съхраняват в директорията wp-content/uploads. В идеалния случай, на това място не трябва да има PHP файлове. За съжаление, някои плъгини и теми могат да съхраняват файлове в поддиректории там, което прави задачата за правилното идентифициране и премахване на злонамерен софтуер по-трудна. Лесен начин да изброите всички PHP файлове в дадена директория е да изпълните следната команда чрез SSH:

find wp-content/uploads/ -iname "*.php"

Ако не получите никакви изходни данни след изпълнението на тази команда, можете безопасно да запазите директорията на Вашия компютър. В противен случай трябва да прегледате ръчно идентифицираните PHP файлове, за да видите дали те са поставени там от безобиден плъгин, или от нападател.

Преди да триете каквото и да било, трябва да разполагате със списък от Вашите активни плъгини. Можете да направите това от таблото за управление на WordPress или чрез следната команда, изпълнена в SSH терминал:

wp plugin list --status=active

Ето как биха изглеждали изходните данни на тази команда:

 +----------------------------------+----------+-----------+---------+
 | name                             | status   | update    | version |
 +----------------------------------+----------+-----------+---------+
 | classic-editor                   |  active  | none      | 1.5     |
 | really-simple-ssl                |  active  | none      | 3.2.3   |
 +----------------------------------+----------+-----------+---------+

По подобен начин можете да откриете и активната тема:

wp theme list --status=active

Изтрийте цялата директория, съдържаща Вашия WordPress сайт

Файлът wp-config.php и директорията /wp-content/uploads са всички данни, които трябва да запазите от текущата инсталация на WordPress, тъй като по-голямата част от Вашия сайт се намира в базата данни. В някои случаи, базата данни също се нуждае от почистване, но те са сравнително редки и процесът не е толкова тривиален. До този момент, трябва да имате и списък с Вашите активни плъгини и тема, така че да можете да изтеглите последните им версии от официалните доставчици.

Качете инсталационните файлове на последната налична версия на WordPress

Можете да свалите инсталационен архив на WordPress от официалния им уебсайт и да го инсталирате ръчно. Или можете да използвате нашия инсталатор, наличен в Контролния панел. И в двата случая вече можете да копирате записания по-рано wp-config.php файл и директорията /wp-content/uploads. Можете също да инсталирате всички плъгини и теми, които сте използвали преди. Ако те са обществено достъпни в хранилището на WordPress, можете да го направите от SSH терминала, като замените имената на плъгините по-долу с тези, които използвате:

wp plugin install really-simple-ssl classic-editor --activate

На този етап можете да тествате Вашия сайт - в идеалния случай той трябва да работи точно както преди неговото компрометиране. В случай, че това не е така, препоръчваме да се свържете с нашия екип за поддръжка.

Предпазни мерки

Щом един WordPress сайт е компрометиран, приемаме, че нападателите знаят административните му данни за достъп. Ето защо трябва да прегледате и актуализирате паролите за всички административни потребители. Освен това трябва да проверите за необичайни потребители, създадени около или след компрометирането на сайта.

В допълнение Ви препоръчваме да актуализирате паролата на Контролния панел, както и паролите за всички потребители на бази данни (MySQL). След промяна на паролата за Вашия MySQL потребител, трябва да актуализирате и Вашия wp-config.php файл.

Трябва редовно да актуализирате паролите си - това е добър начин да увеличите сигурността на сайта си дори ако не сте били хаквани скоро или изобщо. Ако смятате, че инструкциите ни са трудни за изпълнение, можете да помислите за професионално решение за сигурност. С гордост можем да съобщим, че вече предлагаме на клиентите си услугата Разширена сигурност. Това е годишна абонаментна услуга, която включва първоначален одит на сайта, почистване и подобряване на неговата сигурност. Всичко това се извършва от специализирани експерти от нашия екип по сигурността. Те дори могат да Ви помогнат да преместите компрометиран уеб сайт от друг доставчик с нашата безплатна услуга за миграция на сайтове.

Автор

ICDSoft е българска компания с дългогодишен опит в хостинг индустрията. Държим на качество и честност в предоставяните услуги, а екипът ни от професионалисти е винаги готов да Ви помогне при нужда.