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

Удаление вредоносного кода с сайта: пошаговая инструкция

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

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

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

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

Вредоносный код — одна из самых неприятных проблем владельца сайта. Он незаметно перенаправляет посетителей на сторонние ресурсы, рассылает спам с вашего хостинга, подменяет контент и портит позиции в поиске. Поисковые системы, в первую очередь Яндекс и Google, помечают такие сайты предупреждениями, и трафик падает буквально за дни. Ниже — понятный порядок действий, который подойдёт и для WordPress, и для 1С-Битрикс, и для самописных сайтов.

Признаки того, что сайт заражён

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

Самые частые из них: посетители жалуются, что их перекидывает на сайты с рекламой или казино; в выдаче Яндекса и Google появляются страницы с чужим текстом, которых вы не создавали; браузер показывает красное предупреждение при заходе на сайт; хостинг присылает письма о подозрительной активности, рассылке спама или резком росте нагрузки на процессор.

Отдельно обратите внимание на статистику. Если в Яндекс Метрике или Google Analytics внезапно вырос трафик из непонятных источников, увеличились отказы или, наоборот, просел органический трафик, — это повод немедленно проверить сайт. Не ждите, пока проблему заметят клиенты.

где искать сигналы заражения
01

Яндекс Вебмастер

Раздел «Безопасность и нарушения» сообщает о найденных угрозах и вредоносном коде на страницах.

02

Google Search Console

Отчёт «Проблемы безопасности» показывает взлом, вредоносное ПО и подмену контента.

03

Яндекс Метрика и Google Analytics

Скачки трафика из незнакомых источников, рост отказов, падение органики и аномальные страницы входа.

04

Хостинг и браузер

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

Откуда берётся вредоносный код

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

Первая — устаревшая CMS и плагины. Хакерские боты автоматически сканируют интернет в поисках сайтов с известными уязвимостями, и чем дольше вы не обновляете движок, тем выше риск. Вторая — «взломанные» (нулленные) темы и плагины, в которые вирус встроен изначально. Третья — слабые пароли от админки, FTP, хостинга и базы данных, а также заражённый компьютер администратора, с которого утекли сохранённые пароли.

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

Тип угрозыКак проявляетсяГде обычно прячется
Бэкдор (веб-шелл)Злоумышленник получает скрытый доступ к файлам и командам на сервереПапки загрузок, кэша, плагинов; файлы с «безобидными» именами
РедиректыПосетителей, особенно с мобильных устройств и из поиска, перекидывает на чужие сайтыФайл .htaccess, index.php, шаблон header.php, JS-файлы
Спам-инъекции (SEO-спам)На сайте появляются тысячи страниц с рекламой, а в тексте — скрытые ссылкиФайлы тем, таблицы базы данных, отдельные каталоги с шаблонами
Вредоносные скрипты в шаблонеВсплывающая реклама, подмена форм, кража данных из полей вводаФайлы footer.php, header.php, functions.php, подключаемые JS-библиотеки
Майнеры и рассылка спамаВысокая нагрузка на сервер, блокировка хостингом, попадание IP в чёрные спискиCron-задачи, временные каталоги, скрытые скрипты в корне

Подготовка: изолируйте сайт и сделайте копию

Прежде чем что-то удалять, остановите ущерб. Если сайт рассылает спам или перенаправляет посетителей, включите режим обслуживания или временно закройте его через .htaccess по IP, оставив доступ только себе. Это защитит пользователей и сохранит репутацию домена в Яндексе и Google.

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

Также сразу смените пароли — от хостинга, FTP/SSH, панели управления, базы данных и админки CMS. Делать это нужно с чистого устройства, проверенного антивирусом, иначе новые пароли тоже окажутся скомпрометированными.

Пошаговая инструкция: как удалить вредоносный код с сайта

  1. 01

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

  2. 02

    Сделайте полную копию файлов и базы данных и сохраните её отдельно — это страховка на случай ошибки при очистке.

  3. 03

    Просканируйте файлы: используйте сканер вредоносного кода на хостинге, серверный антивирус или специализированные плагины безопасности для вашей CMS.

  4. 04

    Сравните файлы с чистым дистрибутивом CMS и плагинов той же версии: всё лишнее и изменённое — кандидаты на удаление или замену.

  5. 05

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

  6. 06

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

  7. 07

    Обновите CMS, темы и плагины, удалите ненужные и «взломанные» расширения, смените все пароли и секретные ключи, проверьте cron-задачи.

  8. 08

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

Что именно искать в файлах и базе данных

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

В PHP-файлах стоит насторожиться при виде eval, base64_decode, gzinflate, str_rot13, а также системных функций вроде system, shell_exec и passthru. В JavaScript и HTML подозрительны скрытые iframe, загрузка скриптов с незнакомых доменов и document.write с экранированными строками.

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

подозрительные конструкции
eval(base64_decode(...))Выполнение зашифрованной строки как кода — классика заражённых PHP-файлов.
gzinflate / str_rot13Дополнительное «упаковывание» кода, чтобы его не заметил сканер.
<iframe width="0" height="0">Невидимый фрейм, который подгружает чужой сайт или рекламу.
document.write(unescape(...))Скрытая вставка скрипта на страницу через JavaScript.
shell_exec / system / passthruЗапуск команд на сервере — признак веб-шелла.
Не удаляйте строку вслепую: сначала сравните файл с оригиналом, иначе можно сломать сайт.

Почему одной «чистки» недостаточно

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

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

Типичные ошибки при удалении вредоносного кода

Именно эти просчёты чаще всего приводят к повторному заражению и потере позиций в Яндексе и Google.

Как делать не стоит

  • Удалять заражённые файлы без резервной копии — можно потерять рабочий код
  • Чистить только видимые файлы и не проверять базу данных и cron-задачи
  • Оставлять старые пароли и ключи доступа после очистки
  • Не обновлять CMS и плагины, через которые произошёл взлом
  • Просить снять пометку об угрозе в поиске, пока сайт не очищен полностью

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

  1. 01

    Сначала копия и изоляция, потом очистка

  2. 02

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

  3. 03

    Менять все пароли с чистого устройства и перевыпускать секретные ключи

  4. 04

    Обновить движок, удалить лишние плагины и закрыть найденную уязвимость

  5. 05

    Отправлять запрос на перепроверку только после повторного сканирования

Как вернуть доверие поисковых систем

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

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

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

ориентир по срокам восстановления
час 0–2

Изоляция и копия

Режим обслуживания, полная резервная копия, смена паролей.

день 1

Поиск и очистка

Сканирование, удаление вставок и бэкдоров, чистка базы данных.

день 2–3

Закрытие уязвимости

Обновление CMS и плагинов, повторная проверка сайта.

после очистки

Перепроверка

Запрос в Яндекс Вебмастере и Google Search Console, контроль трафика.

Реальные сроки зависят от размера сайта и сложности заражения.

Профилактика: как защитить сайт от повторного заражения

Лучшее лечение — отсутствие болезни. После очистки внедрите базовые правила безопасности, которые закроют большинство типовых сценариев взлома.

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

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

Когда стоит доверить очистку специалисту

  1. 01

    Вы не уверены, где ещё может скрываться бэкдор, а вирус возвращается снова и снова

  2. 02

    Сайт приносит деньги, и простой или потеря данных обходятся дороже услуги

  3. 03

    Хостинг заблокировал аккаунт или сайт попал под фильтры в Яндексе и Google

  4. 04

    Заражена база данных или нестандартный самописный код, который сложно сравнить с оригиналом

  5. 05

    Нужен аудит безопасности и настройка защиты, чтобы взлом не повторился

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

Итоги: как действовать при обнаружении вредоносного кода

Быстрая изоляция, полная копия и поиск первопричины — три шага, которые отличают настоящее лечение сайта от временного эффекта.
  1. 01

    Изолируйте сайт и сделайте резервную копию файлов и базы данных

  2. 02

    Найдите и удалите вредоносные вставки, бэкдоры и подозрительных пользователей

  3. 03

    Обновите CMS и плагины, смените все пароли и секретные ключи

  4. 04

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

  5. 05

    Настройте регулярные бэкапы и мониторинг безопасности

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

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

Сайт заражён? Вылечим и защитим от повторного взлома

Проведём аудит безопасности, найдём все бэкдоры и вернём сайт в поисковую выдачу.

Бесплатная диагностикаОчистка за 24 часаГарантия от повторного заражения

Сотни вылеченных сайтов на разных CMS

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

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

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

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

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

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

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

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

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

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

Контакты

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