Как понять, что на сайте вирус, и что делать
Заражённый сайт часто выглядит нормально для владельца и опасно для всех остальных. Разбираем, где смотреть и в каком порядке лечить.
Клиент пишет, что с вашего сайта его перекинуло на казино. Вы открываете сайт с ноутбука — всё на месте, никаких казино. Так часто выглядит заражение: вредоносный код показывает себя посетителям и поисковикам, а владельца, который заходит по прямому адресу, обходит стороной.
Поэтому понять, что на сайте вирус, по одному взгляду на главную нельзя. Надёжнее смотреть туда, где заражение видно со стороны: в Яндекс Вебмастер, в Google Search Console, в выдачу по своему сайту и на то, что видят посетители с телефона. Если признаки подтвердились, лечить сайт стоит по порядку — с копией, сменой паролей и запросом перепроверки, иначе заражение может вернуться.
Признаки, что сайт заражён
Ни один признак сам по себе не доказывает взлом. Но если совпали два-три, стоит проверить сайт в кабинетах поисковиков в тот же день.
Редирект на чужой сайт, но не у всех. Посетителя уводит на казино, знакомства или «обновление браузера», а у вас всё открывается нормально. Такой код часто срабатывает только при переходе из поисковой выдачи или только с мобильных устройств. Владелец обычно набирает адрес вручную или открывает закладку — и редиректа не видит. Яндекс относит это к нарушению «Неожиданное перенаправление».
Чужие страницы в поиске. Наберите в Яндексе или Google
site:вашсайт.ru и пролистайте результаты. Страницы с текстами про
лекарства, кредиты или ставки, страницы на японском или бессмысленный
набор слов — признак взломанного контента. Google описывает приём,
при котором такие страницы показывают поисковому роботу спам, а человеку —
пустую или обычную страницу, чтобы владелец ничего не заметил.
Пометка в выдаче Яндекса. Под ссылкой на сайт появляется надпись «Сайт может угрожать безопасности вашего компьютера или мобильного устройства». По справке Яндекса её ставят, когда на страницах найден опасный код. Сайт из поиска не удаляют, но предупреждение видит каждый, кто ищет вашу компанию.
Предупреждение в браузере. Вместо сайта открывается красный экран с предупреждением об опасном сайте. Браузеры сверяют адреса со списками опасных страниц: Chrome — с Безопасным просмотром Google (Google Safe Browsing), Яндекс Браузер — с базой Яндекса и его партнёров.
Письмо от хостинга. Хостинг пишет, что на аккаунте найден вредоносный код, или может без предупреждения ограничить сайт или отправку почты. Письмо приходит на ящик, указанный при регистрации аккаунта, — проверьте, что этот ящик кто-то читает.
Спам с вашего сервера. Взломанный сайт нередко используют для рассылки. Тогда адрес сервера или домен попадает в спам-списки, и письма с сайта — заявки, уведомления, счета — начинают пропадать у получателей.
Внезапная нагрузка. Сайт стал медленнее, хостинг сообщает о превышении ресурсов, хотя посетителей больше не стало. Причиной может быть рассылка или тысячи сгенерированных страниц, которые обходят поисковые роботы.
Мелочи в админке. Новый пользователь-администратор, которого никто не заводил; незнакомый плагин; файлы со странными именами в корне сайта.
Где проверить, есть ли на сайте вирус
Яндекс Вебмастер
Раздел: Оптимизация сайта → Безопасность и нарушения. Если алгоритмы Яндекса нашли угрозу или нарушение, они будут здесь, с описанием и примерами страниц. Те же ошибки видны на странице «Диагностика сайта». Если сайт ещё не добавлен в Вебмастер, добавьте и подтвердите права — без этого раздел не откроется. Там же можно включить уведомления о нарушениях, чтобы узнавать о них по почте.
Google Search Console
Отчёт «Проблемы безопасности» показывает три вида проблем: взломанный контент, вредоносное и нежелательное ПО, социальную инженерию (страницы, которые обманом заставляют скачать программу или ввести данные). В отчёте есть примеры адресов, где Google нашёл проблему.
Статус сайта в Google Safe Browsing
Без доступа к кабинетам можно проверить любой адрес в инструменте «Статус сайта» в отчёте Google о прозрачности. Он показывает, считает ли сейчас Безопасный просмотр Google сайт опасным. Удобно, если сайт ведёт подрядчик и Search Console у вас нет.
Онлайн-сканеры
На запрос «проверка сайта онлайн на вирусы» выдача предлагает десятки сервисов. Из известных:
- Sucuri SiteCheck — ищет вредоносный код, редиректы и спам в коде страниц, проверяет присутствие в чёрных списках и устаревшую CMS;
- VirusTotal — прогоняет адрес по базам десятков антивирусных компаний;
- Kaspersky Threat Intelligence Portal — проверяет веб-адреса и домены по базам «Лаборатории Касперского».
Ограничение у всех одно: сканер снаружи видит только то, что видит браузер. Файлы на сервере, базу данных и код, который включается только для посетителей из поиска, он не увидит. Чистый результат сканера не означает, что сайт чистый, — это повод проверить кабинеты поисковиков и попросить хостинг просканировать файлы. У части хостингов такой сканер есть прямо в панели, у остальных можно спросить поддержку.
Проверка руками
Откройте сайт с телефона через мобильный интернет, перейдя по ссылке из поиска Яндекса, а не по закладке. Потом то же самое с компьютера в приватном окне. Если в одном из вариантов вас уводит на чужой сайт, редирект есть, даже если в остальных случаях всё чисто. Цепочку перенаправлений с конкретного адреса покажет проверка редиректов.
Что делать, если сайт заражён
Главная ошибка в первый час — удалять подозрительные файлы наугад или переустанавливать всё подряд. Так теряются следы, по которым видно, как сайт взломали, а дыра остаётся открытой, и заражение возвращается. Порядок ниже опирается на рекомендации Google для взломанных сайтов.
- Сообщите хостингу и подрядчику. Хостинг подскажет, что видит на своей стороне, и может проверить, не затронуты ли соседние сайты на том же аккаунте. Если сайтом занимается студия или фрилансер, передайте им всё, что нашли: скриншоты пометок, примеры адресов из Вебмастера и Search Console, письма хостинга.
- Сделайте копию заражённого сайта. Да, заражённого: файлы и базу данных. Она нужна, чтобы найти способ взлома и ничего не потерять при чистке. Отдельно выясните, есть ли резервная копия, сделанная до взлома: у многих хостингов есть автоматические копии, сколько дней они хранятся — уточните в поддержке.
- Смените все пароли. От панели хостинга, FTP и SSH, базы данных, администраторов сайта, почты, на которую они зарегистрированы. Удалите учётные записи, которые никто не заводил. Начинать стоит с почты: через неё можно восстановить остальные пароли.
- Почистите или восстановите сайт. Если есть чистая копия до взлома,
проще восстановить её и затем перенести изменения, сделанные после.
Если копии нет, чистку делает специалист: сравнивает файлы с
оригинальными, проверяет базу и служебные файлы вроде
.htaccess, куда часто прячут редиректы. - Обновите всё. CMS, плагины, модули, тему оформления. Удалите плагины и темы, которыми не пользуетесь. Устаревшие CMS и плагины Google называет среди обычных путей взлома, наравне со слабыми и повторяющимися паролями. Если сайт собран на конструкторе вроде Тильды, обновлениями занимается платформа, а не владелец; тогда стоит проверить чужие скрипты, вставленные в блоки, и доступы к аккаунту.
- Снова смените пароли. После чистки — ещё раз, на случай, если пароли утекли, пока сайт был заражён.
- Запросите перепроверку. В Яндекс Вебмастере: «Безопасность и нарушения», опишите, что изменили, отметьте «Нарушение исправлено» и нажмите «Отправить на проверку». По справке Яндекса проверка идёт до 30 дней, а если ограничение не сняли, повторно отправить сайт можно только через 30 дней. Поэтому отправлять стоит, когда уверены, что вычистили всё. В Search Console в отчёте «Проблемы безопасности» — кнопка «Запросить проверку»; Google пишет, что рассмотрение занимает от нескольких дней до нескольких недель.
После чистки Яндекс советует ещё несколько недель повторять проверку: вредоносный код, удалённый не полностью, проявляется снова.
Как заметить заражение раньше
Многие признаки выше можно поймать раньше клиента, если на них кто-то смотрит регулярно.
- Подключите сайт к Яндекс Вебмастеру и Search Console и включите уведомления. Проверьте, что они приходят на ящик, который вы читаете.
- Держите резервные копии, которые хранятся отдельно от сайта, и знайте, как их восстановить.
- Обновляйте CMS и плагины, убирайте лишние доступы, когда подрядчик закончил работу.
- Раз в месяц наберите
site:вашсайт.ruи посмотрите, нет ли чужих страниц. Этот и другие пункты собраны в ежемесячном чек-листе сайта. - Следите за спам-списками и редиректами. Попадание сервера в спам-лист может оказаться первым заметным следом рассылки с взломанного сайта, а новое звено в цепочке редиректов — следом подмены правил.
Обходчик проверяет сайт в спам-списках Spamhaus, SURBL, Barracuda и SpamCop и следит за цепочкой редиректов, а при изменениях присылает уведомление в Telegram, MAX, ВКонтакте или на почту. Вредоносный код внутри файлов он не ищет — это работа хостинга и антивируса. Начать можно с бесплатной проверки сайта в чёрных списках: она без регистрации и показывает, не попали ли уже домен или почтовый сервер в спам-списки.