Удаление вирусов с сайта: услуги по очистке сайта от вирусов
Подробно разбираем удаление вирусов с сайта: как искать заражение, что делать после очистки, как восстанавливаться без бэкапов, какие пароли менять и когда стоит заказать очистку сайта от вирусов.
Удаление вирусов с сайта начинается не с удаления первого подозрительного файла, а с фиксации состояния, поиска точки входа и понимания, что именно было изменено. Если просто стереть видимый вредоносный код, сайт может снова заразиться через старый пароль, уязвимый модуль, оставленный веб-шелл или задачу в cron.
Как понять, что сайт заражен
Заражение не всегда выглядит как красная страница в браузере. Иногда сайт открывается нормально, но посетителей перебрасывает на рекламу, в выдаче появляются чужие страницы, антивирус ругается на JavaScript, а хостинг присылает письмо о вредоносных файлах или спаме.
Частые признаки: редиректы на мобильных устройствах, посторонние iframe и script-вставки, неизвестные PHP-файлы в папках загрузок, новые администраторы в CMS, массовые изменения файлов, странные задания cron, резкий рост нагрузки, письма из форм без заявок, предупреждения Яндекса, Google, браузера или хостинга.
Что сделать в первую очередь
Главная ошибка при заражении - хаотично удалять файлы без бэкапа. Даже зараженный сайт нужно сначала сохранить как доказательство текущего состояния: файлы, базу данных, список пользователей, конфиги, логи доступа и ошибок. Это помогает восстановить полезные данные, найти дату заражения и не потерять сайт при неудачной очистке.
| Шаг | Зачем это нужно | Что важно не забыть |
|---|---|---|
| Сделать резервную копию | Сохранить текущее состояние перед правками | Копировать файлы и базу, даже если они заражены |
| Ограничить доступ | Снизить риск повторной записи вредоносного кода | Не ломать работу сайта, если он все еще принимает заявки |
| Посмотреть логи | Найти дату, IP, уязвимый скрипт или загруженный файл | Логи быстро ротируются, их лучше сохранить сразу |
| Проверить CMS и модули | Понять, через что могли попасть на сайт | Особенно важны формы, загрузчики, старые плагины и админка |
Где обычно прячутся вирусы на сайте
На PHP-сайтах вредоносный код часто маскируется под системные файлы CMS, временные кэши, картинки с расширением .php, файлы в uploads, include, assets, tmp, cache, vendor или старые резервные копии. В JavaScript заражение может выглядеть как длинная минифицированная вставка, закодированная строка, невидимый редирект или подключение внешнего домена.
В базе данных тоже могут быть следы: вредоносные вставки в контенте страниц, шаблонах, сниппетах, настройках сайта, виджетах, товарах, описаниях категорий и пользовательских полях. Поэтому очистка сайта от вирусов должна проверять и файловую систему, и базу данных, и административную часть CMS.
Как удалять вирусы с сайта
Рабочий процесс обычно такой: сделать бэкап, определить дату заражения, сравнить файлы с чистой версией CMS или репозиторием, найти подозрительные PHP и JS-вставки, проверить права, пользователей и задания планировщика, удалить вредоносный код, обновить уязвимые компоненты и проверить сайт повторно.
Для поиска используются сравнение контрольных сумм, поиск по характерным конструкциям, анализ недавно измененных файлов, проверка неизвестных исполняемых файлов, просмотр логов загрузки и обращений к подозрительным скриптам. Но автоматический сканер не должен быть единственным инструментом: он может найти известные сигнатуры и пропустить свежую или аккуратно замаскированную закладку.
| Что проверять | Что может быть опасным |
|---|---|
| PHP-файлы | eval, base64_decode, gzinflate, assert, preg_replace с исполняемым кодом, длинные нечитаемые строки |
| JavaScript | Подключения чужих доменов, редиректы, iframe, обфускация, вставки в конце файлов |
| Uploads | PHP-файлы среди изображений, двойные расширения, неизвестные архивы |
| База данных | Скрипты в контенте, шаблонах, настройках, описаниях товаров и категорий |
| Администраторы CMS | Новые пользователи, слабые роли, старые учетные записи подрядчиков |
| Cron и автозапуск | Задачи, которые заново скачивают или создают вредоносный код |
Что если нет чистых бэкапов
Отсутствие бэкапов усложняет работу, но не делает восстановление невозможным. В таком случае сайт очищается по частям: ядро CMS заменяется на чистую версию той же ветки, модули сверяются с официальными пакетами, пользовательские шаблоны и файлы проверяются вручную, база данных фильтруется от вредоносных вставок, а медиафайлы и документы отделяются от исполняемого кода.
Если сайт давно не обновлялся и заражение затронуло много файлов, иногда дешевле перенести контент на чистую установку CMS, чем пытаться доверять старой файловой системе. Это особенно актуально для проектов без версионного контроля, с несколькими подрядчиками и неизвестной историей правок.
Что делать после удаления вирусов
После удаления вредоносного кода сайт нельзя сразу считать здоровым. Нужно закрыть причину заражения и проверить, что вредоносный код не появляется снова. Иначе через несколько часов или дней владелец увидит ту же проблему: редиректы, чужие страницы, спам или предупреждения поисковых систем.
| После очистки | Зачем |
|---|---|
| Обновить CMS, плагины и шаблоны | Закрыть известные уязвимости |
| Проверить права на файлы и папки | Убрать лишнюю возможность записи |
| Отключить выполнение PHP в uploads | Защититься от загруженных веб-шеллов |
| Настроить резервное копирование | Иметь чистую точку восстановления |
| Подключить мониторинг изменений | Быстрее заметить повторное заражение |
| Отправить сайт на перепроверку | Снять предупреждения в Яндексе, Google и антивирусах |
Какие пароли менять и когда
Пароли лучше менять после удаления вредоносного кода и закрытия основных уязвимостей. Если сменить их до очистки, оставленный веб-шелл или зараженный скрипт может снова передать новые доступы злоумышленнику.
Обновить нужно все доступы, которые могли использоваться для сайта: администраторы CMS, FTP/SFTP/SSH, панель хостинга, база данных, почта домена, аккаунты подрядчиков, API-ключи платежей, CRM, почтовых рассылок, интеграций и резервного копирования. Для важных учетных записей стоит включить двухфакторную авторизацию и удалить старых пользователей, которые больше не работают с проектом.
Когда стоит заказывать очистку сайта от вирусов
Самостоятельная очистка подходит, если сайт небольшой, есть свежий чистый бэкап, понятна CMS и есть опыт работы с файлами, базой и логами. Но если сайт приносит заявки, находится под рекламой, уже попал в черные списки или заражение повторяется, лучше не экспериментировать на живом проекте.
Наши услуги по очистке сайта от вирусов включают диагностику, резервное копирование перед работами, поиск и удаление вредоносного кода, проверку базы данных, анализ причины заражения, смену критичных доступов по правильному порядку, базовую защиту и рекомендации по дальнейшему обслуживанию. Работаем с MODX, 1C-Битрикс, WordPress, самописными PHP-сайтами и проектами на популярных CMS.
Что подготовить перед обращением
Для быстрой диагностики нужны доступы к хостингу или серверу, админке CMS, базе данных или панели управления, а также письма от хостинга, скриншоты предупреждений, ссылки на подозрительные страницы и примерное время, когда проблема появилась. Если доступов нет, работу можно начать с внешней проверки и восстановления доступа через владельца домена или хостинг.
Чем быстрее начать проверку, тем выше шанс найти источник заражения по логам и восстановить сайт без потери полезных данных. После очистки важно настроить регулярные бэкапы и план обновлений, чтобы следующая проблема не превращалась в аварийное восстановление.
Итог
Удаление вирусов с сайта - это не одна кнопка и не простая замена пары файлов. Надежная очистка состоит из диагностики, бэкапа, удаления вредоносного кода, проверки базы, закрытия уязвимости, смены доступов, настройки бэкапов и повторной проверки.
Если нужна очистка сайта от вирусов без риска потерять рабочие данные, можно начать с диагностики: определить масштаб заражения, составить план восстановления и вернуть сайт в безопасное состояние.
Сайт заражен вирусом, появились редиректы, вредоносный код или предупреждения поисковых систем? Проведем диагностику, очистим файлы и базу, закроем причину заражения и подскажем, какие доступы нужно обновить.