К содержимому
Журнал QIO

4 мин чтения

Как проверить сайт на вредоносный код и что делать при заражении

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

Как проверить сайт на вредоносный код и что делать при заражении

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

Признаки заражения и внешние проверки

Смартфон с перекрытой рекламой страницей сайта на фоне ноутбука со списком результатов поиска

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

Поиск вредоносного кода на сервере и в базе данных

Настоящий ответ дает сервер. Нужен доступ по SSH или к панели хостинга. Запустите серверный антивирус, найдите в PHP-файлах сигнатуры вроде eval и base64_decode. Посмотрите недавно измененные файлы, папки загрузок, crontab, .htaccess и .user.ini. Отдельно проверьте базу WordPress и 1С-Битрикс: инжекты живут в записях и настройках, а список администраторов может содержать чужих. Пока на месте веб-шелл, спам-страницы и редиректы зальют снова.

Уровень проверкиЧто смотрятЧто это дает
Внешние признаки и панели вебмастераЧужие страницы в поиске, редиректы, предупреждения браузераФакт заражения и видимые последствия, без названия файла
Файлы на сервереНедавно измененные PHP-файлы, папки загрузок, crontab, .htaccess, .user.iniЗараженные файлы и точки закрепления
База данных WordPress и 1С-БитриксЗаписи, настройки, список администраторовИнжекты, которые не найти поиском по файлам, и чужие администраторы

Действия после обнаружения заражения

Не удаляйте найденное сразу. Порядок такой:

  1. Сделайте копию файлов, дамп базы и сохраните логи. По логам находят точку входа.
  2. Очистите сайт. Ядро и расширения лучше заменить эталонными копиями, а не лечить построчно. Вручную разбирают только собственный код, шаблон и базу.
  3. Закройте точку входа: уязвимый плагин, слабый пароль, утекший доступ.
  4. Смените пароли, ключи и токены. Делайте это после чистки, иначе бэкдор перехватит новые данные.
  5. Сверьте ядро и расширения с эталоном.
  6. Отправьте запрос на перепроверку в панелях вебмастера.

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

Проверка идет сверху вниз — от выдачи до сервера

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

Если сайт приносит заявки, а опыта работы с сервером нет, разбор лучше показать специалисту по безопасности.

Вопросы и ответы

По каким признакам можно заподозрить заражение сайта?

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

Можно ли узнать зараженный файл с помощью внешней проверки?

Разделы безопасности в панелях вебмастера и онлайн-проверка адреса показывают факт заражения и его видимые последствия, но не называют зараженный файл.

Что проверять на сервере и в базе данных?

На сервере проверьте недавно измененные PHP-файлы, папки загрузок, crontab, .htaccess и .user.ini, а также запустите серверный антивирус. В базах WordPress и 1С-Битрикс проверьте записи, настройки и список администраторов.

Что сделать до удаления вредоносного кода?

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

Когда менять пароли и ключи после заражения?

Смените пароли, ключи и токены после чистки сайта. Пока на месте бэкдор, он может перехватить новые данные.

Подписаться на журнал

Новые разборы о сайтах, SEO и ИИ выходят в журнале QIO. Подпишитесь в Google, по RSS или в Telegram, чтобы получать их первыми.

Читайте также

Чем можем помочь?
Обсудить проект