Как проверить VPS на наличие вирусов
Проверить 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». Стандартно, в данных строках значится директория, в которой расположен запускаемый процесс.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊