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

142

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

myusername MYPASSWORD @ server.example.com пароль:

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

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

Обновить

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

введите описание изображения здесь

заменить опцию "auto-login username", где это было снова

введите описание изображения здесь

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

Йонас Гейдельберг
источник
4
Это действительно хороший вопрос. Я думаю, что все мы в какой-то момент случайно вписали UsernamePassword в какой-то сервис. Это слишком легко сделать.
user606723
2
Еще одна веская причина сменить пароль с разумной регулярностью.
Джонас
25
Вы можете избежать этого, сказав своему ssh-клиенту подключиться к username@server.example.com. Тогда вам будет только предложено ввести пароль, что сделает невозможным подобную аварию. Еще лучше, тем не менее, было бы просто использовать открытые / закрытые ключи.
Кевин
1
@Iceman спасибо за эту подсказку - поскольку я знал, что PuTTY скрывает имя пользователя под Connection/Data/Login details/Auto-login usernameним, мне никогда не приходило в голову, что поле «Имя хоста (или IP-адрес)» также может принимать имя пользователя @ имя хоста как правильный ssh-клиент командной строки.
Йонас Гейдельберг
4
Используйте аутентификацию на основе ключей.
Зоредаче

Ответы:

148

Короче говоря: да.

# 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
заместитель Wabbit
источник
21

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

РЕДАКТИРОВАТЬ: Это подтверждается, я попытался войти на свой сервер и нашел это в моих журналах.

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-адреса скрыты

Zenklys
источник
51
Ваши IP-адреса не скрыты, они просто обозначены римскими цифрами.
Барт Сильверстрим
2
или ругательства.
Sirex
8
или это Мекка подростков в Интернете - IP порно.
Дин Уомбурн
10

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

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

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

~ / .Ssh / id_rsa
~ / .Ssh / id_rsa.pub

Примечание: вы можете переименовать ваши ключевые файлы, если добавите ~ / .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.

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

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

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

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

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

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

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

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

sjbotha
источник