Почему Google рекомендует удалять ключи SSH из GCE для безопасности?

15

Приведенная ниже ссылка на документацию Google больше не соответствует действительности.

Google рекомендует удалить ключи SSH из экземпляра GCE для защиты SSH. Это не имеет никакого смысла для меня. Ключи есть для безопасности, верно? Когда я удаляю ключи, SSHD перестает работать. Я, наверное, скучаю по их мнению. Может кто-нибудь объяснить, что означает это:

Удалить ключи SSH

Не используйте ключи хоста ssh с вашим экземпляром. Удалите их следующим образом:

rm /etc/ssh/ssh_host_key
rm /etc/ssh/ssh_host_rsa_key*
rm /etc/ssh/ssh_host_dsa_key*
rm /etc/ssh/ssh_host_ecdsa_key*
Мартин Прикрыл
источник
2
Документ рекомендует включить, StrictHostKeyCheckingа затем рекомендует отключить его. Я подозреваю, что это не очень тщательно отредактированный документ. Мой совет - доверять своему собственному суждению и использовать ключи хоста, если для этого нет веских причин.
Aecolley
@aecolley Я тоже это заметил. Я отправил им отзыв. Посмотрим, вернутся ли они ко мне.
Мартин Прикрыл
1
Я подробно остановился ниже, но все сводится к контексту - страница, на которую вы смотрите, дает советы по созданию новых изображений, а не по общей безопасности машины. Я обновлю документы, чтобы они включали более подробную информацию о том, когда и почему вы хотите удалить ключи хоста, поскольку причины этого не ясны.
Бенсон

Ответы:

12

Важным моментом является то, что страница, на которую вы ссылались, посвящена созданию нового образа компьютера Compute Engine. В частности, когда вы создаете новый образ виртуальной машины, вы хотите убедиться, что он НЕ содержит ключей хоста. Таким образом, когда образ клонируется и воссоздается в реальную виртуальную машину, сценарий запуска sshd распознает отсутствие ключей хоста и автоматически генерирует новые. Это желательно, потому что иметь несколько машин, использующих один и тот же ключ хоста, очень плохая идея.

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

Бенсон
источник
1
Благодарю. Это имеет смысл. Хотя некоторые объяснения помогут. Msgstr "Не используйте ключи хоста ssh с вашим экземпляром." это действительно запутанная формулировка.
Мартин Прикрыл
Я полностью согласен - большое спасибо за указание на это. Я на самом деле представил обновление документов, чтобы уточнить формулировку, которая, как я подозреваю, будет опубликована в ближайшее время.
Бенсон
1
Обновленные документы теперь доступны: developers.google.com/compute/docs/images#removesshkeys
Бенсон,
13

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

Это чистое предположение, и было бы лучше связаться с ними и получить разъяснения по этому вопросу.

обманщик
источник
4
Спасибо за ваш ответ. Мне нужно SSH к серверу, чтобы перезагрузить sshd. Но для подключения мне нужно принять ключ хоста «ненадежного» сервера. Поэтому всем, что я делаю во время этой сессии, нельзя доверять. Даже перезапуск СШД. Правильно?
Мартин Прикрыл
1
Я предполагаю, что основная проблема заключается в том, что по какой-то причине другой клиент получает те же ключи, что и вы (примечание: это не позволяет им получить доступ к вашему экземпляру, но облегчает атаку «человек посередине»). Если вы не доверяете провайдеру изображения, вам не следует ничего запускать (они практически имеют физический доступ).
Факер
1
IIRC было проведено несколько исследований, которые показывают, что качество энтропии в некоторых системах, особенно встроенных, но может также включать некоторые категории недавно запущенных виртуальных машин, не очень высокое. Когда при первой загрузке создаются открытые ключи, такие как ключи ключей хоста SSH, они могут быть предсказуемыми.
HBruijn
@HBruijn Спасибо за комментарий. Но удаление их и разрешение sshd воссоздать их при перезагрузке не делает их лучше. Вы должны загрузить свой собственный. Но это не описано в документе.
Мартин Прикрыл
1
Я отправил отзыв в Google. Посмотрим, вернутся ли они ко мне.
Мартин Прикрыл