Проверить VPS сервер на наличие вредоносного ПО можно при помощи сканера Linux Malware Detect.
Все действия необходимо производить по SSH.
Установка сканера
Соединитесь с сервером по SSH: Подключение к серверу VPS по SSH. Последовательно выполните нижеследующие команды. Для этого скопируйте каждую команду, вставьте её в клиент PuTTY при помощи нажатия «Shift» + «Insert» и нажмите «Enter».
cd /usr/local/src/
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar -xzf maldetect-current.tar.gz
cd maldetect-*
sh ./install.sh
Запуск сканирования
Выполните команду:
maldet -b -a /
Данной командой будет запущено фоновое задание на сканирование всех каталогов сервера VPS.
Проверка результатов сканирования
Сканирование может идти продолжительное время и зависит от объёма данных. Чтобы проверить, закончилось ли сканирование, выполните команду: ps aux | grep [m]aldet
.
Пример вывода команды
ps aux | grep [m]aldet
root 12429 17.8 0.0 118408 6304 pts/0 S 09:24 1:35 bash /usr/local/sbin/maldet -b -a /var/www/user/data/www/mysite.ru/
В примере видно, что запущено сканирование каталога /var/www/user/data/www/mysite.ru/ и процесс ещё идёт. В данном случае нужно ещё ждать окончания сканирования. Если же вывод команды пустой, то сканирование закончилось, можно проверять результат, для этого выполните команду maldet -e
.
Пример вывода команды
HOST: 5-63-155-200.xen.vps.regruhosting.ru
SCAN ID: 160721-1022.31393
STARTED: Jul 21 2016 03:19:34 +0400
COMPLETED: Jul 21 2016 10:22:42 +0400
ELAPSED: 0s [find: 0s]
PATH: /var/www/user/data/www/mysite.ru/
TOTAL FILES: 37845
TOTAL HITS: 1
TOTAL CLEANED: 0
WARNING: Automatic quarantine is currently disabled, detected threats are still accessible to users!
To enable, set quarantine_hits=1 and/or to quarantine hits from this scan run:
/usr/local/sbin/maldet -q 160721-1022.31393
FILE HIT LIST:
{MD5}php.cmdshell.unclassed.4690 : /var/www/user/data/www/mysite.ru/pgtz.php
В примере видно, что сканирование продолжалось 7 часов (с 03:19:34 до 10:22:42). Было проверено 37845 файлов (TOTAL FILES) и найдена одна угроза (TOTAL HITS).
В нижней части вывода команды приведён список файлов, в которых найдены угрозы (FILE HIT LIST). В нашем примере файл один: /var/www/user/data/www/mysite.ru/pgtz.php и в нём найден cmdshell. Данный файл необходимо проанализировать, удалить вредоносные куски кода или вовсе удалить файл целиком.
Чтобы выйти из отчёта maldet нажмите «Shift» + «:» (двоеточие необходимо набирать в латинской раскладке — клавиша с буквой «Ж»). После этого введите «q» и нажмите «Enter».
Внимание
Будьте аккуратны в удалении файлов, не удалите случайно критически важные файлы для работы сайта. Перед любой чисткой вирусов рекомендуем создавать резервную копию сайта.
Что делать, если сервер заражен
В случае обнаружения вредоносного ПО на сервере, или вам поступило соответствующее уведомление, используйте следующие рекомендации:
-
1
смените все доступы на сервере:
- 2 произведите обновление всех используемых CMS, плагинов, шаблонов, модулей;
-
3
просмотрите список запущенных процессов на предмет наличия вредоносного ПО. Для этого подключитесь к серверу по SSH и выполните команду:
pstree
:Согласно выводу запущенных процессов, в данном случае, вредоносным ПО является запущенный процесс под именем «ps», так как оригинальный процесс запускается под процессом «bash». Далее, проверьте наличие исходящих соединений у такого процесса командой
lsof -i
:Исходя из результата указанной команды, процесс «ps» производит подозрительные подключения. Просмотрите с какого каталога производится его запуск и удалите вирус. Узнать детальную информацию по запущенному процессу вы можете используя команду
lsof -p ID
:где:
- ID — PID процесса из полученного ранее списка.
При анализе вывода данной команды обратите внимание на строки со значениями cwd и txt в колонке «FD». Стандартно, в данных строках значится директория, в которой расположен запускаемый процесс.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊