Назад | Перейти на главную страницу

Был ли взломан мой Linux-сервер? Как мне сказать?

Запуск (X) Ubuntu 10.04.2 LTS за маршрутизатором.

Я только что получил электронное письмо от моей корневой учетной записи на этом компьютере со следующей темой:

*** SECURITY information for <hostname>:

В теле сообщения содержится это предупреждение:

<hostname> : jun 1 22:15:17 : <username> : 3 incorrect password attempts ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/sh /tmp/tmpPHBmTO

Я не вижу /tmp/tmpPHBmTO файл, хотя есть файл с именем /tmp/tmpwoSrWW с меткой времени, датируемой 2011-06-01 22:14, то есть незадолго до указанной даты / времени. Это двоичный файл, и его содержимое мне не кажется знакомым. Кроме того, в этом файле есть только -rw------- разрешения.

Когда я это читал, это означает, что кто-то (или что-то) имеет (имел) доступ к моей машине. По-видимому, не root-доступ (пока), но все же достаточно, чтобы записывать файлы в мой /tmp каталог по крайней мере.

Есть ли у кого-нибудь указатели на то, где я мог бы найти дополнительную информацию: кто мог это сделать и как они могли это сделать?

Мой маршрутизатор настроен на разрешение доступа к пересылке трафика для SSH, HTTP (nginx действует как обратный прокси для одной из нескольких других служб), SMTP, POP (postfix) и IMAP (dovecot), а также порта 51413 (Transmission).

Если у вас открыт SSH для Интернета, вы увидите попытки взлома, когда скрипты будут пытаться взломать этот пароль.

Возможные шаги по смягчению:

  • Не разрешать вход root через SSH (su после входа, если необходимо)
  • Имейте ОЧЕНЬ надежный пароль (подумайте о парольной фразе - 10 или более символов)
  • Используйте аутентификацию по ключу для SSH и отключите аутентификацию по паролю
  • Установите fail2ban, чтобы блокировать попытки входа после n попыток входа
  • Переместите ssh из порта по умолчанию (как рекомендовано @voithos)

Примечание: если ваша машина уже взломана, ничего из вышеперечисленного не поможет.

Я понимаю, что прошло два года с тех пор, как был задан исходный вопрос, но на случай, если кто-то еще придет сюда через Google, как я: я видел это поведение, вызванное демоном Dropbox, запущенным с учетной записью без полномочий root на сервере, на котором не запускалось X сервер. Мне удалось скопировать файлы до того, как они были удалены. По какой-то причине демон хочет сбросить разрешения для своего каталога данных (не говоря уже о том, что для этого ему даже не потребовался бы root) и убить какой-то процесс. Я могу только догадываться, почему, возможно, он сделал какое-то автоматическое обновление и попытался перезагрузиться или что-то в этом роде.

Файл / tmp / tmpe1AGcd содержит:

#!/bin/bash
sudo -K
zenity --entry --title="Dropbox" --text="Dropbox needs your permission to save settings to your computer.

Type your Linux password to allow Dropbox to make changes." --entry-text "" --hide-text | sudo -S /bin/sh /tmp/tmpAH5mxL
if [ "$?" != 0 ]; then
zenity --error --text="Sorry, wrong password"
exit 1
fi

Поскольку машина работает без головы, а двоичный "zenity" даже не установлен, sudo получает пустые попытки ввода пароля и терпит неудачу при попытке выполнить / tmp / tmpAH5mxL, содержащий:

#!/bin/bash
chown -R 1000 "/home/<username>/.dropbox"
chmod -R u+rwX "/home/<username>/.dropbox"
kill -s USR2 5364

В результате я получил такое же сообщение, как и вы:

<hostname> : Jul  4 16:32:24 : <username>: 3 incorrect password attempts ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/sh /tmp/tmpAH5mxL

Этот ответ также относится к комментариям к сообщению @ uSlakr.

Ваш компьютер, по крайней мере, частично взломан. Возможность писать в / tmp под своим именем пользователя означает возможность работать под своим именем пользователя. Возможность писать под своим именем пользователя = возможность делать то, что вы сейчас делаете.

Если у вас есть службы, которые работают под вашим именем пользователя, скорее всего, именно эта служба была взломана. (1) Если у вас нет служб, работающих под вашим именем пользователя, значит, ваша учетная запись была полностью взломана (т.е. с интерактивным доступом к оболочке). Но это менее вероятно, см. (1).

Лучше всего (1) сделать резервную копию текущей системы на виртуальной машине для проверки + восстановить из старой резервной копии (проверить файлы, подобные этим) + остановить доступ к сети (2) изменить пароль всей учетной записи (3) отключить все службы ( 4) обновить все службы до последней версии (5) установить программу обнаружения вторжений.

(1): Как видите, злоумышленник пытается запустить какую-то программу, чтобы получить root-доступ. Это не очень похоже на то, что у них есть интерактивный доступ к оболочке - если бы у них была интерактивная оболочка, они должны были бы захватить хэш вашего пароля и взломать его каким-то образом // установка какой-то программы в вашу интерактивную оболочку для захвата вашего корневого пароля // использовать sudo (как правило, это лучше, чем вводить неправильный пароль 3 раза, ну, если они НАСТОЛЬКО глупые ... неважно)