Вопрос: Мой пароль скомпрометирован, потому что я забыл нажать Enter после имени пользователя ssh?


Я только что попробовал войти в мягкая фетровая шляпа (выпуск 13 Goddard) с использованием SSH (PuTTY, Windows). По какой-то причине Войти после ввода моего имени пользователя не прошел, и я ввел свой пароль и снова нажал Enter. Я только осознал свою ошибку, когда сервер приветствовал меня счастливым

MyUserName МОЙ ПАРОЛЬ@ server.example.com:

В этот момент я отключил соединение и сменил пароль на этой машине (через отдельное соединение SSH).

... теперь мой вопрос: Является ли такой неудачный логин, хранящийся в обычном тексте в любом файле журнала? Другими словами, я только что заставил мой (теперь устаревший) пароль перед глазами удаленного администратора в следующий раз, когда он сканирует свои журналы?

Обновить 

Спасибо за все комментарии о предполагаемом вопросе «что делать, чтобы предотвратить это в будущем». Для быстрых одноразовых соединений я буду использовать эту функцию PuTTY сейчас:

enter image description here

для замены опции «автозапуск с именем пользователя»

enter image description here

Я также буду чаще использовать ключи ssh, как объяснено в документах PuTTY,


141
2017-10-19 12:29


Источник


Это действительно хороший вопрос. Я думаю, что мы все случайно набрали UsernamePassword в какой-то сервис в какой-то момент времени. Это слишком легко сделать. - user606723
Еще одна веская причина изменить пароль с разумной регулярностью. - Jonas
Вы можете избежать этого, сообщив своему ssh-клиенту о подключении к username@server.example.com. Тогда вам будет предложено ввести пароль, что делает невозможным подобную аварию. Тем не менее, даже лучше было бы использовать открытые / закрытые ключи. - Kevin
@Iceman благодарит за этот намек - так как я знал, что PuTTY скрывает имя пользователя под Connection/Data/Login details/Auto-login username мне никогда не приходило в голову, что поле «Имя хоста (или IP-адрес)» также может принимать имя пользователя @ hostname, как правильный клиент ssh командной строки. - Jonas Heidelberg
Используйте проверку подлинности на основе ключа. - Zoredache


Ответы:


Короче: да.

# ssh 192.168.1.1 -l "myuser mypassword"
^C
# egrep "mypassword" /var/log/auth.log
Oct 19 14:33:58 host sshd[19787]: Invalid user myuser mypassword from 192.168.111.78
Oct 19 14:33:58 host sshd[19787]: Failed none for invalid user myuser mypassword from 192.168.111.78 port 53030 ssh2

149
2017-10-19 12:35





Если я хорошо помню, он действительно зарегистрирован в журнале, если уровень журнала установлен на DEBUG или TRACE.

EDIT: подтверждено, я попытался войти на свой сервер и нашел это в своих журналах.

Oct 19 14:34:24 sd-xxxx sshd[26563]: pam_unix(sshd:auth): authentication failure; logname=     uid=0 euid=0 tty=ssh ruser= rhost=xxx-xxx-xxx-xxx.rev.numericable.fr 
Oct 19 14:34:26 sd-xxxx sshd[26563]: Failed password for invalid user toto from xxx.xxx.xxx.xxx port 56685 ssh2

Примечание: IP скрыты


21
2017-10-19 12:31



Ваши IP-адреса не скрыты, они просто отправлены как римские цифры. - Bart Silverstrim
, или ругательств. - Sirex
или это Мекка подростков в Интернете - IP порно. - deanWombourne


Или для дополнительной безопасности и удобства вы должны действительно рассмотреть возможность создания SSH-ключей ...

# ssh-keyget -t rsa
(принять все значения по умолчанию)

и вы получите ...

~ / .ssh / id_rsa
~ / .ssh / id_rsa.pub

Side-Note: вы можете переименовать свои файлы ключей, если вы добавите ~ / .ssh / config с чем-то вроде следующего содержания:

# cat ~ / .ssh / config
Хост *
IdentityFile ~ / .ssh / ddopson_employer_id_rsa

Cat содержимое вашего открытого ключа (будет одной строкой):

# cat ~ / .ssh / id_dsa.pub
ssh-rsa AAAAB3NzaC1kc3MAAACBAOOVBqYHAMQ8J ... BbCGGaeBpcqlALYvA == ddopson @ hostname

Теперь войдите в целевое поле и вставьте эту строку в ~ / .ssh / authorized_keys.

Side-Note: строка pubkey заканчивается в читаемой пользователем строке, такой как «ddopson @ hostname». Вы можете изменить это, чтобы описать ключ, который вы используете (например, если у вас много ключей). Эта строка НЕ ​​используется как часть аутентификации и предназначена только для описания ключа для других людей.

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

Если вы беспокоитесь о сохранении вашего закрытого ключа (id_rsa), вы можете добавить кодовую фразу самому ключу (см. Ssh-keygen), защищая его от использования всеми, кто имеет доступ к вашим файлам. Затем вы можете использовать ssh-agent для дешифрования ключа и безопасного хранения его в памяти, чтобы он мог использоваться для нескольких соединений SSH.


10
2017-10-19 21:11



Я должен был, вероятно, добавить windows-clients тег на мой вопрос. Это объясняет, как сделать ключи ssh пригодными для использования с PuTTY. - Jonas Heidelberg
вы можете сделать то же самое с PuTTY. Вы можете добавлять ключи в PuTTY или использовать PuTTYgen для генерации ключей. Такая же история, разные команды. (Я думаю, что он находится на вкладке аутентификации параметров подключения). - Dave Dopson


Пароль был зашифрован при передаче. Да, возможно, что ваш пароль был скомпрометирован, потому что он был напечатан в журнале на целевом сервере. Однако я бы также сказал, что каждый раз, когда вы вводите свой пароль на свой компьютер, он может быть скомпрометирован, поскольку на вашем компьютере может быть шпионское ПО или кейлоггер, подключенный к вашему компьютеру.

Если вы являетесь единственным администратором этой системы, и вы считаете, что эта система не была скомпрометирована, вы можете с относительной уверенностью предположить, что ваш пароль не был скомпрометирован так же, как вы обычно предполагаете, что на вашем компьютере нет программ-шпионов, потому что у вас нет что-то подозрительное. Вы можете отредактировать журнал на этом сервере и удалить ссылку на свой пароль.

Этот случай является одной из причин, почему лучше использовать SSH-ключи вместо паролей. Затем, даже если кто-то получит пароль, который вы вводите на свой компьютер для дешифрования закрытого ключа на вашем компьютере, он все равно не сможет получить доступ к удаленному серверу; им также нужен сам файл личного ключа. Безопасность - это все слои. Ничто не идеально, но если вы добавите достаточное количество слоев, достаточно будет достаточно, чтобы атакующий просто двигался, или вы их поймаете, потому что требуется больше времени.

Я бы не сделал этого, если ваш пароль защищает очень конфиденциальную информацию или критические ресурсы. Это зависит от того, насколько чувствителен ваш пароль.


0
2017-10-19 22:00