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

На днях хостинг провайдер reg.ru приостановил работу некоторых PHP функций (в частности mail – отправки сообщений) на сайте одного моего клиента, объясняя это тем, что в аккаунте было найдено вредоносное программное обеспечение, рассылающее спам. В связи с этим я решил рассказать вам, читатели BiznesSystem.ru как проверить свой сайт на вирусы и вовремя удалить вредоносный код.

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

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

Как действовать при подозрениях о заражении сайта на вирусы:

  1. Проверить сайт на вирусы и найти файлы содержащие вредоносный код (об это будет половина статьи),
  2. Удалить или вылечить обнаруженные файлы (вторая половина статьи),
  3. Закрыть «дыры» в сайте, через которые проникли нехорошие скрипты.

Все 3 случая взлома, с которыми я сталкивался (2 моих и 1 клиентский) происходили по одной причине – на хостинге некоторые папки имели публичные права доступа 777, разрешающие всем желающим записывать туда любую информацию, так что пункт №3 про закрытие «дыр» самый важный. Про него я расскажу в конце.

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

А пока переходим к поиску и лечению недугов. Чистить сайт надо как можно быстрее, пока опасные коды не натворили неприятностей.

Почему неэффективны онлайн антивирусы для сайта

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

Проблема в том, что такие сервисы как antivirus-alarm.ru, virustotal.com, xseo.in, 2ip.ru и т.д. имеют доступ только ко внешней стороне вашего сайта. Это значит, что они обнаружат вредоносный код только, если он вылезет наружу и будет проявлять какие-то признаки.

А что делать, если инфицированные файлы никак себя не проявляют и пока неактивны или результат их деятельности не дает явных признаков заражения. Ну, например, они просто выводят посторонние ссылки на веб страницах — для онлайн сервиса это будут обычные HTML гиперссылки с тегом <a href>, а сам вирус спрятан глубоко в PHP коде и действует только на уровне сервера при обработке запросов.

Достоинство онлайн антивирусов: Простота использования — написал URL сайта, нажал кнопку и получил результат. Но, не факт, что нашел вирус.

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

Антивирусные плагины

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

Читайте также:  Что такое плагин? Как установить плагин?

Одним словом – в критической ситуации может потребоваться полное сканирование всех файлов хостинга, включая тех, что не относятся к CMS.

Итак, переходим к разделу «Как проверить сайт на вирусы профессиональными способами?».

Проверка файлов сайта антивирусом Manul (Яндекс)

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

Последнее время я пользуюсь для этих целей разработкой Яндекса – антивирусом Manul. Вообще, в последнее время Яндекс делает очень много полезных продуктов, помогающих вебмастерам. Инструкцию по работе с ним я сейчас вам дам.

Установка антивируса Manul

С этой страницы скачиваете архив с программой — https://yandex.ru/promo/manul (файл небольшой).

Дальше, вам необходимо перенести архив в корневую папку вашего хостинга по FTP или через файловый менеджер (обычно, корневая папка называется public_html). Там нужно разархивировать файл, он имеет формат ZIP, все хостинги его автоматом умеют распаковывать.

В результате, у вас появляется папка с названием аналогичным названию архива – manul.

Запуск программы

Дальнейшие действия будут проводиться через браузер. В адресной строке вам необходимо набрать URL ведущий на запускающий файл manul – ваш-сайт/manul/index.php.

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

запуск манул антивирус

Есть еще ссылки на «Сканер» и «Лечение», но после ввода пароля сканер откроется автоматом, поэтому, они не востребованы на данном этапе.

Сканирование файлов хостинга

Интерфейс антивирусов для сайта весьма аскетичен и ошибиться с кнопками невозможно. После ввода пароля у вас будет всего 2 кнопки – «Настройки» и «Начать сканирование» — жмем последнюю.

начать сканирование

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

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

Так как программа работает на сервере (вы видите только индикацию), нагрузки на ваш компьютер она не создает, и вы можете заниматься своими делами до окончания ее работы.

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

отчет о проверке

Анализ результатов

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

Читайте также:  Как вставить видео с Youtube на сайт

Запускается анализатор по этой ссылке — https://antimalware.github.io/manul/

анализатор логов

В него мы загружаем файл, полученный при сканировании. Вся информация из него автоматически, по заранее заложенным Яндексом алгоритмам, будет отсортирована по степени ее полезности/вредности. Хорошие файлы будут помечены зеленым цветом, плохие (содержащие вредоносный код) красным и те, которые выглядят подозрительно и не могут однозначно идентифицироваться станут желтыми. (Картинка кликабельна — увеличивайте)

анализатор вирусов manul

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

На скрине выше видно, что 4 файла имеют красное значение – их стоит удалять без разбора. Желтые стоит просматривать в ручном режиме, но, чаще всего они безопасны и принадлежат вашей CMS. Если по поводу желтеньких есть сомнения, привлекайте знающих людей – пусть подсказывают что и как. С зелеными ничего делать не надо.

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

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

скрипт для лечения

Лечение сайта

Теперь возвращаемся к программе на хостинге, нам нужна вкладка «Лечение». В этой вкладке будет пустое поле, куда мы и добавляем лечащий скрипт.

удалить вредоносный код

Жмем «Исполнить», после чего появится предупредительное сообщение с перечнем всех файлов, которые будут удалены или перенесены в карантин – вы можете перепроверить все ли верно указали. Подтверждение ведет к лечению сайта.

подтвердить удаление файлов

По результатам лечения появится отчет с перечнем выполненных действий.

результат лечения

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

Закрываем уязвимости сайта

Теперь об устранении причин заражения. Выше я говорил, что чаще всего вирусы заливаются через папки, имеющие общий доступ для всех – права доступа 777 (rwxrwxrwx).

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

Для того, чтобы заражение не повторилось после вашего лечения, надо проверить каждую папку, в которой Манул нашел инфицированные файлы и, если надо, сменить права – запретить общий доступ – выставьте свойства 755 (rwxr-xr-x).

права доступа к папке

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

На этом у меня сегодня все – здоровья вашим проектам.

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(14 голосов, в среднем: 5 из 5)