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

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

Как восстановить сайт после взлома: изоляция, поиск вредоносного кода, смена доступов, снятие санкций в Яндексе и Google и защита от повторного взлома.

Восстановление сайта после взлома: с чего начать и как не допустить повторной атаки

Чтобы восстановить сайт после взлома, нужно закрыть его от посетителей, сделать копию для анализа, сменить все пароли, найти и удалить вредоносный код вместе с бэкдорами, обновить CMS и плагины, вернуть чистые файлы и запросить снятие санкций в Яндекс Вебмастере и Google Search Console.

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

Взлом сайта — это не только испорченная главная страница. Злоумышленники подмешивают рекламу и редиректы, создают тысячи спам-страниц, крадут данные клиентов, рассылают письма с вашего сервера. Поисковые системы реагируют жёстко: Яндекс и Google могут пометить ресурс как опасный и понизить его в выдаче. В этой статье разберём, как действовать по порядку, где прячется вредоносный код и что настроить, чтобы ситуация не повторилась.

Как понять, что сайт действительно взломан

Не всякий сбой — это взлом, но у заражённых сайтов есть характерные симптомы. Самые очевидные видны сразу: посетители жалуются, что их перебрасывает на сайты с казино, ставками или «чудо-лекарствами», в браузере появляется красная страница с предупреждением, а хостинг присылает письмо о блокировке из-за рассылки спама или вредоносной активности.

Есть и скрытые признаки. В индексе вдруг появляются тысячи страниц, которые вы не создавали, часто с текстами на другом языке. Трафик резко проваливается или, наоборот, растёт по странным запросам. В админке обнаруживаются новые пользователи с правами администратора. В Яндекс Вебмастере в разделе «Безопасность и нарушения» и в Google Search Console в разделе «Проблемы безопасности» появляются уведомления о заражении.

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

симптомы взлома

Шесть сигналов, что сайт заражён

01

Чужие редиректы

Посетителей перебрасывает на сторонние ресурсы: казино, ставки, фарма, лендинги-однодневки.

02

Спам-страницы в индексе

В поиске тысячи страниц, которых вы не создавали, обычно с набором ключевых слов на иностранном языке.

03

Пометка «опасный сайт»

Браузер, Яндекс или Google предупреждают пользователей о риске перед переходом.

04

Скачки трафика

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

05

Письмо от хостинга

Сообщение о блокировке, рассылке спама или обнаружении вредоносных файлов на аккаунте.

06

Незнакомые администраторы

В списке пользователей CMS появились учётные записи, которые вы не создавали.

Первые часы: не спешите всё удалять

Когда владелец видит взломанный сайт, первое желание — немедленно удалить подозрительные файлы или откатиться на старую копию. Это ошибка. Вместе с мусором вы потеряете улики: по датам изменения файлов и записям в логах можно определить, как именно злоумышленники попали на сервер. Без этого знания закрыть брешь не получится.

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

Пошаговый план восстановления сайта после взлома

  1. 01

    Изолируйте сайт. Включите режим обслуживания или закройте доступ паролем на уровне сервера (например, через .htpasswd), чтобы остановить заражение посетителей, редиректы и рассылку спама.

  2. 02

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

  3. 03

    Запросите журналы у хостинга. Попросите логи доступа (access log), журнал ошибок и отчёт антивируса. По ним видно, с каких адресов шли подозрительные запросы и когда изменились файлы.

  4. 04

    Смените все доступы. Обновите пароли от панели хостинга, FTP/SFTP, SSH, базы данных, админки CMS и почты домена, перевыпустите API-ключи. Делайте это с проверенного устройства: нередко пароли крадёт вирус на компьютере владельца или администратора.

  5. 05

    Найдите и удалите вредоносный код. Проверьте сайт серверным сканером (Imunify, ClamAV, AI-Bolit или аналогом на вашем хостинге), затем вручную просмотрите файлы, изменённые в период заражения, и базу данных.

  6. 06

    Обновите всё и уберите лишнее. Установите актуальные версии CMS, тем и плагинов, удалите неиспользуемые расширения и любые «взломанные» (нулленные) копии платных модулей — они часто несут встроенный бэкдор.

  7. 07

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

  8. 08

    Включите защиту и откройте сайт. Настройте двухфакторную аутентификацию, ограничение попыток входа и веб-фильтр (WAF), проверьте сайт ещё раз и только потом снимите заглушку. После этого запросите перепроверку в Яндекс Вебмастере и Google Search Console.

Где прячется вредоносный код

Опытные злоумышленники не оставляют на виду очевидных следов. Вместо этого они подкладывают бэкдоры — небольшие скрипты, которые позволяют вернуться на сайт даже после смены паролей. Такие файлы маскируют под системные: называют похоже на стандартные, прячут в глубоких папках плагинов, добавляют в начало легитимных файлов строки с закодированным содержимым.

Отдельный частый сценарий — заражение базы данных. В записях и настройках появляются внедрённые скрипты и iframe, которые подгружают рекламу или вирусы. Если вы вернёте только файлы, а базу не проверите, симптомы вернутся уже через несколько минут.

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

чек-лист проверки

Куда смотреть при поиске бэкдоров

Примеры для WordPress. В Bitrix, Joomla и MODX логика та же, отличаются только названия файлов и папок.

index.phpПодозрительные вставки в начале файла: длинные строки с base64, eval, gzinflate.
.htaccessЧужие правила перенаправления, особенно для гостей из поисковой выдачи.
wp-config.phpДополнительный код, лишние подключения файлов, неизвестные константы.
/uploads/Любые файлы .php в каталоге загрузок: там их быть не должно.
/plugins/Незнакомые или неактуальные плагины, свежие файлы с необычными именами.
база данныхТеги script и iframe в записях и настройках, лишние администраторы в таблице пользователей.
cronЗадания, которые по расписанию скачивают или запускают неизвестные скрипты.

Три пути: откат, ручная чистка или переустановка

Выбор способа зависит от того, есть ли у вас чистая резервная копия, насколько сильно изменено ядро CMS и какие компетенции есть в команде. Универсального решения нет: быстрый откат из бэкапа подойдёт не всегда, а ручная чистка без опыта легко оставляет бэкдоры. Ниже — сравнение основных вариантов.

СпособКогда подходитГлавный риск
Откат из чистого бэкапаЕсть копия до даты взлома, и вы знаете, когда он произошёлУязвимость останется, и сайт взломают снова
Ручная чистка файлов и базыИзменено небольшое число файлов, есть опыт работы с кодомПропустить скрытый бэкдор в нестандартном месте
Переустановка CMS с переносом контентаЯдро сильно изменено, найдено много бэкдоров, нет доверия к файламПотерять настройки, адреса страниц и часть SEO-данных
Помощь специалистов по безопасностиВзлом повторяется, это интернет-магазин или нет технической экспертизыСтоимость работ выше, чем при самостоятельном лечении

Как снять санкции Яндекса и Google

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

В Яндекс Вебмастере откройте раздел «Безопасность и нарушения», убедитесь, что проблемы перечислены, и после исправления нажмите кнопку подтверждения для перепроверки. В Google Search Console перейдите в «Проблемы безопасности», изучите примеры заражённых адресов и отправьте запрос на проверку, описав, что именно вы исправили. Если вредоносный код найден повторно, запрос будет отклонён — придётся лечить сайт ещё раз.

Отдельно разберитесь со спам-страницами. Удалите их с сервера, чтобы они отдавали код 404 или 410, обновите карту сайта и воспользуйтесь инструментами удаления URL в Вебмастере и Search Console. Следите за графиком индексации и запросами в Яндекс Метрике и Google Analytics: по ним видно, как возвращается трафик и не появились ли странные источники переходов.

Ошибки, из-за которых взлом повторяется

Большинство повторных взломов происходит не из-за новой атаки, а из-за того, что старую брешь так и не закрыли.

Как делают

  • Откатываются на старый бэкап и сразу открывают сайт, не разбираясь в причине
  • Удаляют только видимые редиректы и не проверяют базу данных
  • Меняют пароль от админки, но оставляют прежние доступы к FTP и хостингу
  • Не обновляют CMS и плагины, потому что «и так работает»
  • Не запрашивают перепроверку в Вебмастере и Search Console и ждут, что пометка исчезнет сама

Как правильно

  1. 01

    Определить точку входа по логам и закрыть её до запуска сайта

  2. 02

    Проверить и файлы, и базу данных, и планировщик задач, и список пользователей

  3. 03

    Сменить все доступы: хостинг, FTP/SFTP, SSH, базу, CMS, почту, API-ключи

  4. 04

    Обновить ядро и расширения, удалить всё неиспользуемое

  5. 05

    После очистки отправить запросы в Яндекс Вебмастер и Google Search Console и контролировать результат

Профилактика дешевле лечения

Каждый взлом имеет причину. Чаще всего это устаревший плагин с известной уязвимостью, слабый или повторно используемый пароль, скомпрометированный компьютер администратора либо ненадёжный хостинг без изоляции аккаунтов. Автоматические боты сканируют интернет круглосуточно и подбирают сайты с известными дырами, поэтому «нас никто не будет взламывать, мы маленькие» — опасное заблуждение.

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

Что настроить, чтобы сайт не взломали повторно

  1. 01

    Регулярные обновления CMS, тем и плагинов — чаще всего взлом идёт через известные уязвимости устаревших версий

  2. 02

    Уникальные длинные пароли и менеджер паролей вместо одного пароля на все сервисы

  3. 03

    Двухфакторная аутентификация для админки, хостинга и почты домена

  4. 04

    Ограничение попыток входа и защита страницы авторизации от перебора

  5. 05

    Правильные права на файлы и запрет выполнения скриптов в каталоге загрузок

  6. 06

    Веб-фильтр (WAF) и серверный антивирус с регулярным сканированием

  7. 07

    Установка расширений только из официальных каталогов и от проверенных разработчиков

Бэкапы: страховка, которая должна работать

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

Для большинства проектов хватает простого принципа, известного как правило «3-2-1». Оно не зависит от CMS и хостинга и защищает не только от взлома, но и от сбоя оборудования, ошибки администратора или удаления аккаунта.

правило резервного копирования

Схема «3-2-1» для бэкапов сайта

3

копии данных

Рабочий сайт плюс две независимые резервные копии файлов и базы данных.

2

типа хранилищ

Например, бэкап средствами хостинга и отдельное облачное или локальное хранилище.

1

копия вне площадки

Хотя бы одна копия лежит вне аккаунта хостинга и недоступна с доступов сайта.

Раз в квартал разворачивайте копию на тестовом домене: так вы убедитесь, что бэкап рабочий.

Что отслеживать после восстановления

Первые две-четыре недели после лечения сайт стоит держать под наблюдением. Проверяйте журнал изменений файлов, список пользователей CMS и уведомления в Яндекс Вебмастере и Google Search Console. Если на сайте принимаются платежи или хранятся заявки клиентов, включите оповещения о новых входах в админку и подозрительных запросах.

Параллельно оценивайте динамику в Яндекс Метрике и Google Analytics: возврат трафика, исчезновение странных источников и рост доли целевых страниц в поиске говорят о том, что восстановление прошло успешно.

Если при взломе могли утечь персональные данные клиентов, оператор обязан уведомить Роскомнадзор об инциденте в течение 24 часов с момента его выявления. Зафиксируйте время обнаружения взлома и сохраните логи: они понадобятся и для уведомления, и для расследования.

Итоги: как восстановить сайт и не допустить повторного взлома

Восстановление после взлома — это последовательность: изолировать, сохранить улики, сменить доступы, вычистить код и базу, закрыть уязвимость и подтвердить чистоту сайта в поисковиках.
  1. 01

    Не удаляйте файлы сразу: сначала изолируйте сайт и сделайте копию для анализа

  2. 02

    Меняйте все доступы, а не только пароль от админки

  3. 03

    Проверяйте и файлы, и базу данных, и cron, и список пользователей

  4. 04

    После очистки запросите перепроверку в Яндекс Вебмастере и Google Search Console

  5. 05

    Обновления, двухфакторная защита и бэкапы по схеме «3-2-1» резко снижают риск повторной атаки

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

Часто задаваемые вопросы

Сайт взломали? Вернем его в рабочее состояние без потери позиций

Проверим сайт на вредоносный код, закроем уязвимость и поможем снять санкции поисковиков.

Бесплатная диагностикаЛечение за 24 часаГарантия на работы

Работаем с WordPress, Bitrix, Joomla и MODX и др.

Политика конфиденциальности

При оставлении заявки на ресурсе «https://gurucontext.ru» пользователи предоставляют следующие сведения:

  • Имя
  • Контактный телефон или Telegram
  • Адрес сайта пользователя (не обязательно)

Также администрация сайта получает данные об IP-адресе посетителей, типе браузера, времени нахождения на сайте и прочие подобные сведения через сервисы статистики.

Использование информации

Вся полученная информация используется администрацией «https://gurucontext.ru» исключительно в целях связи с клиентом.

Защита персональных данных

Компания «https://gurucontext.ru» обязуется не разглашать сведения, полученные от пользователей, и хранит их в защищённом виде.

Предоставление данных третьим лицам

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

Контакты

Телефон: +7 (499) 955-47-00.
E-mail: info@gurucontext.ru.