На днях хостинг провайдер 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.

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

Проверка файлов сайта антивирусом AI-Bolit

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

Последнее время я пользуюсь для этих целей разработкой Revisium – антивирусом AI-Bolit. Кроме своего антивируса для сайтов, этот сервис участвовал в совместной разработке антивируса для Яндекс.

Давайте по шагам пройдем все этапы поиска и лечения с помощью AI-Bolit.

Установка антивируса AI-Bolit

С этой страницы скачиваете архив с программой для хостинга — https://revisium.com/ai/ (файл небольшой).

Есть версия для Windows — для ее использования необходимо скачать все файлы сайта с хостинга себе на компьютер.

Есть версия для хостинга — проверка на вирусы идет прямо там (на сервере с сайтом). Я буду рассказывать о работе именно хостинговой версии, скачивайте ее.

скачать антивирус

Распакуйте скачанный архив, в результате, у вас появляется папка с названием аналогичным названию архива – ai-bolit, папка tools и 2 файла.

папки антиивруса

Для работы понадобится только содержимое из первой папки (ai-bolit), состоящее из 5 файлов. Необходимо закинуть в корневую папку вашего сайта (туда, где лежит ваш index.php) по FTP или через файловый менеджер эти 5 файлов.

файлы программы

Настройка программы

По умолчанию антивирус уже готов к работе, но в нем есть две настройки, которые вы можете применить для оптимизации программы под свои нужны. Все настройки делаются в файле ai-bolit.php.

1. Настройка глубины сканирования. Она может быть 3 степеней: 0 — быстрая проверка, 1 — экспертная, 2 — параноидальная, по умолчанию стоит 1. Отвечает за этот параметра строка:

define('AI_EXPERT_MODE', 1);

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

define('PASS', '1122334455');

настройка ai-bolit

После сохранение настроек переходим к запуску сканера.

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

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

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

результат проверки ai-bolit

Проблемы при запуске

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

502-oshibka

В этом случае есть 3 варианта:

  1. Хостер сам осуществляет сканирование на вирусы и предупреждает клиентов об их появлении.
  2. Хостер может разрешить вам проверку после запроса в службу технической поддержки.
  3. Скачивайте файлы сайта на компьютер и проверяйте версией антивируса для Windows.

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

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

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

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

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

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

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

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

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

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