15524 2
SEO Читать 20 минут

Как проверить сайт на вирусы

Как сканировать сайты на вирусы
Автор статьи о сканировании сайтов на вирусы Михаил Круговой
Михаил Круговой
TechOps Engineer в HOSTiQ.ua
Почти каждый владелец сайта сталкивался с проблемой, когда сайт внезапно начинает тормозить или вообще перестает работать. Если вы исключили DDoS-атаку, изменения в коде и содержимом сайта, изменения на стороне хостинг-провайдера, — похоже, что на сайте завелись вирусы.

Такая ситуация может привести к наложению санкций со стороны поисковиков. В этой статье я расскажу, какие бывают вирусы, как они попадают на сайты. Рассмотрим как проверить на вирусы ресурс и как удалить вирус на сайте при его обнаружении.

Вредоносный код: виды и принцип работы

Вредоносный код на сайтах обычно делят на две категории:
1
Эксплоиты. Они эксплуатируют уязвимости в программном обеспечении, чтобы попасть на сайт. Когда внедряются, выполняют незапланированные действия — например, рассылают спам.

В случае с сайтами, написанными на PHP, эксплоит чаще всего — PHP-код, который почти всегда зашифрован. Эксплоиты на зараженных сайтах встречаются практически всегда.
2
Вирусы и трояны. Это могут быть классические вирусы для Windows и программные модули для Linux. Они встречаются на сайтах намного реже эксплоитов. В последнее время наиболее часто встречаемые нами модули/программы для Linux — это модули для майнинга.
Народная примета системных администраторов: «нашел вирус — ищи эксплоит». Это логично, так как вирус каким-то образом попал на сайт.

Что делает вредоносный код на сайтах

  • Рассылает спам. Кроме того, что таким образом расходуются ресурсы системы, это обычно не влияет на работу сайта.

Но проблема в том, что если с сайта начинает идти спам, почтовые системы, такие как Gmail, Outlook, Yahoo! начинают воспринимать любые сообщения с сайта как спам.

  • Занимается фишингом. Код крадет данные пользователей — например, номера кредитных карт.

Это может делать страница злоумышленника, которую он разместил на вашем сайте. Это грозит блокировкой сайта на уровне браузера — ссылка на сайт будет перенаправлять на красную страницу, и на ресурс никто не сможет зайти. Другие последствия: снижение рейтинга сайта в поисковой выдаче, сайт в черном списке Гугл.
Сайт заблокированный браузером
Пример заблокированного сайта
  • Распространяет вирусы для ПК.

  • Занимается майнингом. Злоумышленник внедряет код, который использует ресурсы сайта. Они исчерпываются, и сайт перестает работать.

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

Как вредоносный код попадает на сайт

Типичный сайт работает на связке технологий LAMP: Linux+Apache+Mysql+PHP. Согласно официальной статистике, чаще всего это CMS на PHP — WordPress или Joomla!

В каждой из этих CMS есть уязвимости, через которые вредоносный код может попасть на сайт. Уязвимости для Вордпресс можно посмотреть на сайте WPScan Vulnerability Database, для Joomla! — Joomla! Vulnerable Extensions List.

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

Проверка сайта на вирусы у хостинг-провайдера

Мы собрали статистику по проблеме вредоносного кода на одном из наших серверов. За 45 дней на сервере во время ежедневного автоматического сканирования было просканировано более 3 млн файлов и найдено около 5 тыс единиц эксплоитов. Среди них не было ни одного, который бы был чистым вирусом:
График результатов анализа сайта на вирусы
График результатов анализа ресурса на вирусы
Может показаться, что 5 тысяч эксплоитов на фоне более 3 миллионов файлов — это немного, меньше 1% зараженных файлов. Но проблема в том, что даже одного эксплоита достаточно, чтобы сайт работал на злоумышленника.

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

  • Размер базы сигнатур вредоносного кода;
  • Частота обновления базы.

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

Виды сканеров

Перечислим категории сканеров для поиска вредоносного кода на сайте:

Sucuri

Sucuriонлайн-сканер, к такому ПО также относятся Rescan.pro и PCrisk.
Преимущества: легко пользоваться.
Недостатки: ограниченные возможности сканирования и меньший процент выявления вредоносного кода.

Beget

Компания Beget, предоставляющая хостинг, предлагает использовать сканер-скрипт PHP Ai-Bolit, аналогом которого является phpMussel.

Преимущества: могут обнаружить больше вирусов, чем online-сканеры, так как код сканируется в той же среде, что и сайт.

Недостатки: в зависимости от сервера могут применяться ограничения для выполнения PHP. Поэтому возможны условия, когда скрипт не сможет выполняться корректно.

Reg.ru

Хостинг-провайдер REG.RU также предоставляет проверку антивирусом, предварительно создав бэкапы файлов сайта. Антивирус позволяет обнаружить и удалить трояны, шеллы, вредоносные коды и пр.

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

Платный антивирус ImunifyAV

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

cPanel

cPanel — это платное многофункциональное программное обеспечение для администрирования хостинга, разработанное компанией cPanel Inc. Большинство хостинг-провайдеров cPanel содержат сканер вирусов ClamAV, позволяющий защитить сайт от возможных угроз на сервере.
Преимущества: открытый исходный код антивируса, борьба с троянами, вредоносными скриптами и программами.
Недостатки: сканер плохо обнаруживает эксплоиты.

ISPmanager

ISPmanager — это платное программное обеспечение для хостинга, с помощью которого можно управлять веб-серверами, серверами баз данных и прочими аналогичными программами. Обнаружение и лечение троянов, шеллов, фишинговых страниц осуществляется с помощью ImunifyAV.

Maldet

Полное название Maldet — Linux Malware Detect, сокращенно LMD — специальный сканер сайтов/эксплоитов. В данной группе также находятся CXS и ConfigServer eXploit Scanner.

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

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

Эти инструменты очень редко подходят для использования на веб-хостинге. Идеальный вариант использования обоих — на VPS или выделенном сервере.

Virusdie

Virusdie представляет собой облачный антивирус и фаервол для сайта. Фаервол предназначен для защиты ресурсов от вирусов, хакерских атак и загрузки вредоносных программ. Антивирус позволяет быстро найти и удалить редиректы, шелы, трояны на сайтах и серверах.
Преимущества: благодаря ПО можно узнать, что сайт находится в каком-либо черном списке и снять эти санкции.
Недостатки: сервис доступен на платной основе, для корректной работы лучше не использовать автоматический режим лечения ресурсов.

CloudScan.Pro

CloudScan.Pro — это гибридный или облачный сканер.

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

ClamAV

ClamAV, также как и Comodo, Kaspersky, Avast, относятся к специализированным сканерам вирусов. Программное обеспечение на подобии Аваст принято называть и считать антивирусом. Эти программы обычно установлены на большинстве ПК с Windows.

Преимущества: распространены, хорошо обнаруживают вирусы.
Недостатки: очень плохо обнаруживают эксплоиты.

VirusTotal

Virustotalагрегатор обработки файлов. Этот инструмент агрегирует обработку файлов различными антивирусами.

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

2IP.ru

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

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

Проверка безопасности сайтов с помощью инструментов поисковых систем

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

Google

Зайдите в Google Search Console, выберите свой ресурс и перейдите в раздел «Проблемы безопасности и меры принятые вручную» → «Проблемы безопасности». Если на сайте не обнаружены вредоносные код или ПО, ссылки на скачивание вредоносных программ, страницы, вводящие в заблуждение, потенциальный фишинг и прочие нарушения, должно отображаться сообщение: «Проблем нет»:
Проверка проблем безопасности в Google Search Console
Проверка проблем безопасности сайта в Search Console

Yandex

Проверить сайт на безопасность можно также в Яндексе. Перейдите для этого в Яндекс.Вебмастер и выберите «Диагностика» → «Безопасность и нарушения». Если на сайте нет проблем с вирусами, мошенничеством и прочими нарушениями, то в этом разделе отобразится соответствующее сообщение.
Диагностика сайта в Яндекс.Вебмастере
Проверка безопасности сайта в Яндекс.Вебмастере
#1

Для новичков: онлайн-сканеры и антивирусы ПК

Сканирование с помощью онлайн-сканеров

    В качестве примера мы взяли зараженный сайт и использовали бесплатные или условно бесплатные программы для сканирования вирусов. Результаты сканирования онлайн-сканерами Sucuri, ReScan.pro и PCrisk:
    Анализ сайта с помощью онлайн-сканеров Результаты сканирования сайта используя ReScan Анализ сайта в PCrisk
    Несмотря на легкость, у онлайн-сканирования есть недостатки:

    • Как видно на скриншотах, онлайн-сканер обнаруживает далеко не все образцы вредоносного кода.
    • Онлайн-сканеры не могут лечить сайты.

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

    Проверка кода сайта на локальном компьютере

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

    Альтернативный способ загрузить файлы на ПК — использовать FTP или SFTP-клиент для подключения к серверу.
    2
    Дамп базы данных сайта. Обычно вы можете получить дамп при помощи утилиты phpMyAdmin. Она есть на большинстве хостингов.

    Бывают случаи, когда вредоносный код находится в базе данных и извлекается оттуда скриптом хакера. Такое встречается редко. Но несмотря на редкость, дамп базы нужно проверять.
    Результаты сканирования того же зараженного сайта при помощи сканера Windows Defender:
    Анализ сайта с помощью Windows Defender
    Анализ сайта в Windows Defender
    Как правило, в базах антивирусов для ПК нет сигнатур, которые определяют эксплоиты, используемые на сайтах. Несмотря на это, рекомендуем использовать антивирус ПК, например, Касперский, и как экспресс-тест, и как средство первичного лечения.

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

    Если объем сайта небольшой — до 256 MB, можете воспользоваться агрегатором VirusTotal. Использовать его так же просто, как и остальные онлайн-сканеры — нужно указать, где на ПК находится архив с сайтом и базой.

    В нашем случае полный размер сайта был больше 256 MB. Поэтому мы проверили его файлы выборочно. Как видно на скриншоте, Virustotal использовал 58 антивирусных программ для стационарных ПК. В итоге только 19 антивирусов из 58 обнаружили вредоносный код в архиве.
    Детальный анализ сайта в онлайн агрегаторах
    Анализ сайта в онлайн-агрегаторах
    #2

    Онлайн-проверка на вредоносное ПО

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

    Самый универсальный вариант — загрузить код сайта и его базу данных на локальный ПК и сканировать его доступными средствами. В этом случае вы сможете устанавливать и использовать любое ПО без оглядки на хостинг/сервер, на котором размещается сайт.

    Предполагается, что на компьютере, на котором будут сканироваться файлы
    после того, как осуществится скачивание, стоит ОС Linux. В случае сканирования на стороне хостинга/сервера процедура та же — только к хостингу/серверу нужно подключаться по SSH.

    Сканеры — PHP-скрипты

    Для того, чтобы сканировать файлы сканерами-скриптами, нужен интерпретатор PHP и возможность запускать PHP скрипты из командной строки. Использовать сканеры на основе PHP можно во всех ОС, поддерживающих PHP: Linux/Mac/Windows и других.

    Теоретически сканеры-скрипты можно выполнять на сервере с сайтом.Практически часто бывают ограничения:

    • Не все хостеры предоставляют доступ по SSH.
    • На хостинге могут быть ограничения на время выполнения PHP скриптов. Поэтому сканирование может длиться бесконечно.

    Использование антивируса из командной строки сервера

    Для примера мы протестировали условно бесплатный сканер AI-Bolit.

    Чтобы просканировать сайт, нужно:
    1
    Скачать архив со сканером и распаковать подкаталог ai-bolit в корневой каталог сайта — на локальный ПК или хостинг.
    2
    В командной строке перейти в каталог, куда был распакован AI-Bolit, и выполнить одну из команд:

    Для экспресс-сканирования: $ php ai-bolit.php --mode=1
    Параноидальный режим для лечения: $ php ai-bolit.php --mode=2
    Сканер выводит краткий отчет о результатах сканирования в командной строке и полный в виде HTML документа:
    Проверка на вирусы в командной строке Результаты проверки в HTML документе
    В отличие от онлайн-сканеров, скрипты-сканеры — полноценные инструменты, которые могут тщательно просканировать сайт. Часто это единственный доступный инструмент, которым вы можете просканировать сайт на хостинге.

    Специализированные программные сканеры

    От имени пользователя root нужно выполнить следующие команды:

    • # cd ~
    • wget — скачать последнюю версию в текущий каталог;
    • tar -xvf maldetect-current.tar.gz — распаковать архив;
    • ls -d */ | grep maldetect — узнать, как называется каталог с только что распакованной версией;
    • cd maldetect-1.6.2 — перейти в каталог;
    • # ./install.sh — запустить установку;

    После установки можно выполнять такие команды:

    • # maldet -a /path/to/files — просканировать каталог, в котором находится сайт;
    • /path/to/files — расположение файлов сайта, который нужно просканировать;
    • # maldet --report 180731-2020.1148 — просмотреть отчет о сканировании. Имя отчета находится в выводе команды предыдущей команды.
    • # maldet --q 180731-2020.1148 — переместить все файлы из отчета в карантин.

    Результаты сканирования зараженного сайта:
    Результаты сканирования зараженного сайта
    Результаты сканирования сайта с вирусами
    Для сравнения: результаты сканирования коммерческим CXS:
    Результаты сканирования коммерческим CXS
    Результаты сканирования сайта коммерческим CXS
    Результаты сканирования подопытного сайта тремя сканерами:

    • AI-Bolit: 184 вредоносных скриптов;
    • maldet/LMD: 57 malware hits;
    • CXS: 65 fingerprints + 10 Viruses.

    Число обнаруженных объектов в отчетах разнится, потому что сканеры используют разные базы сигнатур, терминологию и методики подсчета объектов с вредоносным кодом. Например, AI-Bolit считает вредоносными скриптами мусорные PHP страницы, в том числе doorway pages, хотя в них нет вредоносного кода. А maldet/LMD и CXS — нет.
    Лайфхак: как правило, все хостинговые компании используют какой-то инструмент для поиска вредоносного кода на своих серверах. Поэтому если вы — лояльный клиент, можете попросить техподдержку просканировать ваш сайт, — возможно, за отдельную плату. Но не злоупотребляйте — компания не обязана этого делать, если это не предусмотрено вашим тарифом.

    Что делать после сканирования сайта

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

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

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

    Также на этапе лечения разработчики сайта должны найти, как вредоносный код попал на сайт. Некоторые инструменты могут помочь с информацией об уязвимостях. Например, программа AI-Bolit сообщает об известных ей уязвимостях в узком спектре известного ей ПО. CXS дает информацию обо всех известных ему устаревших версиях ПО.

    Профилактика рецидивов

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

    По нашему опыту с недавней уязвимостью в CMS Drupal, первые признаки вредоносного кода на сайтах были зафиксированы через 36-48 часов после публикации уязвимости и способа ее устранения — обновления CMS до последней версии. Если бы наши клиенты, которых взломали, обновили CMS — проблем бы не возникло.
    3
    Регулярно наблюдайте за сайтом.
    4
    Регулярно делайте резервные копии.
    Нет идеального продукта, который бы был бесплатный, удобный, находил бы все образцы вредоносного кода, лечил сайт и работал бы на всех серверах. Но если использовать комбинацию из нескольких пунктов — использовать сканер, регулярно создавать резервные копии и обновлять CMS, — можно решить почти все проблемы с вредоносным кодом на сайте.

    Заключение

    Чтобы обнаружить вредоносный код на сайте, необходимо просканировать файлы и базу данных сайта при помощи одного или нескольких инструментов:

    Для экспресс-сканирования можно воспользоваться онлайн-сканерами (Rescan.pro, Sucuri, PCrisk). После восстановления сайта (в случае заражения) — найти способ, как вредоносный код попал на сайт и, если причина заключается в устаревших CMS и плагинах, — обновить их.
    Также для быстрого сканирования можно воспользоваться SEO-аудитом страницы сайта Serpstat.

    FAQ

    Где можно проверить сайт на вирусы?

    Проверить сайт на вирусы можно с помощью различных онлайн-сканеров, десктопных программ-антивирусов, PHP-скриптов. Также информация о наличии проблем с безопасностью отображается в панелях веб-мастеров Яндекс и Google. Как правило, хостинг-провайдеры предлагают инструменты для защиты и лечения сайтов от вирусов.

    Как проверить сайт на вирусы онлайн?

    Для проверки ресурса на вирусы подходят онлайн-сканеры, например, Sucuri, Rescan.pro, PCrisk, 2IP.ru. Также можно воспользоваться облачным антивирусом Virusdie или агрегатором обработки файлов Virustotal.

    Как проверить сайт на вирусы WordPress?

    Помимо онлайн-сканеров и антивирусного программного обеспечения, можно использовать плагины WordPress. Установите для проверки сайта Exploit Scanner, Antivirus, Sucuri Security, Anti-Malware Security and Brute-Force Firewall или другой подходящий плагин с ресурса WordPress.org. Установку антивируса можно также провести из административной панели WordPress.

    Как проверить сайт на вирусы через FTP?

    Чтобы проверить ресурс на вирусы, загрузите на компьютер файлы сайта с помощью FTP-клиента, например, FileZilla. Затем воспользуйтесь сканером для поиска вирусов и вредоносного кода, например, Windows Defender. Еще для обнаружения вирусов можно использовать ClamAV, Comodo, Kaspersky и Avast.

    Как найти вредоносный код на сайте?

    Чтобы найти вредоносный код, а затем вылечить сайт, можно использовать агрегатор VirusTotal, онлайн-сканеры или сканирование на стороне хостинга. Также для обнаружения вирусов можно использовать сканеры-скрипты на основе PHP или запустить сканер из командной строки сервера .

    Сэкономьте время на изучении Serpstat

    Хотите получить персональную демонстрацию сервиса, тестовый период или эффективные кейсы использования Serpstat?

    Оставьте заявку и мы свяжемся с вами ;)

    Оцените статью по 5-бальной шкале

    4.55 из 5 на основе 30 оценок
    Нашли ошибку? Выделите её и нажмите Ctrl + Enter, чтобы сообщить нам.

    Поделитесь статьей с вашими друзьями

    Вы уверены?

    Знакомство с Serpstat

    Узнайте об основных возможностях сервиса удобным способом!

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

    Имя

    Email

    Телефон

    Будем рады вашему комментарию
    Я принимаю условия Политики конфиденциальности.

    Спасибо, мы сохранили ваши новые настройки рассылок.

    Сообщить об ошибке

    Отменить

    Мы используем файлы cookie для обеспечения работоспособности сервиса, улучшения навигации и маркетинговых активностей Serpstat. Нажимая "Принять и продолжить", вы соглашаетесь с нашей Политика конфиденциальности

    Открыть чат технической поддержки
    mail pocket flipboard Messenger telegramm