Лечение сайта от вирусов: порядок действий

Лечение сайта от вирусов: порядок действий

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

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

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

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

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

Первый час: изоляция и фиксация состояния

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

  1. Закройте сайт для посетителей. Включите режим обслуживания через хостинг или временно ограничьте доступ по IP. Это остановит распространение заразы и снизит риск попадания в списки опасных ресурсов.
  2. Сделайте полную копию в текущем состоянии. Да, заражённую. Файлы и базу данных нужно сохранить отдельно, не перезаписывая старые резервные копии. По этой копии позже можно будет восстановить ход атаки и найти точку входа.
  3. Сохраните журналы веб-сервера. Логи доступа и ошибок хранятся у хостинга ограниченное время, иногда всего несколько суток. Скачайте их сразу — это главный источник информации о том, какой запрос открыл злоумышленнику дверь.
  4. Смените пароль от панели хостинга и почты, к которой она привязана. Остальные пароли менять пока рано — об этом ниже.
Не удаляйте сайт целиком и не восстанавливайте старую копию «вслепую». Если копия была сделана уже после заражения, а уязвимость не закрыта, вы просто вернёте всё в исходное состояние и потеряете время.

Поиск вредоносного кода

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

Сравнение с эталоном

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

Поиск по характерным конструкциям

Вредоносный код на PHP почти всегда использует одни и те же приёмы: декодирование строк из base64, выполнение строки как кода, сжатие данных, вызов функций через переменные. Поиск по этим конструкциям даёт список подозрительных файлов, который затем проверяется вручную, ведь те же функции встречаются и в легальных плагинах.

Проверка по датам изменения и местоположению

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

Очистка базы данных

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

  • Просмотрите таблицу пользователей и удалите все учётные записи, которых не должно быть.
  • Проверьте таблицу настроек на наличие внешних скриптов, iframe и подозрительно длинных закодированных значений.
  • Найдите в записях и страницах вставки тегов script, ведущих на сторонние домены.
  • Изучите запланированные задания: вредонос может регулярно скачивать свою копию с внешнего сервера.

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

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

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

ПричинаКак проявляетсяЧто делать
Устаревший плагин или тема с известной уязвимостьюВ логах — запросы к конкретному файлу расширения перед появлением вредоносаОбновить или удалить расширение, найти безопасную замену
«Нулённые» платные темы и плагиныЗакладка встроена в сам дистрибутив с первого дняПолностью удалить, установить лицензионную версию
Подобранный или утёкший парольУспешные входы в админку с незнакомых адресовСменить все пароли, включить двухфакторную защиту
Соседний заражённый сайт на том же аккаунте хостингаВредонос появляется сразу в нескольких проектахЛечить все сайты аккаунта, разделить их
Заброшенные копии и тестовые версии сайтаСтарая папка с давно не обновлявшимся движкомУдалить всё, что не используется

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

Смена доступов и финальная проверка

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

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

Как не допустить повторного заражения

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

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

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

Вывод

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

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

Ещё несколько материалов из рубрики «Безопасность сайтов»

Защита административной панели сайта
Безопасность сайтов

Защита административной панели сайта

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

Время чтения: 7 мин
Сайт попал в список опасных: что делать
Безопасность сайтов

Сайт попал в список опасных: что делать

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

Время чтения: 7 мин
DDoS-атаки и небольшие сайты
Безопасность сайтов

DDoS-атаки и небольшие сайты

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

Время чтения: 7 мин

Остались вопросы?

Опишите задачу — специалисты студии ответят на почту и предложат решение для вашего сайта.

Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности сайта