SSHD, потребляющий 100% CPU (сотни процессов) - не умрет

недавно я заметил, что SSHd на нескольких системах, которые я администрирую, начнет порождать Неудержимые процессы, которые будут потреблять огромное количество процессора.

syscall показывает, что все процессы "работают" и не являются зомби или ждут, пока их родитель убьет их (по крайней мере, не так далеко, как я могу сказать).

enter image description here

Я пробовал все, чтобы убить эти процессы... единственный надежный метод, который я нашел на сегодняшний день, - перезапустить все сервер (что не идеально). Я попытался переключить openssh-server на dropbear, но он не ведет себя так, как мне нужно для моих приложений.

Я пробовал:

killall -9 sshd

убивать друг sshd путем его ID.
Немногие другие вещи misc (htop + sigterm, etc...)

Я хотел бы некоторые идеи либо для убийства этих процессов или для решения, что вызывает это.

14
задан Der Hochstapler
20.03.2023 5:59 Количество просмотров материала 3043
Распечатать страницу

1 ответ

если это на самом деле OpenSSH sshd, я предполагаю, что сценарий где-то запускает их в сломанном цикле, и один из их дочерних процессов захватывает весь этот процессор.

как предложил Marki555,strace поможет вам, но вы должны использовать strace -f так что strace будет следовать дочерним процессам. От man strace:

   -f          Trace child processes as they are  created  by  cur-
               rently  traced  processes as a result of the fork(2)
               system call.

потому что strace генерирует так много данных, это также может быть хорошей идеей, чтобы использовать-e аргумент, а также (например, чтобы только показать открытые () вызовы):

   -e expr     A qualifying expression which modifies which  events
               to  trace  or  how to trace them.  The format of the
               expression is:
                         [qualifier=][!]value1[,value2]...

еще одна команда, которую вы можете попробовать ps xaf или pstree -a чтобы получить простой для понимания вид дерева процессов и их дочерних процессов, так что вы можете определить, какой процесс начал эти sshd-х. lsof может также помочь вам, он расскажет вам, какие файлы процесс имеет открытый.

и, конечно, убедитесь, что вы используете последнюю версию OpenSSH. Я думаю, rsync + big files + ssh на древнем OpenSSH 3.4p1 было бы проблематичный.

если это на самом деле не процессы sshd, то контрольная сумма MD5 двоичного файла может отображаться правильно, но это может быть не фактическая программа sshd работает. Также md5sum команда сама по себе может быть backdoored версия, которая изменяется, чтобы сообщить правильную контрольную сумму для некоторых файлов (например, sshd).

посмотри в /proc/[PID для министра внутренних дел Великобритании]/exe и убедиться, что это символическая ссылка на /usr на/sbin/sshd демона (или везде, где ваш твердотельные накопители), а также в /proc/[демон pid] / environ, чтобы увидеть, какие переменные среды он использует, и /proc/[sshd pid] / cmdline, чтобы увидеть, что команда на самом деле начал его.

хотя злоумышленник мог переименовать вредоносную программу в "sshd", а затем выполнить ее, чтобы она выглядела как sshd. Мог бы даже переехал в /usr на/sbin/sshd Для в /tmp/демон перенес вредоносных накопитель sshd в /usr на/sbin/sshd было пытаться скрыть это от того, что тип файловой системы /proc анализ, но когда в /tmp/демон перемещается обратно в каталог /usr на/sbin/sshd Для в /proc/[демон пид]/ехе ссылка будет отображаться в ls as:

   lrwxrwxrwx 1 root root 0 May 19 06:47 /proc/[sshd pid]/exe ->  (deleted)/usr/sbin/sshd

кроме того, если эти sshd делают что-то, чтобы активно предотвратить нормальный анализ процесса, вы можете попробовать kill -STOP вместо kill -9 "приостановить" процесс (использовать kill -CONT возобновить его. Вижу http://en.wikipedia.org/wiki/Job_control_%28Unix%29#Implementation).

однако, если атакующий имеет привилегии root, то может быть установлен руткит, который скрывается от /proc, netstat, ls и т.д. Если вы действительно скомпрометирован, лучший курс действий, чтобы взять автономную систему и смонтировать ее разделов на другую систему (очистить) выполните криминалистике (или используйте одну из этих прямых и Linux компакт-диски, сделанные по криминалистике).

2
отвечен Dee Eff 2023-03-21 13:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх