Был ли скомпрометирован мой SSH-сервер? Если да, то как и какие шаги я должен предпринять?

Недавно я разрешил ssh доступ к моей машине для работы над групповым проектом с моими одноклассниками. Я прочитал руководство по настройке ssh на ubuntu и попытался следовать хорошим правилам безопасности. Я отключил аутентификацию с паролем, поэтому единственный способ войти в него - это ключи RSA, и у меня было только 2 ключа, перечисленных в файле authorized_keys: мой собственный (используемый во время тестирования, чтобы проверить, работает ли ssh) и друзей.

В этот вечер мне было любопытно узнать, был ли мой друг в моей системе ssh'd, пока я его использовал, поэтому я искал googled для команды, которая сообщила бы мне, если кто-то был ssh'd, и если так кто. В результате я получил:

sudo netstat -tnpa | grep ESTABLISHED.*sshd

Я попробовал, и выход был:

tcp        0      0 192.168.1.86:22         59.47.0.150:44728       ESTABLISHED 7416/sshd: [accepte

Это выглядело не так. Я связался с моим другом, и он заверил меня, что он не вошел в систему. Я снова попробовал команду и увидел:

tcp        0      0 192.168.1.86:22         59.47.0.150:44728       ESTABLISHED 7416/sshd: root [pr

В этот момент меня немного испугало слово «корень» и послал друг другу, который знал больше об этом, чем я. Он сказал мне попробовать:

 ps aux | grep ssh

, который выводил:

root      3702  0.0  0.0  61364  2872 ?        Ss   Apr12   0:00 /usr/sbin/sshd -D
root      7473  0.0  0.0 112692  3920 ?        Ss   20:46   0:00 sshd: root [priv]   
sshd      7474  0.0  0.0  62784  1516 ?        S    20:46   0:00 sshd: root [net]    
sid       7476  0.0  0.0  22476   936 pts/1    S+   20:46   0:00 grep --color=auto ssh

Теперь я был полностью взволнован, поэтому, хотя я хотел немного подождать и посмотреть, могу ли я узнайте о том, кто вошел в систему, я решил просто sudo stop ssh.

После еще нескольких поисковых запросов я узнал, что 59.47.0.150 является IP-адресом в Шаньинге, Китай, и, похоже, известная из-за вредоносных атак.

Итак, мои вопросы к вам, ребята:

Можем ли мы с уверенностью сказать, что IP-адрес из Китая почему-то SSH'd в мою машину? Хотя он только принял авторизацию ключа RSA? Можем ли мы с уверенностью сказать, что он тоже получил доступ к корню? В моем ssh-config у меня был по умолчанию PermitRootLogin without-password. Первоначально я думал, что это означает, что корневой вход не разрешен (я знаю, что эти два звука противоречивы, но я искал его, и это был результат, который я получил). Если да, то как? Есть ли способ увидеть, какой ущерб был нанесен до сих пор? Как я могу защититься от этого в будущем? Мне все еще нужно запустить ssh, чтобы завершить мой групповой проект.

Спасибо за любую помощь, которую вы можете предложить!

EDIT: В соответствии с предложением saiarcot895 и Steven я проверил auth.log, в котором повторялись следующие строки:

    Apr 13 20:43:50 PrometheusU sshd[7392]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=59.47.0.150  user=root
Apr 13 20:43:55 PrometheusU sshd[7394]: reverse mapping checking getaddrinfo for 150.0.47.59.broad.bx.ln.dynamic.163data.com.cn [59.47.0.150] failed - POSSIBLE BREAK-IN ATTEMPT!
Apr 13 20:43:55 PrometheusU sshd[7394]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=59.47.0.150  user=root
Apr 13 20:43:58 PrometheusU sshd[7394]: Failed password for root from 59.47.0.150 port 54813 ssh2
Apr 13 20:44:03 PrometheusU sshd[7394]: message repeated 2 times: [ Failed password for root from 59.47.0.150 port 54813 ssh2]
Apr 13 20:44:04 PrometheusU sshd[7394]: Received disconnect from 59.47.0.150: 11:  [preauth]

Означает ли это, что злоумышленник попал в мою систему и не смог войти в систему root, или что он пытается напрямую получить доступ к корню, потерпел неудачу и вообще ничего не получил?

1
задан 14 April 2015 в 05:15

2 ответа

Происходит много нападений грубой силы ssh. Возможно, у вас есть устаревший пакет ssh, и они попали именно так.

Проверяйте ошибки ssh в журналах, возможно, он просто делает грубую силу против вас.

перейдите в / tmp и опубликуйте его вывод из ls -al, если есть набор корней, который он может там увидеть.

Вы можете установить, что пользователи могут использовать ssh и fail2ban.

Set / tmp и / home как неисполняемый в fstab, если возможно, помогут много. [!d4 ]

1
ответ дан 23 May 2018 в 21:25

Если это только атака грубой силы, заполняющая журналы, просто измените порт.

Большинство скриптов глупы, и есть достаточно серверов, которые слушают порт 22. Я всегда устанавливаю мой, например. 30200 или 225. Это можно сделать с легкостью в

/etc/ssh/sshd.conf

Просто измените номер порта и перезапустите демон.

После этого система может быть доступна с дополнительной опцией ssh

ssh -p224 user@example.com

Маг всегда заполнялся, я менял порт, и шум пропал.

1
ответ дан 23 May 2018 в 21:25

Другие вопросы по тегам:

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