Перейти к основному контенту

Как проверить VPS на наличие вирусов

Проверить VPS сервер на наличие вредоносного ПО можно при помощи сканера Linux Malware Detect.
Все действия необходимо производить по SSH.

Закажите услугу «Сервер для бизнеса»

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

Заказать «Сервер для бизнеса»

Установка сканера

Соединитесь с сервером по 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. 1.

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

  2. 2.
    произведите обновление всех используемых CMS, плагинов, шаблонов, модулей;
  3. 3.

    просмотрите список запущенных процессов на предмет наличия вредоносного ПО. Для этого подключитесь к серверу по SSH и выполните команду: pstree:

    если сервер заражен шаг 1

    Согласно выводу запущенных процессов, в данном случае, вредоносным ПО является запущенный процесс под именем «ps», так как оригинальный процесс запускается под процессом «bash». Далее, проверьте наличие исходящих соединений у такого процесса командой lsof -i:

    если сервер заражен шаг 2

    Исходя из результата указанной команды, процесс «ps» производит подозрительные подключения. Просмотрите с какого каталога производится его запуск и удалите вирус. Узнать детальную информацию по запущенному процессу вы можете используя команду lsof -p ID:

    если сервер заражен шаг 3

    где:

    • ID — PID процесса из полученного ранее списка.

    При анализе вывода данной команды обратите внимание на строки со значениями cwd и txt в колонке «FD». Стандартно, в данных строках значится директория, в которой расположен запускаемый процесс.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0