Как очистить сайт на WordPress, если его взломали

Как очистить сайт на Wordpress, если его взломали

Ваш сайт на Wodrpress взломали? Не паникуйте, мы расскажем, как удалить вредоносный код, бэкдоры и вирусы с вашего сайта. Давайте разбираться по порядку.

Как узнать, что сайт взломали?

Если вы подозреваете, что сайт взломали, сначала нужно убедиться в том, что его действительно взломали. Часто администраторы сайта говорят, что сайт взломали, когда он начинает вести себя не так, как положено (вследствие ошибок в шаблоне или плагине) или когда видят сотни комментариев со спамом, но это не так.

Ваш сайт был взломан, если:

  • Вы видите, что в заголовке или подвале сайта появляется реклама порнографии, лекарств, казино, незаконных услуг и т.п. Часто он может быть незаметен для пользователя (например, чёрный текст на чёрном фоне), но поисковые системы видят его.
  • Вы обнаруживаете страницы, которых не должно быть на вашем сайте или которые выглядят подозрительно, выполнив поиск по запросу site:вашсайт.ru.
  • Пользователи говорят вам, что с вашего сайта их переадресовывает на подозрительные и вредоносные сайты. Уделите этому особое внимание, поскольку многие атаки будут обнаруживать, что вы являетесь администратором сайта и не будут показывать ничего подозрительного. Вредоносный или рекламный код будет показываться только посетителям или роботам поисковых систем.
  • Вы получаете уведомления от провайдера о том, что на сайте зафиксирована подозрительная активность, рассылается спам, создаётся повышенная нагрузка на процессор. Злоумышленники могут как рассылать спам с вашего сайта, так и указывать в рассылках адреса фишинговых страниц или страниц с переадресацией, созданных на вашем сайте. Это делается для того, чтобы фильтры спама не обнаруживали письма.

Сделайте резервную копию сайта немедленно

После того, как вы убедились, что сайт взломали, незамедлительно сделайте резервную копию вашего сайта. Используйте FTP, панель управления вашего провайдера или плагин для WordPress и скачайте себе полную резервную копию сайта. Причина в том, что многие провайдеры немедленно удалят ваш сайт если вы сообщите, что он был взломан, или это обнаружит их антивирус. Звучит безумно, но это стандартная процедура, которая позволяет защитить их сеть от проникновения злоумышленников.

Не забудьте сделать резервную копию базы данных. Создание полной резервной копии сайта должно быть самым первым вашим действием. Только после этого можно переходить к следующим шагам по очистке сайта от вредоносного кода. Теперь вы хотя бы будете уверены в том, что у вас есть копия сайта и вы не потеряете всё.

Правила очистки взломанного сайта WordPress

Вот несколько основных правил, которые не следует забывать при очистке вашего сайта от вредоносного кода:

  • Как правило, вы можете удалить содержимое директории wp-content/plugins/ без потери данных и функционала сайта. Это связано с тем, что это файлы плагинов, которые можно восстановить, и WordPress  автоматически обнаружит, что вы удалили плагин и отключит его. Помните, что удалять нужно все содержимое папки wp-content/plugins, а не просто отдельные файлы. Если вы просто удалите несколько файлов плагина, сайт может перестать работать.
  • Как правило, в папке wp-content/themes вашего сайта используется только одна директория. Если вы знаете, какая тема используется на сайте, все остальные папки можно смело удалять. Исключение составляют «дочерние темы«, в этом случае сайт может использовать две папки, собственно дочерней и родительской темы.
  • Как правило, в папки wp-admin и wp-includes не добавляются новые файлы. Поэтому если вы обнаруживаете новые файлы в этих папках, велика вероятность того, что это вредоносный код.
  • Проверьте наличие старых резервных копий или установленных версий WordPress. Мы часто сталкиваемся с тем, что сайт взломан несмотря на то, что администратор заявляет, что WordPress, все плагины и темы регулярно обновляются, и даже установлен плагин для защиты сайта. При этом разработчики или администраторы хранят старую копию в папке типа ‘old/’, которая доступна из внешней сети.  Эта резервная копия не поддерживается, даже если сайт защищен. Поэтому злоумышленники могут воспользоваться уязвимостями в старом коде и получить доступ к основному сайту. Поэтому никогда не оставляйте старые файлы WordPress на работающем сервере. Если такие файлы всё же есть и ваш сайт взломали, проверьте сначала именно эти копии.

Несколько полезных инструментов

Если у вас есть доступ по SSH к вашему серверу, подключитесь к нему и выполните следующую команду, чтобы найти все файлы, которые были изменены в течение последних 2 дней. Обратите внимание, что точка указывает на текущую папку. Эта команда будет выполнять поиск в текущей директории и во всех поддиректориях. (Чтобы узнать текущую директорию, выполните команду pwd в консоли SSH).

find . -mtime -2 -ls

Также можно указать определенную папку напрямую:

find /home/имя_пользователя/сайт/ -mtime -2 -ls

Можно расширить поиск и найти все файлы, изменненые за последние 10 дней:

find /home/имя_пользователя/сайт/ -mtime -10 -ls

Если измененных файлов не обнаружено, постепенно увеличивайте количество дней, пока не начнёте видеть изменения. Если вы ничего не меняли с момента взлома, вероятно, что вы увидите именно те файлы, которые изменил злоумышленник. Теперь вы можете самостоятельно изменить их и удалить вредоносный код. Это наиболее эффектиный и простой способ найти зараженные файлы.

Ещё один полезный инструмент, доступный по SSH — это ‘grep’. Команда позволяет осуществить поиск по содержимому файлов. Например, для того, чтобы найти все файлы, содержащие строку base64 (часто используется злоумышленниками) нужно выполнить следующую команду:

grep -ril base64 *

В результате вы увидите только имена файлов. Чтобы увидеть полный путь, опустите параметр «l»:

grep -ri base64 *

Помните, что строка «base64» может использоваться и в обычном коде. Перед тем, как удалять что-либо, убедитесь, что удаляемый файл не используется в теме или плагине. Более узкий поиск  будет выглядет так:

grep --include=*.php -rn . -e "base64_decode"

Эта команда рекурсивно ищет строку «base64_decode» во всех файлах, заканчивающихся на .php, и выводит номера строк, чтобы можно было легко найти, в каком контексте используется команда в файле.

После очистки множества заражённых сайтов вы заметите определенные шаблоны размещения вредоносного кода. Одно из мест, куда хакеры заливают бэкдоры и вирусы — папка загрузов WordPress (uploads). Приведенная ниже команда позволит вам найти все файлы в папке загрузок, которые не являются картинками. Для удобства сохраним список в файл «uploads.log» в текущей папке.

find public_html/wp-content/uploads/ -type f -not -name "*.jpg" -not -name "*.png" -not -name "*.gif" -not -name "*.jpeg" >uploads.log

В принципе, двух команд “grep” и “find” достаточно для очистки всего сайта. Всё настолько просто!

Я очистил сайт, но Google Chrome всё ещё выводит предупреждение о вредоносном содержимом

Чтобы Google Chrome не показывал предупреждение о небезопасном содержимом, нужно удалить сайт из списка Google Safe Browsing. Для этого выполните следующие действия

  1. Войдите в Инструменты вебмастера Google.
  2. Если вы ещё не добавили ваш сайт в консоль поиска, добавьте его.
  3. Подтвердите владение сайтам согласно инструкции Google.
  4. Выберите сайт на главной странице консоли поиска.
  5. В левом меню выберите Security Issues.
  6.  Нажмите Request a review.

Посетители сайта получают предупреждения о том, что сайт небезопасен, от антивиросов

Если вы смогли исключить сайт из списка Google Safe Browsing — это большой шаг. Вам нужно создать список всех антивирусов, которые заявляют о том, что сайт небезопасен. Затем зайдите на сайты производителей Лаборатории КасперскогоESETMcAfee’s Site Advisor и такк далее. На каждом сайте вам нужно найти инструкцию о том, как исключить свой сайт из списка опасных. Обратите внимание на слова «ложное срабатывание», «удалить сайт» и т.п.

Как проверить, что моего сайта нет в списке Google Safe Browsing?

Перейдите по следующей ссылки, изменив в ней ссылку на ваш сайт.

http://www.google.com/safebrowsing/diagnostic?site=http://вашсайт.ru/

На странице вы увидите результаты проверки с подробной информацие о текущем состоянии вашего сайта, почему он находится в списке вредоносных и фишинговых сайтов Google (на самом деле, это два списка) и что нужно делать дальше.

Что делать после того, как сайт очищен от вирусов

После того, как вы закончите очистку сайта от вирусов, нужно защитить его, чтобы взлом не повторился. Вот что нужно сделать:

  • Поменяйте все пароли доступа к панели управления хостингом, базе данных и WordPress
  • Пароли должны быть достаточно сильными и неочевидными. Не используйте один и тот же пароль на разных сайтах.
  • Регуляно обновляйте WordPress и все плагины и темы. Это очень важно для защиты сайта.
  • Удалите все старые установки, резервные копии и другие файлы, не имеющие отношения к WordPress с вашего сервера.
  • Установите Wordfence или другой плагин для защиты сайта и выполняйте регулярные проверки.

Если у вас возникли проблемы с очисткой взломанного сайта — обращайтесь, мы с радостью поделимся своим опытом

1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.