Зазвонил телефон, и мое сердце ёкнуло. Я поднял трубку и услышал взволнованный голос заказчицы, объясняющий, что ее клиенты звонят и жалуются, что ее бизнес сайт на WordPress был взломан. Затем были жалобы на повреждение компьютера клиента из-за вируса и утверждения об утечке фото архива. Я понял, что у нас катастрофа. Несколько дней и много дополнительных часов спустя мы разгребли проблемы, затронувшие более 30 WordPress сайтов, которые мы обслуживаем.

Через это испытание огнем я узнал больше о безопасности WordPress чем когда-либо надеялся узнать. Сегодня в этом руководстве мы рассмотрим процесс, которому я рекомендую следовать для восстановления после атаки на WordPress, а затем рассмотрим шаги, которые нужно предпринять, чтобы предотвратить атаки.

Пусть к восстановлению

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

  1. Резервная копия — даже если сайт инфицирован, важно сделать резервную копию на случай, если все станет еще хуже. Сделайте полный бекап, включая всю вашу базу данных (это значит все таблицы, которые не принадлежат ядру WordPress, а добавлены плагинами). Один из вариантов — скачать все файлы и экспортировать SQL с помощью PhpMyAdmin. Другое хорошее (и быстрое) решение — BackWPup. Не пропустите этот шаг.
  2. Измените пароль и ключи доступа — перед тем, как начать чистку, измените пароль администратора WordPress и пароли к базе данных, а также сбросьте секретные ключи WordPress в файле wp-config.php чтобы убедиться, что никто не получит несанкционированного доступа.
  3. Запустите сканеры — наш список поврежденных сайтов хостился на RackSpace Cloud Sites. Соответственно, я мог использовать плагин Cloud Sites WP Scanner чтобы найти поврежденные файлы в WordPress. Другой вариант — Sucuri Malware Scanner. Сканер сэкономит время и укажет вам на все заметные поврежденные зоны. Сканеры, в частности, помогут с нахождением повреждений на уровне базы данных. Но не полагайтесь на них полностью. После сканирования переходите к следующему шагу.
  4. Переустановка WordPress — удалить все файлы в вашей директории WordPress кроме папок wp-config.php и wp-content. Затем скачайте свежую копию WordPress и подгрузите ее к себе. Отредактируйте файл the wp-config-sample.php, заменяя стандартные значения на актуальные значения базы данных из текущего файла wp-config.php. Затем удалите текущий файл и замените своим. Если вы точно знаете, что ищете, и можете обнаружить повреждения в файле, вы можете оставить файл нетронутым — но если вы не уверены, лучше перестраховаться.
  5. Проверьте папку контента —проверьте папку wp-content на предмет чего-то подозрительного. Папка cache может быть главным подозреваемым, даже если вы используете кэширующий плагин. Просмотрите папку на предмет контента, которого там быть не должно. Если вы не уверены — удаляйте. Вы всегда сможете восстановить нужное из вашей резервной копии.
  6. Проверьте и переустановите существующие плагины — имея проверенные файлы ядра WordPress, следующий шаг — проверка плагинов. Определите плагины, которые вы сейчас не используете, и полностью их удалите. Затем по одному дезактивируйте, удалите, а затем переустановите и активируйте все в данный момент активные плагины. Этот процесс может быть достаточно утомительным, особенно для сайтов с большим количеством плагинов. Опять таки — если вы точно знаете источник проблем, это сэкономит вам время на этом этапе. Если же вы не уверены — не рискуйте.
  7. Проверка тем — удалите все дополнительные темы, которые вы не используете, включая стандартные. Дальше внимательно просмотрите файлы вашей темы, ищите любые подозрительные строки PHP или ссылки на javascript файлы. Обычно они находятся в файлах header.php и footer.php. Но поскольку атаки становятся все изощреннее, вы можете найти их и в более сложных для идентификации местах (например, вашем файле functions.php).
  8. Проверьте Google’s Webmaster Tools — в последние годы Google взял на себя инициативу проверки и фильтрации сайтов, безопасность которых была нарушена. Это произошло с несколькими нашими сайтами раньше, но мы не замечали этого несколько недель (это плохо, конечно). Если вы еще этого не сделали, зайдите в Webmaster Tools и проверьте сайт на предупреждения. Если они есть, отправьте запрос на повторную проверку и удалите предупреждение.

Это длительный и болезненный процесс, но через это необходимо пройти. Непроверенному поврежденному сайту со временем будет еще хуже. Чтобы узнать больше по этому вопросу, посмотрите FAQ My site was hacked на WordPress Codex.

Предотвращение

Если вы восстановились после атаки или еще не были атакованы, самое важное — сфокусироваться на превентивных мерах. Гораздо проще предотвратить, чем потом восстанавливаться. Вот некоторые шаги, которые вы можете предпринять:

  1. Регулярные бэкапы — позаботьтесь о методе регулярного резервного копирования ваших файлов WordPress и вашей базы данных. У вас должен быть как минимум недельный бэкап, в идеале — ежедневный (хотя бы базы данных). BackWPup — отличный вариант.
  2. Мониторинг изменений файлов — дополнительный уровень защиты, который сработал для нас — добавление плагина для отслеживания изменений файлов. На активном сайте это может быть проблемой. Но на сайте с небольшой активностью это отличный инструмент. WordPress File Monitor — лучший найденный мной на данный момент плагин.
  3. Проверка локальных машин — если вы или ваши клиенты используют компьютер с Windows, очень важно делать проверку на каждой машине с доступом в консоль WordPress или в FTP. К сожалению, это частый источник проблем. Lifehacker предлагает список инструментов, которые помогут вам.
  4. Перенесите сайт на управляемый хостинг для WordPress — когда я начинал работать с безопасностью сайта, этот вариант был не жизнеспособен. Но сейчас, когда в бизнесе есть ребята вроде WPEngine.com и Zippykid.com, это отличный вариант. Они предоставляют автоматические ежедневные бэкапы (и восстановление из них) и, в случае WPEngine, специализируются на системной безопасности. Также рекомендую вам наш специализированный WordPress хостинг — Hostenko.

Ну вот и все! У вас есть история взлома или вопрос о вашей текущей ситуации? Напишите нам в комментариях.

Источник: wphub.com

Вам понравился материал?

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

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

5 комментариев

сначала новые
по рейтингу сначала новые по хронологии

Здравствуйте!
Даже незнаю куда правильно написать, тема ваша похожа на мою проблему! Тоже был вирус, успешно его удалил, но после этого при попытки зайти в админ панель, тобишь: http://мой сайт/wp-login.php появляется обычное окно где вводится логин и пароль, я его ввожу и после этого открывается окно с надписью 403 Forbidden. Пробовал с дистрибутива залить новый файл логин.пхп, но толку нету!

Михаил

Спасибо за статью, восстановил сейчас сайт. Кстати ссылку на эту статью мне скинул хостер)) Им тоже спасибо.

Владимир

Пользуюсь "специализированным хостингом Hostenko"

Когда определялся с хостинг-провайдером, на сайте Хостенко прочитал, что он станет другом-программистом, к которому время от времени можно обращаться.

Была проблема программного характера, обратился, получил ответ:

"Доброго дня.
Ми не надаємо подібних консультацій. Спеціалістів з розробки чи налаштування WordPress ви можете знайти у мережі інтернет."

Через некоторое время, возникла ошибка посерьезнее (собственно, почему пишу здесь): на одном из сайтов не открывается админ панель, пишет, "Вибачте, сторінку не знайдено. Спробуйте скористатися пошуком."

Обратился опять к "другу программисту Хостенко", получил ответ: "Доброго дня.
Ознайомтесь з логами помилок у особистому кабинеті - управління: хостингом."

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

О роботе с Хостенко ОЧЕНЬ жалею.

Спасибо за статью. Недавно поимел проблемы подобного типа. Гугл "забанил" 2 моих сайта как источник вирусов. Онлайн сканеры ничего не выявили, но отметили, что Гугл ругается. После полной проверки локальной машины нашел троян в архиве с торрента. Видимо он и спер пароли от фтп. Возится с лечением не стал. В результате, откатил сайты на несколько дней назад, благо обновлялись они в этот момент редко. Спасибо техподдержке Хостенко за помощь.