Ubuntu 14. 04 / tmp / systemd, использующий 100% ЦП

У нас есть действующий экземпляр AWS EC2 с Ubuntu 14.04, которым я пользовался вручили для обслуживания. Странность, которую я обнаружил, заключается в том, что у меня есть процесс / tmp / systemd, использующий все доступные ЦП:

top - 11:35:20 up  2:34,  1 user,  load average: 1.13, 1.16, 1.15
Tasks: 114 total,   2 running, 111 sleeping,   0 stopped,   1 zombie
%Cpu(s): 32.7 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si, 67.3 st
KiB Mem:   2048516 total,   726492 used,  1322024 free,    38784 buffers
KiB Swap:        0 total,        0 used,        0 free.   439788 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1797 www-data  20   0  192900   4008   1140 S 95.2  0.2 107:42.82 /tmp/systemd
 1145 mysql     20   0  681596 121328   7560 S  3.6  5.9   2:35.84 /usr/sbin/mysqld
 3669 ubuntu    20   0  103084   1904    920 S  0.7  0.1   0:00.06 sshd: ubuntu@pts/0
   40 root      rt   0       0      0      0 S  0.3  0.0   0:04.96 [watchdog/0]
 3692 ubuntu    20   0   23728   1652   1104 R  0.3  0.1   0:00.11 top
    1 root      20   0   33556   2880   1480 S  0.0  0.1   0:03.20 /sbin/init
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 [kthreadd]

Я подумал, что / tmp / systemd кажется немного странным для источника команд, поэтому я проверил каталог / tmp - и он полностью пуст.

Запуск strace, кажется, указывает на то, что он опрашивает, что нужно закончить:

ubuntu@ip-10-0-0-157:~$ sudo strace -fvvp 1797
Process 1797 attached with 6 threads
[pid  1801] futex(0x799404, FUTEX_WAIT_PRIVATE, 4, NULL <unfinished ...>
[pid  1802] futex(0x799404, FUTEX_WAIT_PRIVATE, 4, NULL <unfinished ...>
[pid  1803] futex(0x799404, FUTEX_WAIT_PRIVATE, 4, NULL <unfinished ...>
[pid  1800] futex(0x799404, FUTEX_WAIT_PRIVATE, 4, NULL <unfinished ...>
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9448, 290556741}) = 0
[pid  1797] epoll_wait(7,  <unfinished ...>
[pid  1799] sched_yield()               = 0
[pid  1799] clock_gettime(CLOCK_REALTIME, {1524656311, 141773213}) = 0
[pid  1797] <... epoll_wait resumed> {}, 1024, 27) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9448, 328709201}) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9448, 328773526}) = 0
[pid  1797] epoll_wait(7,  <unfinished ...>
[pid  1799] sched_yield()               = 0
[pid  1799] sched_yield()               = 0
[pid  1797] <... epoll_wait resumed> {}, 1024, 500) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9448, 839857928}) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9448, 839934892}) = 0
[pid  1797] epoll_wait(7, {}, 1024, 18) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9448, 860012749}) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9448, 860081346}) = 0
[pid  1797] epoll_wait(7,  <unfinished ...>
[pid  1799] sched_yield()               = 0
[pid  1799] sched_yield()               = 0
[pid  1799] sched_yield()               = 0
[pid  1799] sched_yield()               = 0
[pid  1797] <... epoll_wait resumed> {}, 1024, 479) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9449, 350734613}) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9449, 350806967}) = 0
[pid  1797] epoll_wait(7,  <unfinished ...>
[pid  1799] sched_yield()               = 0
[pid  1799] sched_yield()               = 0
[pid  1799] sched_yield()               = 0
q[pid  1797] <... epoll_wait resumed> {}, 1024, 500) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9449, 905946457}) = 0
[pid  1797] clock_gettime(CLOCK_MONOTONIC, {9449, 906007520}) = 0
[pid  1797] epoll_wait(7,  <unfinished ...>
[pid  1799] sched_yield()               = 0
[pid  1799] sched_yield()               = 0

Я пробовал обновить и перезагрузить сервер, но это ничего не меняет. Я могу убить процесс, но примерно через час он перезапустится.

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

1
задан 25 April 2018 в 16:07
1 ответ

Не существует двоичного или временного двоичного файла / tmp / systemd, учитывая, что пользователь, запустивший процесс, является неинтерактивным «www-data», я бы предположил, что ваш веб-сервер был скомпрометирован .

Проверьте исходящие соединения на наличие подозрений, повторно смонтируйте / tmp с помощью noexec и проверьте, все ли принадлежит www-data, как должно быть. Ищите сценарии оболочки или другие исполняемые файлы, которые не должны принадлежать www-data.

Похоже на Tiny XMR mooner - https://xorl.wordpress.com/2017/12/21/the-tiny-xml-mooner-linux-cryptominer-malware/

Лучшая практика - такие случаи состоит в том, чтобы создать образ машины (например, с помощью dd) и проанализировать его в автономном режиме в среде без доступа в Интернет.

1
ответ дан 3 December 2019 в 23:17

Теги

Похожие вопросы