Как проверить сервер на майнер и вирусы
Сервер вдруг стал горячим, нагрузка процессора под сотку без видимой причины, счета за трафик выросли — классические признаки того, что вашу машину взломали и запустили на ней скрытый майнер или зловреда. В эксплуатации сервера это нередкая беда, особенно если где-то был слабый пароль или дыра в софте. Ниже разберём по шагам, как проверить сервер на майнер и вирусы, найти вредоноса и вычистить его — с готовыми командами.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество 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 — десятки моделей в одном окне. Оплата картой РФ и по СБП.