Сайт взломали: как обнаружить, очистить, защитить и вернуть в индекс
Первый вопрос после взлома: откуда вы узнали
Сначала разграничим:Базовая защита рассказывает, как настроить защиту заранее,Диагностика индексации— это стандартная проверка проблем с индексацией, а в этой статье речь только о действиях после взлома: полный процесс и сроки от момента обнаружения аномалии до возврата в индекс и разбора итогов. Даже самая хорошая защита лишь снижает вероятность взлома, но не исключает его, поэтому порядок действий после взлома нужно знать каждой компании с сайтом.
Обычно сигналов четыре, и большинство B2B-сайтов узнают о взломе по первым двум.
| Сигналы обнаружения | Конкретное проявление | Частые каналы обнаружения |
|---|---|---|
| В результатах поиска появились спам-страницы | По названию бренда выдаются казино, аптеки, поддельные бренды | Собственный поиск по бренду, сообщение клиента |
| Уведомление безопасности в Search Console | Пришло уведомление «Обнаружен вредоносный контент» | Письма и сообщения в Search Console |
| Клиенты жалуются на переадресацию | При переходе из поиска сайт перенаправляет на незнакомую страницу | Жалобы отдела продаж и постоянных клиентов |
| Аномалии трафика и логов | Всплеск трафика ночью, незнакомые краулеры, чужие входы в админку | Панель хостинга и логи доступа |
Вот факт, который многие недооценивают: когда руководитель сам натыкается на спам-страницу, заражённый контент обычно уже несколько недель в индексе. У корпоративных сайтов мало посетителей, поэтому редирект-хайджек сначала попадает в индекс поисковика и лишь потом случайно бросается в глаза. Так что вместо совета «обнаруживать как можно раньше» практичнее раз в месяц вбивать название своего бренда в поиск и смотреть результаты — это можно включить в Ежемесячное обслуживание чек-лист, займёт минуту.
Второй шаг: три дела в первый час — сначала фиксация следов, потом очистка
В первый час после обнаружения взлома занимаются не очисткой, а тремя подготовительными делами. Порядок нельзя менять.
| Действие | Что делать | Цель |
|---|---|---|
| Фиксация следов | Полностью упаковать и сохранить файлы сайта и базу данных, записать текущее время сервера | Сохранить доказательства вторжения, чтобы очистка не уничтожила следы |
| Сменить все пароли | Сменить пароли на хостинге, в базе данных, админке, FTP, SSH, на домене и в почтовых аккаунтах | Отрезать атакующим все текущие точки входа |
| Оценить масштаб заражения | Понять, затронут один сайт или несколько на одном хостинге, задеты ли почта и аккаунт домена | Определить объём работ и решить, нужно ли уведомлять заинтересованных лиц |
Почему сбор доказательств идёт до очистки? Две причины. Первая: следы проникновения (какие файлы изменены, когда, с какого аккаунта выполнен вход) исчезнут, как только вы удалите файлы и перезапишете каталоги, и потом причину взлома останется только угадывать. Вторая: работа с файлами напрямую может спровоцировать бэкдор-скрипты — некоторые из них при обнаружении удаления запускают уничтожение данных или распространяют заражение на другие сайты того же хостинга. Пакет с доказательствами храните вне сайта — локально или в облаке, не оставляйте его на заражённом сервере.
Пароли нужно менять все сразу: пропустите одну точку входа — и очистка окажется напрасной. Чаще всего забывают про FTP и аккаунт базы данных — многие меняют только пароль от админки. При оценке масштаба заражения учитывайте несколько сайтов на одном хостинге: на одном сервере могут стоять основной сайт, тестовый и старый, и атакующие обычно заходят через самый слабый. Если очистить только основной сайт, а остальные на том же хостинге не тронуть, через несколько дней их снова взломают.
Три уровня очистки: файлы, база данных, бэкдоры
Очистка идёт по трём уровням, и на каждом свои объекты проверки и методы.
| Уровень | Объект проверки | Метод |
|---|---|---|
| Уровень файлов | Основные файлы движка и недавно изменённые файлы | Сравните основные файлы с официальным дистрибутивом, проверьте недавние изменения в порядке убывания времени правки |
| Уровень базы данных | Внедрённые скрипты и подозрительные аккаунты | Поищите теги script в содержимом записей, сверьте список администраторов |
| Уровень бэкдоров | Веб-шеллы и подозрительные задания cron | Проверьте время правки и сигнатуры кода исполняемых файлов, просмотрите задания по расписанию |
У бэкдоров есть закономерности в излюбленных местах:
| Где прячется | Признаки | Что делать |
|---|---|---|
| Каталог загрузок | В каталоге появились .php-файлы (обычно там только изображения и документы) | Удалить и запретить выполнение в каталоге |
| Каталоги тем и плагинов | В конец основных файлов дописан длинный фрагмент кода | Сравнить с официальным дистрибутивом и заменить |
| Корень сайта | PHP-файлы со случайными именами, время правки совпадает с окном вторжения | Удалить после подтверждения |
| Кэш и файлы конфигурации | В содержимом длинные строки base64 и конструкции с eval | После очистки искать такие признаки по всему сайту |
Из трёх уровней чаще всего пропускают именно бэкдоры. Удаляют мусорные страницы и внедрённый код, оставляют один файл-бэкдор — и через несколько дней страницы появляются снова. Это самая частая причина «после очистки всё вернулось» и настоящая причина убеждения, что «взлом не вычистить». Базовый навык — отсортировать весь сайт по времени правки и просмотреть файлы, совпадающие с окном вторжения; в сомнительных случаях сравнить с официальным дистрибутивом. Есть ещё одно правило того же уровня: после очистки просканируйте сайт повторно, убедитесь, что на всех трёх уровнях ничего не осталось, и только потом переходите к следующему шагу.
Восстановление из резервной копии: условия и подводные камни
Если система резервного копирования выстроена правильно, восстановление обычно быстрее, чем ручная чистка по слоям. Но для восстановления нужны три условия — без любого из них этот путь не работает.
| Условие | Способ оценки | Что делать, если условие не выполнено |
|---|---|---|
| Точка восстановления раньше момента заражения | Определите окно заражения по логам и времени изменения файлов | Остаётся только ручная чистка по слоям |
| Резервная копия целая и пригодна к использованию | Проверьте целостность сразу, лучше если копия уже проходила тестовое восстановление | Смешанный вариант: восстановить файлы, а базу данных почистить вручную |
| Сразу после восстановления закройте уязвимости | Обновление компонентов, смена паролей и закрытие уязвимостей — всё за один раз | Иначе повторный взлом — лишь вопрос времени |
Главная ловушка — точка восстановления позже момента заражения: восстановить сайт из копии, в которой уже есть бэкдор, значит самому впустить взломщика обратно. Определить время заражения помогают время изменения подозрительных файлов, первая запись в логах доступа о входе в админку с незнакомого IP, дата первой индексации мусорной страницы — в этом и ценность того набора данных, что вы собрали на втором часу расследования. Ещё одна частая ошибка — не сменить пароли после восстановления: пароли в базе нередко хранятся в открытом виде или в слабом хеше, и старый пароль в руках атакующего может всё ещё работать.
Пять шагов по закрытию уязвимостей и разбор пути проникновения
После чистки или восстановления нужно обязательно выполнить пять шагов по закрытию уязвимостей, иначе повторный взлом почти неизбежен.
| Что закрываем | Что делать | Приоритет |
|---|---|---|
| Обновите все компоненты | Ядро, темы и плагины — до последних версий | Максимальная |
| Смените стандартные пути и учётные записи | Измените стандартный адрес админки, удалите или переименуйте учётную запись администратора по умолчанию | Высокий |
| Минимум плагинов безопасности | Установите один основной плагин безопасности и включите отслеживание изменений файлов | Высокий |
| Ограничьте вход в админку | Ограничение частоты попыток входа, двухфакторная аутентификация, при необходимости — ограничение по регионам | Средний |
| Ужесточите права на файлы | Настройте конфигурационные файлы и папку загрузок по принципу минимальных прав | Средний |
Разбор отвечает на четыре вопроса, результат запишите на одну страницу и сохраните: через какую лазейку проникли (устаревший плагин, слабый пароль под брутфорсом, взлом соседнего сайта на том же хостинге); почему это не заметили раньше (какого мониторинга не хватало); сколько времени прошло от обнаружения до завершения чистки; помогли ли в этот раз резервные копии и тестовые восстановления. Ценность этого документа — в следующий раз: большинство сайтов за свою жизнь взламывают не один раз, и если одну и ту же лазейку пробивают второй раз, это уже вопрос управления. Дополните мониторинг и оповещения тем, чего не хватает, и свяжите эти пробелы с пунктами ежемесячного обслуживания.
Обращение в Google и сворачивание мусорных страниц
В сроках подачи апелляции есть только одно правило: подавайте после завершения чистки. Подача на полпути только затянет процесс — если при повторной проверке Google снова найдёт вредоносный контент, отсчёт начнётся заново, и это намного медленнее, чем подождать несколько дней и подать один раз.
| Шаг | Действие | Пояснение |
|---|---|---|
| 1. Убедитесь, что чистка завершена | Все три слоя очищены, повторное сканирование не выявило остатков | Сверьте каждый URL из примеров в Search Console |
| 2. Устраните причину на самом сайте | Удаление вредоносного контента и закрытие уязвимостей | Google требует, чтобы на момент проверки на сайте не оставалось угроз безопасности |
| 3. Отправьте апелляцию | Отправить в разделе «Проблемы безопасности» Search Console | Приложить описание принятых мер и хронологию |
| 4 Ожидание повторной проверки | Обычно занимает от нескольких дней до двух недель | Не отправляйте повторно в процессе |
Если заражённые спам-страницы уже проиндексированы, действовать нужно аккуратно: ответ 410 (безвозвратное удаление) помогает свернуть индексацию быстрее, чем 404 — Google заметно быстрее обрабатывает удаление по 410. Параллельно через инструмент удаления в Search Console запросите срочное скрытие самых важных спам-результатов. Дальше раз в неделю проверяйте прогресс: сверяйте остатки по оператору site и поиску по брендовым словам. Обычно на снижение с нескольких сотен записей до единиц уходит от двух до четырёх недель, и в этот период не стоит раз за разом отправлять запрос на повторную проверку из-за медленного прогресса.
Семь. Оценка ущерба: что вернётся, а что нет
Прежде чем показывать хронологию руководству, определите типичные сроки и критерии прохождения для каждого этапа — так вы избежите бесконечных вопросов «почему ещё не восстановилось».
| Этап | Типичный цикл | Проходной критерий |
|---|---|---|
| Очистка и укрепление защиты | 1–3 дня | Повторное сканирование не находит вредоносных файлов и остатков скриптов |
| Повторная индексация и снятие отметки безопасности | 1–4 недели | Уведомление о безопасности исчезает, спам-результаты в основном очищены |
| Восстановление позиций | 1–2 месяца | Ключевые слова возвращаются примерно на прежние позиции |
Обратимость ущерба бывает двух видов. У сайтов, на которых просто разместили спам-контент и которые не получили уведомления о ручных санкциях, позиции после очистки обычно возвращаются. У сайтов, которым вынесли явное определение «искусственный спам» (например, когда алгоритм распознал и наказал за внедрённый скрытый текст и редиректы), восстановление занимает больше времени, и часть слов может не вернуться на прежние места. Есть и необратимый ущерб: если во время взлома клиенты переходили на спам-страницы из письма или из поиска, эта потеря доверия не вернётся вместе с индексацией. Именно поэтому в первом разделе мы подчёркиваем важность сигналов обнаружения — каждая неделя задержки с обнаружением добавляет ещё один слой загрязнения и оттока клиентов.
FAQ: частые вопросы
В заключение
В устранении последствий взлома решает не уровень технической подготовки, а правильная последовательность и полнота чек-листа: в первый час сначала фиксируем доказательства, потом очищаем; очистка проходит на трёх уровнях — файлы, база данных, бэкдоры; точка восстановления должна быть раньше момента заражения; повторную проверку и подачу заявки делаем только после завершения очистки. На каждом шаге есть чёткое действие и момент времени, нет места для импровизации.
Три практических совета: включите «ежемесячный поиск по брендовым запросам» в регулярную проверку, сохраните описанные здесь шаги трёхуровневой очистки во внутренний документ, ведите хронометраж учебных восстановлений — то, что окажется под рукой в ночь инцидента, зависит от того, что вы подготовили заранее. Если в команде нет технических специалистов или вы хотите настроить эту систему мониторинга и резервного копирования под текущее состояние сайта, можно связаться с нами.Достаточно запомнить одно: страшен не сам взлом, а его отсутствие — точнее, отсутствие плана действий на случай взлома.
