Как проверить сайт на вирусы: онлайн-сканеры и ручная проверка
Содержание · 8

Проверить сайт на вирусы можно за 30–60 минут: прогоните адрес через два-три онлайн-сканера, откройте панели Яндекс Вебмастера и Google Search Console, затем сравните файлы на хостинге с чистой копией. Онлайн-сканер видит только то, что отдаёт страница. Код, который прячется для посетителей и показывается поисковым роботам, он часто пропускает, поэтому одной проверки по ссылке мало.
Что такое «вирус на сайте» на самом деле
Для сайта «вирус» почти всегда означает постороннюю вставку: скрипт в шаблоне, подмену ссылок, файл-загрузчик или скрытые страницы со спамом. Обычного компьютерного вируса, который заражает сам сервер, здесь меньше. Цель у вставки одна: продать вашу аудиторию (редиректы, реклама), украсть данные формы или использовать сайт для рассылок.
Признаки того, что вставка уже есть, разобраны в статье как понять, что сайт или хостинг взломали. Здесь нас интересует именно проверка: чем и в каком порядке.
Шаг 1. Онлайн-сканеры: быстро, но поверхностно
Онлайн-сканер запрашивает страницу как браузер и ищет в ней известные вредоносные шаблоны и репутацию домена в базах. Он бесплатный и ничего не требует от вас, но проверяет только публичные страницы. Для начала используйте несколько источников, потому что у каждого свои базы.
| Что проверить | Чем | Что покажет | Чего не увидит |
|---|---|---|---|
| Репутация домена и страницы | VirusTotal (virustotal.com), Kaspersky OpenTIP | Метки десятков антивирусных движков и баз фишинга | Код, который виден только роботам или только на других страницах |
| Внешний вид кода страницы | Бесплатные сканеры сайтов вроде Sucuri SiteCheck | Подозрительные скрипты, внешние iframe, чёрные списки | Файлы на сервере, базу данных, админку |
| Метки поисковиков | Яндекс Вебмастер, Google Search Console | Предупреждения «Безопасность» и «Проблемы безопасности» | Заражение, о котором поисковик ещё не знает |
| Наш быстрый тест | проверка сайта на взлом | Признаки взлома на публичных страницах | Содержимое хостинга |
Шаг 2. Панели поисковиков
Поисковые системы сканируют сайт чаще и глубже, чем бесплатный сканер, и сообщают о находках в личном кабинете. Откройте раздел безопасности в Яндекс Вебмастере и отчёт «Проблемы безопасности» в Google Search Console. Если там пусто, это хороший, но не окончательный знак.
Дополнительно введите в поиске site:ваш-домен.ru и пролистайте выдачу. Страницы про лекарства, ставки или «скачать бесплатно», которых вы не создавали, говорят о скрытом спаме. Про один из таких случаев мы писали в разборе японского keyword-хака на WordPress.
Шаг 3. Ручная проверка файлов
Если у вас есть доступ к хостингу по SSH или через файловый менеджер, проверьте три вещи. Любое изменение в незнакомых местах стоит фиксировать, ничего не удаляя сразу.
- Сделайте полную копию сайта и базы. Это страховка и материал для разбора.
- Отсортируйте файлы по дате изменения. Если шаблон не менялся полгода, а файл в нём обновлён позавчера, это повод открыть его.
- Найдите PHP-файлы в папках загрузок (
uploads,images,cache). Там обычно лежат картинки, и исполняемому коду делать нечего. - Сравните ядро CMS с оригиналом. У WordPress для этого есть
wp core verify-checksums, у Битрикса и Joomla можно сравнить с чистым дистрибутивом той же версии. - Посмотрите список администраторов в CMS и FTP-пользователей. Лишняя учётная запись — один из самых частых следов.
Поиск по ключевым словам вроде base64_decode или eval( даёт много ложных срабатываний: их используют и легальные плагины. Ищите не слово, а сочетание: длинная закодированная строка плюс выполнение. Если разбирать такие находки самому нет желания, лучше передать копию специалисту.
Шаг 4. База данных и внешние скрипты
Часть заражений живёт не в файлах, а в базе: вставка в тексты записей, в настройки темы, в блок «код для счётчиков». Выгрузите базу и поищите в ней теги <script и <iframe, которых вы не добавляли. Отдельно проверьте, какие внешние скрипты подключены на странице: в инструментах разработчика браузера, вкладка Network, отфильтруйте по сторонним доменам. Незнакомый домен с загрузкой кода — вопрос к тому, кто этот код ставил.
Что делать, если нашли
- Не удаляйте вредоносный файл сразу. Сначала узнайте, как он попал: если оставить входную дверь, он вернётся.
- Смените пароли хостинга, FTP, SSH, базы и администраторов CMS, затем ключи API. Менять нужно после чистки, иначе новый пароль украдут снова.
- Обновите CMS, плагины и PHP. Проверьте, что нет заброшенных плагинов: уязвимость в них, как правило, и открывает вход.
- Если сайт помечен поисковиком, после чистки запросите перепроверку в Вебмастере и Search Console. Подробности: «Этот сайт может быть взломан» в Google.
- Выбирайте для восстановления копию до даты заражения, а не последнюю: как выбрать точку.
Полную чистку с поиском причины мы делаем в рамках услуги лечение сайта от вирусов, стоимость и сроки указаны на странице.
Как не искать вирусы снова
Включите автоматические проверки целостности файлов и мониторинг изменений, ведите резервные копии не на том же сервере и обновляйте компоненты по графику. Для небольшого сайта этого хватает, чтобы заражение заметили в течение суток, а не через месяц.
Вопросы и ответы
Можно ли проверить сайт на вирусы онлайн бесплатно?
Да, бесплатные сканеры вроде VirusTotal и SiteCheck покажут вставки на публичных страницах и репутацию домена. Они не видят файлы на сервере и базу данных, поэтому их результат считайте первым фильтром.
Как понять, что сайт заражён, если сканер молчит?
Смотрите на симптомы: редиректы с мобильных, лишние страницы в выдаче site:, предупреждения в Вебмастере и Search Console, незнакомые администраторы и недавние изменения файлов шаблона.
Сколько времени занимает проверка?
Базовая проверка сканерами и панелями поисковиков занимает до часа. Полный разбор файлов и базы, если сайт большой, может занять день.
Вирус на сайте может заразить компьютеры посетителей?
Может, если на странице подгружается вредоносный скрипт или ведётся перенаправление на фишинговый сайт. Поэтому браузеры и поисковики помечают такие сайты предупреждением.
Читайте также
Проверка сайта на уязвимости: что можно проверить самому
БезопасностьАудит безопасности сайта: что проверяют и как подготовиться
БезопасностьКак проверить версию PHP и закрыта ли PHP2Shell: php -v, журнал пакетов, службы
НовостиDocker Hub: двухлетняя уязвимость с токенами, что проверить
SEOSEO-анализ текста страницы онлайн: что проверять и что игнорировать
БезопасностьРезервные коды 2FA: как хранить и проверить восстановление