Безопасность вашего сайта и гарантия того, что на нем нет никаких вирусов и уязвимостей имеет очень важное значение. Поскольку если на сайте затаится вирус, то больше всего от него пострадаете не вы, а ваши пользователи. И уже вследствие чего пострадает ваша репутация и ваш проект. Поэтому важно вовремя выявлять и устранять проблемы с безопасностью, а также вовремя обновлять вашу систему и программное обеспечение.
В одной из предыдущих статей мы рассматривали как проверить WordPress сайт на вирусы. В этой же статье сосредоточимся в целом на сайтах, написанных с использования популярного языка программирования PHP, таких сайтов сейчас наибольшее количество в сети. Вы можете использовать онлайн сканеры, но они не дают нужной эффективности, потому что сканируют лишь несколько страниц и у них нет доступа к исходному коду, где больше вероятности найти вредоносный код. Поэтому мы остановимся на антивирусах, с помощью которых выполняется проверка сайта на вирусы локально.
Содержание статьи
Что мы будем использовать?
В этой статье я рассмотрю два решения, это AI-Bolit и Linux Malware Detect. Оба продукты полностью бесплатны и распространяются под свободной лицензией. Оба сканера ориентированы на работу именно в сфере веб для писка различных шелов, бекдоров и других признаков заражения в исходном коде. Антивирусы имеют собственную базу сигнатур, с помощью которой и выявляют угрозы. Также есть определенный уровень эвристического анализа, с помощью которого могут быть обнаружены еще неизвестные угрозы. Обе программы представляют из себя скрипты, которые нужно установить на ваш сервер. А теперь рассмотрим каждую из них более подробно.
Как проверить сайт на вирусы?
Начнем с более популярного сканера AI-Bolit и потом перейдем к более простому, но не менее надежному LMD.
Проверка сайта на вирусы с помощью AI-Bolit
Еще несколько лет назад рынок антивирусов для веб-сайтов пустовал. Системным администраторам и веб-мастерам приходилось самим писать различные скрипты и собирать базы сигнатур чтобы обнаруживать вредоносный код на своих сайтах. Одним из таких скриптов был Ai-bolit. Изначально это был небольшой скрипт, который позволял искать вирусы по регулярным выражениям и гибким патерам. Благодаря этому скрипт обнаруживал больше вариантов зашифрованного вирусного кода. Потом он оброс дополнительными функциями, такими как обнаружение уязвимостей в программном обеспечении, использование баз данных сигнатур, и многое другое. А теперь давайте рассмотрим как установить и использовать AI-Bolit на вашем сервере.
Хотя это и обычный PHP скрипт, для его работы нужно много ресурсов сервера, поэтому если у вас слабый хостинг с ограничением на время выполнения то есть большая вероятность, что ничего не заработает. Сначала вам нужно скачать сами исходники программы. Для этого перейдите на официальный сайт программы, откройте ссылку "Downloads", и нажмите кнопку "Ai-Bolit":
Нам нужна именно версия "General version for hosting, Mac OS X or Unix OS". Далее, загрузите полученный архив на сервер, например, с помощью scp:
scp ai-bolit.zip пользователь@хост:~/
Дальше вам нужно распаковать архив:
unzip ai-bolit.zip
Сканер может работать в режиме веб-интерфейса, но рекомендуется запускать его именно через командную строку для полной проверки. Для этого скопируйте все файлы из папки ai-bolit в корневую папку вашего сайта:
cp ai-bolit/* /путь/к/корневой/папке/сайта
Там будет два файла. Сам сканер и белый список точно надежных файлов, которые не являются вирусами. Дальше нам нужно запустить сканирование. Проверка кода сайта на вирусы выполняется командой:
php ai-bolit.php
Дальше начнется длительный процесс сканирования, который может занять от нескольких часов до суток, в зависимости от того, сколько там у вас файлов. Я бы даже рекомендовал запускать скрипт внутри сессии screen, чтобы ничего не помешало ему выполнить работу до конца, потому что если соединение будет разорвано, то работа скрипта прекратится.
Когда проверка сайта на вирусы ai bolit будет завершена, в этой же папке будет создана html страница с отчетом о том, что было найдено. Здесь есть четыре секции. Первая, красная секция содержит информацию про обнаруженные вирусы, вторая секция - подозрительные файлы, третья секция - обнаруженные уязвимости и четвертая - возможные проблемы с правами доступа или другими настройками сервера.
В самом верху отчета находится общая сводка обо всем, что было обнаружено. Если вы не добавите белый список, то получите очень много ложных срабатываний, как на снимке выше. Дальше вам останется проанализировать полученный отчет, просмотреть все файлы, которые сканеру не понравились и проверить действительно ли там есть вирусы.
Проверка сайта на вирусы с помощью LMD
Linux Malware Detection - это более простая программа для проверки сайта на вирусы. Он использует базу данных сигнатур и регулярные выражения grep для писка вредоносного кода. Кроме того, сканер может интегрироваться с Clamav и использовать clamscan для сканирования вместо своих регулярных выражений. Скачать сканер можно на его официальном сайте.
Дальше его нужно загрузить на сервер уже известной вам командой scp. А затем распаковать архив:
tar xvpzf lmdetect.tar.gz
Дальше перейдите в папку с распакованными файлами и запустите установку скрипта на сервер:
./install.sh
Будут созданы задания cron, обновлена база, а также скопированы исполняемые файлы в необходимые папки. Далее, можно запустить сканирование. Для этого передайте утилите maldet опцию -a, и путь, который нужно проверить:
maldet -a /var/www/losst/data/www/losst.pro/
Сканирование тоже займет достаточно времени, а по прошествии на экран будет выведена вся информация об обнаруженных или исправленных угрозах.
Выводы
В этой небольшой статье мы рассмотрели как проверить сайт на вирусы. Как видите, не только для WordPress есть море сканеров, есть и специальные локальные сканеры, которые позволяют выявить проблемы, намного лучше чем проверка сайта на вирусы онлайн, которая обрабатывает лишь несколько страниц. Не забывайте время от времени проверять свои серверы. Если у вас остались вопросы, спрашивайте в комментариях!