Насколько плохо иметь несколько устройств с одинаковыми ключами SSH-сервера?

Я работаю над встроенным устройством, на котором работают FreeBSD и SSH.

Как вы знаете, sshd любит случайным образом генерировать набор ключей сервера при первой загрузке . Проблема в том, что мы будем поставлять продукт с файловой системой SD-карты только для чтения (не подлежит обсуждению).

Мои два варианта, как я их вижу:

  • Отправляйте одни и те же ключи сервера sshd на все устройства
  • Смонтируйте файловую систему памяти и генерируйте ключи сервера при каждой загрузке (медленно ...)

Отправка одних и тех же ключей сервера на все устройства? Этих товаров не будет в Интернете. Иногда может быть несколько устройств, принадлежащих одному человеку и в одной сети.

В большинстве случаев устройство не будет подключено к Интернету.

Вход в систему с помощью SSH не является частью нормальной работы. Это в основном для удобства программистов и технических специалистов. Клиенты не будут входить в систему с помощью SSH.

Каковы последствия использования одних и тех же ключей сервера на нескольких аппаратных устройствах?

PS Не мог бы кто-нибудь создать тег Интернета вещей?

ИЗМЕНИТЬ : Я говорю об установке одних и тех же закрытых ключей хоста на всех серверах (устройствах). Что касается открытых / закрытых ключей пользователя, то в настоящее время нет планов использовать вход на основе ключа - это будет вход по паролю. Опять же, один и тот же пароль на всех серверах (устройствах).

Я знаю, что это, вероятно, плохая идея. Я хотел бы знать, почему именно это плохая идея, чтобы я мог понять компромиссы.

21
задан 4 December 2016 в 20:01
6 ответов

Вместо того, чтобы хранить специфичные для хоста данные, такие как ключи хоста ssh, на SD-карте или другом доступном только для чтения носителе, вы можете сохранить их в NVRAM, для чего они нужны во встроенной системе. Вам нужно будет сделать несколько пользовательских сценариев для хранения и извлечения ключей во время загрузки,но сценарии будут одинаковыми для всех устройств.

27
ответ дан 2 December 2019 в 20:04

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

С другой стороны, восстановление ключей при каждой загрузке также вызовет предупреждение на клиентах.

Для справки, от man ssh (1) :

ssh автоматически поддерживает и проверяет базу данных, содержащую идентификационные данные для всех хостов, с которыми он когда-либо использовался. Ключи хоста хранятся в ~ / .ssh / known_hosts в домашнем каталоге пользователя. Кроме того, файл / etc / ssh / ssh_known_hosts автоматически проверяется на наличие известных хостов. Любые новые хосты автоматически добавляются в файл пользователя. Если идентификация хоста когда-либо изменится, ssh предупреждает об этом и отключает аутентификацию пароля, чтобы предотвратить подмену сервера или атаки типа «человек посередине», которые в противном случае можно было бы использовать для обхода шифрования. Параметр StrictHostKeyChecking может использоваться для управления входом в систему на машинах, ключ хоста которых неизвестен или был изменен.

12
ответ дан 2 December 2019 в 20:04

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

Это позволит провести атаки типа «злоумышленник посередине», например следующие:

  1. Пользователь настраивает SSH-сервер с использованием закрытых ключей, полученных с вашего устройства, и передает этот IP-адрес вашему специалисту.
  2. Ваш технический специалист вводит пароль root через соединение SSH.
  3. Теперь пользователь знает пароль root, который действителен для всех ваших устройств.

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

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

5
ответ дан 2 December 2019 в 20:04

Depi ou mansyone ke aksè a SSH pa itilize pa itilizatè a fen / kliyan ou ka vle fèmen aksè SSH pa default epi sèlman pèmèt li tanporèman lè se aparèy la mete nan mòd "debug".

Ou ka Lè sa a, swa bato tout aparèy yo ak kle a menm, an konsideran ke ou te pwoteje "debug" mòd la pou li pa ka deklanche adistans pa yon moun ap eseye Hack

Oswa ou gen yon nouvo kle ki pwodwi lè aparèy la ale nan mòd "debug" - kidonk, ou pa bezwen gaspiye bòt-tan pwodwi kle yo chak fwa aparèy la mache.

1
ответ дан 2 December 2019 в 20:04

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

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

2
ответ дан 2 December 2019 в 20:04

Isit la nan yon scénario atak echantiyon ki baze sou kontrent yo ou genyen:

Si aparèy ou yo, di yon Franbwaz Pi a pou egzanp. Si mwen mache leve, li rache kat la SD soti nan yon sèl, mwen ka bwa kat la SD nan pwòp òdinatè mwen an, jwenn kle a sshd ak kopi ki nan tout kote mwen vle. Petèt mwen pwan pwòp mwen Franbwaz pi ak yon kat ethernet USB. Koulye a, mwen ka bwa ki nan ant yon aparèy sib ak tout kote yo ap ale ak kontwole pou koneksyon ssh. Lè mwen wè ke aparèy la sib ap eseye fè yon koneksyon ssh, mwen fè sa:

(target) <---> (my evil sshd <--> decrypted traffic <--> ssh) <---> (real server)
                                       |
                                       V
                                    log file

Oh, sa ki nan sa? Modpas ou se "Mwen renmen chat"? Ti gason, sa a se yon imèl enteresan ou voye bay madanm ou.Mwen parye li ta menm plis enteresan si li li sa a imèl ke ou voye bay madanm vwazen pwochen pòt ou.

Posiblite yo se kontinuèl . Ak sib la pa ta janm konnen, paske kle a sshd ki idantik ak yon sèl la yo te jwenn sou sèvè a reyèl. Tou depan de sekirite fizik la nan enstalasyon yo ki ap resevwa aparèy ou an, sa a ta ka ekstrèmman trivial. Pa fè sa.

Olye de sa, fè sa ou deja pwopoze men ranje li . Anvan ou ekri imaj ou kouri yon bagay tankou sa a:

ssh-keygen -f some-new-server
cp some-new-server /path/to/the/mounted/image/sshd/key
cp some-new-server.pub /path/to/the/mounted/image/sshd/key.pub

Epi, koulye a chak sèvè gen yon nouvo kle. Paske ou reyèlman, reyèlman pa vle distribye kopi yon kle. Mwen vle di onètman li se nan omwen osi move ke akrochaj yon foto nan kle kay ou ak telechaje yo sou entènèt la ak adrès lakay ou.

1
ответ дан 2 December 2019 в 20:04

Теги

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