MAATRIX / Блог / Как проверить сервер на майнер и вирусы

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

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

MAATRIX

Сервер вдруг стал горячим, нагрузка процессора под сотку без видимой причины, счета за трафик выросли — классические признаки того, что вашу машину взломали и запустили на ней скрытый майнер или зловреда. В эксплуатации сервера это нередкая беда, особенно если где-то был слабый пароль или дыра в софте. Ниже разберём по шагам, как проверить сервер на майнер и вирусы, найти вредоноса и вычистить его — с готовыми командами.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Признаки заражения

Скрытый майнер выдаёт себя нагрузкой. Первый и главный симптом — процессор постоянно загружен под 100%, сервер греется, а сайт тормозит, хотя посещаемость обычная. Майнеру нужны вычисления, и он берёт все доступные ресурсы. Второй признак — необъяснимый рост исходящего трафика: заражённый сервер может рассылать спам, участвовать в атаках или общаться с командным центром. Третий — незнакомые процессы в списке, странные соединения, изменившиеся системные файлы, новые задачи в cron.

Важно не паниковать и действовать методично. Высокая нагрузка сама по себе ещё не приговор — это может быть и легальный процесс, переросший тариф. Задача диагностики — отличить нормальную нагрузку от вредоносной активности и, если это зловред, найти, откуда он запускается и как проник. Начинаем с процессов.

Стоит учесть одну коварную особенность современных майнеров: многие из них умеют прятаться от беглого взгляда. Некоторые снижают нагрузку или вовсе засыпают, как только вы заходите на сервер и запускаете top, — они отслеживают запуск инструментов мониторинга и притворяются мёртвыми, пока вы смотрите. Поэтому если сервер явно перегружен по внешним признакам, а top показывает подозрительно спокойную картину, это само по себе повод насторожиться. Другой приём маскировки — подмена системных утилит: зловред заменяет ps, top или ss на свои версии, которые скрывают его процессы и соединения из вывода. Если цифры не сходятся — нагрузка есть, а виновника не видно, — доверяйте не одному инструменту, а перекрёстной картине из нескольких источников, и по возможности проверяйте сервер средствами, принесёнными со стороны, а не теми, что уже стоят на возможно скомпрометированной машине.

Ищем подозрительные процессы

Первым делом посмотрите, что грузит процессор. Отсортируйте процессы по нагрузке и изучите верхушку:

ps aux --sort=-%cpu | head -n 15
top

Майнеры часто маскируются под системные процессы с похожими на настоящие именами вроде kworker, systemd или случайного набора букв, но выдают себя стабильной загрузкой под 100% и запуском от подозрительного пользователя. Обратите внимание на процессы с непонятным именем, запущенные не пойми откуда. Посмотрите полный путь к исполняемому файлу подозрительного процесса по его PID:

ls -l /proc/PID/exe
ls -l /proc/PID/cwd

Эти команды показывают, откуда запущен процесс и в какой директории он работает. Если путь ведёт в /tmp, /dev/shm, домашнюю папку или другое нетипичное место — это почти наверняка зловред, потому что легальный софт так не прячется.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Проверяем соединения и автозапуск

Майнер и бэкдор общаются с внешними серверами. Посмотрите активные сетевые соединения и найдите, куда сервер стучится:

ss -tunp

Подозрительны исходящие соединения на незнакомые адреса и нестандартные порты, особенно от процессов, которых там быть не должно. Дальше проверьте механизмы автозапуска — зловред стремится пережить перезагрузку и закрепиться. Осмотрите задачи cron у всех пользователей, системные таймеры и автозапуск:

crontab -l
cat /etc/crontab
ls -la /etc/cron.*
systemctl list-units --type=service | grep -i running

Частая находка — левая запись в cron, которая раз в несколько минут перекачивает и запускает зловреда заново, поэтому убить один процесс недостаточно: он воскресает. Ищите строки, которые скачивают что-то через curl или wget и сразу выполняют. Проверьте и файлы автозапуска в домашних каталогах, и добавленные SSH-ключи в authorized_keys — взломщики часто прописывают туда свой ключ для повторного входа.

Чистим и проверяем систему

Найдя зловреда, действуйте комплексно, иначе он вернётся. Уберите механизмы автозапуска — левые задачи cron, добавленные сервисы, чужие SSH-ключи, — и только потом убивайте процессы, чтобы их некому было воскресить. Для дополнительной проверки установите антивирусные сканеры, которые ищут известную заразу по сигнатурам:

apt install clamav rkhunter -y
freshclam
clamscan -r --infected /
rkhunter --check

ClamAV сканирует файлы на известные вирусы, rkhunter ищет руткиты и следы компрометации. Они не всесильны, но ловят типовые угрозы и помогают убедиться, что вы ничего не пропустили. Проверьте также целостность системных бинарников и список установленных пакетов — продвинутые зловреды подменяют системные утилиты, чтобы прятаться.

Как зловред попал внутрь

Вычистить майнер мало — если не закрыть путь проникновения, вас заразят снова через день. Разберитесь, как взломали сервер. Самые частые причины: слабый или стандартный пароль root и вход по паролю по SSH, устаревший софт с известной уязвимостью, дырявое веб-приложение или его плагин, открытая наружу база данных без пароля. Проверьте логи авторизации на предмет перебора паролей и успешных входов с чужих адресов, посмотрите, не было ли подозрительной активности в логах веб-сервера.

Закройте найденную дыру обязательно: переведите SSH на вход по ключу и отключите вход по паролю, обновите весь софт, закройте лишние порты фаерволом, смените все пароли и ключи, которые могли утечь. Это часть базовой эксплуатации сервера, без которой чистка бесполезна.

Когда проще переустановить

Честный момент: если сервер заражён глубоко, а зловред получил root, полной уверенности, что вы вычистили всё, не будет никогда. Продвинутая зараза умеет прятаться так, что найти её вручную почти невозможно. В такой ситуации самый надёжный путь — не героическая чистка, а переустановка системы с нуля и восстановление сайтов из чистого бэкапа, сделанного до заражения. Поэтому регулярные бэкапы так важны: они дают возможность быстро откатиться на заведомо чистое состояние. Развернуть свежий сервер и восстановить данные у MAATRIX можно быстро, в нужной локации, с оплатой из России картой или криптой, а старую заражённую машину после переноса удалить.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Главный признак майнера?

Постоянная загрузка процессора под 100% и перегрев сервера при обычной посещаемости: майнеру нужны вычисления, и он забирает все ресурсы.

Почему процесс возвращается после убийства?

Его перезапускает механизм автозапуска — левая задача cron или сервис. Сначала уберите автозапуск и чужие SSH-ключи, потом убивайте процессы.

Помогут ли антивирусы?

ClamAV и rkhunter ловят типовую заразу по сигнатурам, но не всесильны. Обязательно закройте и путь проникновения, иначе заражение повторится.

Когда переустанавливать систему?

Если зловред получил root и заражение глубокое: полной гарантии чистки нет, надёжнее переустановить систему и восстановить сайты из чистого бэкапа.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.