Существует ли угроза безопасности для раскрытия вашего файла SSH known_hosts?

32

На следующей неделе я говорю на конференции о некоторых программных инструментах, которые я создал. Мой ноутбук будет показан на экране проектора во время этой презентации. Презентация будет записана на видео и размещена на YouTube. Если по какой-либо причине у меня есть возможность открыть и отредактировать мой ~/.ssh/known_hostsфайл во время этой презентации, должен ли я при этом отключить проектор? Есть ли угроза безопасности для раскрытия моего файла known_hosts?

Мэтт Коростофф
источник
7
Почему бы просто не заменить свое действительное known_hostsна поддельное во время презентации?
Свен
1
... или если вы в первую очередь не проверяете отпечаток хоста, используйте что-то вроде ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@hostобхода вопроса об отпечатке пальца и избегайте проверок на существующие известные_хосты.
Лекенштейн
@ Sven файл known_hosts сам по себе не является частью презентации, просто то, что программное обеспечение, которое я демонстрирую, иногда требует от меня редактирования моих known_hosts. Аудитории не нужно это видеть (поэтому я буду использовать слепое редактирование, как предложили несколько комментаторов), но редактирование поддельного файла known_hosts просто не достигнет моей цели.
Мэтт Коростофф,

Ответы:

43

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

Но: он содержит историю хостов, к которым вы подключены. Информация может использоваться потенциальным злоумышленником, например, для создания инфраструктуры организации. Также он сообщает потенциальным злоумышленникам, что вы, вероятно, имеете доступ к определенным хостам и что кража вашего ноутбука также даст им доступ.

Редактировать: чтобы не показывать файл known_hosts, я рекомендую использовать ssh-keygenутилиту. ssh-keygen -R ssh1.example.orgнапример, удаляет доверенные ключи для ssh1.example.orgваших известных_хостов.

Ричард
источник
15

В этом нет ничего особенно опасного. Однако вы, возможно, не захотите раскрывать эту идентифицирующую информацию. Иногда существование хостов показывает хорошие линии атаки для склонных. Вы можете использовать HashKnownHostsили редактировать файл, не глядя на него.


Слепое редактирование:
sed -i 25d .ssh/known_hostsудалит строку 25 без вывода содержимого на экран.

HashKnownHosts
Указывает, что ssh (1) должен хэшировать имена и адреса хостов, когда они добавляются в ~ / .ssh / known_hosts. Эти хэшированные имена могут обычно использоваться ssh (1) и sshd (8), но они не раскрывают идентифицирующую информацию, если содержимое файла будет раскрыто. По умолчанию «нет». Обратите внимание, что существующие имена и адреса в известных файлах хоста не будут конвертироваться автоматически, но могут быть хэшированы вручную с помощью ssh-keygen (1).

84104
источник
4
Вместо того, чтобы вручную вычислять номер строки и удалять его с помощью sed, вы также можете использовать ssh-keygen -R example.com.
Лекенштейн
4
Вы также можете использовать ssh-keygen -H -f ~/.ssh/known_hostsдля хеширования всех имен / адресов в файле.
Бармар