Вступление
Содержание статьи:
На днях, зайдя на свой сайт, обнаружил переадресацию на сторонние ресурсы. Дальше больше, оказалось, что все мои сайты этого хостинга взломаны и заражены. Переадресация работала на всех сайтах и всех административных панелях общего хостинг аккаунта. Были поражены сайты Joomla и WordPress. Изначально я подумал, что это взлом аккаунта сайта и хостинга, как оказалось в этой статье.
О проблеме взлом аккаунта сайта и хостинга
Есть масса публикаций, советов, рекомендаций, как защитить сайт от взлома. Я сам писал об этом статьи тут и тут. Однако, каждый раз, попадая под этот взлом, испытываешь сожаление и понимаешь, что от взлома никто не застрахован.
Первое, что я делаю в этом случае, пишу в тех поддержку хостинга. Так как я обнаружил взлом рано утром, техподдержка молчала. Стал разбираться сам.
Сначала посмотрел наличие резервной копии сайтов и резервной копии всего аккаунта хостинга. Их наличие меня успокоило, но хотелось понять, в чем дело, что и как было заражено.
Помня советы по очистке сайта от вирусов, начинаю поиск заражения сайта со следующих действий:
- Во-первых, меняю пароли доступа к серверу по FTP.
- Во-вторых, по FTP или через менеджер файлов хостинга, просматриваю все каталоги всех сайтов и ищу файлы и каталоги, созданные накануне взлома.
Это правило работает, если вы каждый день посещаете свои сайты и проверяете их работоспособность. Если вы сайт посещаете редко, искать нужно все новые файлы появившиеся в корнях сайтов с вашего последнего посещения.
- В-третьих, проверяю все файлы
index.php
всех взломанных сайтов. Для начала проверяю файлыindex.php
в корневых каталогах.
При проверке index удача, вижу группу скриптов, которых в файле быть не должно. Обычно скрипты вируса ставят в начало или конец файла. Они объединены в группу и хорошо видны визуально. В моем случае они выглядели так.
Продолжаю проверять все остальные файлы index.php
в сайтах, а именно:
- В темах (WordPress);
- Административном каталоге;
- Шаблонах административной части (для Joomla);
- И т.д.
В моём случае все файлы index.php
на всех сайтах хостинга были заражены и имели одинаковые вставки скриптов.
Если бы у меня не было, не зараженной резервной копии, пришлось бы чистить все фалов всех сайтов вручную или перекачивать файлы на компьютер и искать скрипты поиском по регулярному выражению «коммандером» или Notepad. Учитывая количество сайтов, это заняло бы длительное время.
Но копия всего аккаунта на хостинге была и тех. служба восстановила аккаунт в незараженном виде, за что им отдельное спасибо.
Если бы у тех поддержки что-то пошло не так, у меня всегда есть копии сайтов, которые я делаю вручную. Чего и вам делать советую.
Поиск причин
Восстановление сайтов из резерва, решило проблему, но не дало причин заражения. Не был понятен вход вируса. Аккаунт хостинга взломан не был, значит, взломан был один сайт, через который пошло заражение всех сайтов аккаунта.
Комбинируя обращение в тех поддержку, просмотр логов посещений и поиск новых чужих файлов, я нашел сайт, который был взломан первым, и от него началось массовое заражение. Это был сайт на WordPress.
На этом сайте стоит плагин безопасности Wordfence Security, который не сработал и пропустил заражение. Вероятная причина в упрощенных настройках сканера плагина (выборочная проверка) и отсутствия расписания сканирования, а проще говоря, моей беспечности.
После сканирования сайт очищен от вирусов, все остальные сайты жестко проверены плагином Wordfence Security, сайты Joomla аккаунта пролистаны вручную.
Если у вас нет желания листать сайты вручную, то есть неплохой инструмент «Сканер AI-Bolit» ), который проверит сайты за вас.
В итоге угроза удалена, заражение вылечено, взлом аккаунта сайта и хостинга устранён. Сомневаюсь, что я до конца понял механизм взлома, но осталось сделать выводы.
Выводы про взлом аккаунта сайта
Во-первых, всегда имейте под рукой резервные копии своих сайтов и всего аккаунта на хостинге. Относитесь к этому серьёзно, и взлом аккаунта сайта и хостинга вам будет не страшен.
Во-вторых, если вы уж управляете сайтом, посещайте обе его части каждый день. Это поможет локализовать заражение по времени и быстрее найти причину заражения.
В-третьих, если используете плагины безопасности (для WordPress), используйте их максимально, не забывая о периодическом сканировании.
И еще раз повторюсь, лучшим лекарством от вирусов всегда останется не зараженная резервная копия сайта, или как в моём случае, всего аккаунта хостинга.
Источник: www.wordpress-abc.ru