Хорошая практика использовать одну и ту же пару ключей SSH на нескольких машинах?


12

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

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


Ответы:


4

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


2
Только машина с закрытым ключом должна быть защищена.
psusi

7

Чтобы быть немного более понятным из других ответов здесь и в других местах: «безопасность» является настолько же безопасной, как и безопасность личного ключа. Если кто-то может получить доступ к вашему личному ключу (ключам), он может быть отправлен по электронной почте или скопирован на USB-устройство. Тогда скопированный закрытый ключ может быть использован другим человеком.

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

Но скажу одно: не копируйте закрытый ключ в удаленную систему. Попробуйте положиться на агента SSH (ssh-agent или pageant) и переадресацию агента. Если у вас есть закрытый ключ в удаленной системе, убедитесь, что это не тот ключ, который используется для доступа к системе.


1

Один ключ на нескольких машинах, безусловно, уменьшает количество ключей, которые должен обработать системный администратор. У меня есть пять машин, с которых я могу работать (обычно около трех очень активных, но одна может быть в ремонте, другая - в очень редких случаях). Если в компании было восемь таких людей, как я, то вместо 8 было бы 40 ключей для администрирования.

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

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

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

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

  • что у нас есть (ключи SSH)
  • что мы знаем (пароль для сервера)

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

Злоумышленник должен быть решительным, и успешная атака может занять месяцы или даже годы. Периодически меняя пароль сервера (каждые шесть месяцев или около того, пароль сервера делится с системой корпоративного уровня, такой как LastPass - помните, что есть также и ключи SSH), в этот момент ваши серверы имеют разумную безопасность (поскольку никто не может объединить горячий SSH ключ с древним паролем для взлома).

Нужно думать о нелегальном доступе к инсайдеру (Эдвард Сноуден приходит на ум, Эшли Мэдисон - на втором месте) как основной риск. Только с помощью обоих ключей и паролей можно будет реально замедлить инсайдера.

Кроме древнекитайского метода: похороните их заживо, когда работа закончена.

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


0

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

Для ключей сервера: нет.


0

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.