2

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

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

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

Как вы думаете? Разумнее ли генерировать ключи (SSH, GnuPG или другие) локально, а затем передавать закрытые ключи через SSH, или я просто параноик по поводу всего этого?

Кроме того, если я прав, чтобы быть хотя бы немного параноиком, что вы думаете о том, где хранить личные ключи? Должны ли они все быть в одном физическом месте? Должен ли я всегда интенсивно использовать gpg-agent и ssh-agent ?

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

Я работаю над сочетанием компьютеров Mac OS X (с MacPorts) и Linux (с Pkgsrc), но всегда в командной строке.

1 ответ1

2

Как вы думаете? Разумнее ли генерировать ключи (SSH, GnuPG или другие) локально, а затем передавать закрытые ключи через SSH, или я просто параноик по поводу всего этого?

Это на самом деле не имеет значения, по крайней мере, если системные администраторы не вмешивались в программный стек (но зачем им, так или иначе, получать закрытые ключи?).

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

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

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

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

Что касается OpenPGP/GnuPG, все зависит от ваших требований. Кажется, вы хотите подписать программное обеспечение, и у меня такое чувство, что это происходит с вашей компанией. Если ключ напрямую связан с компанией и создан только для этой цели, я не вижу никаких возражений, если он не установлен на их компьютерах.

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

Пересылка сокета gpg-agent представляется вполне возможной и, конечно, ограничит доступ системного администратора к ключу (у них больше нет доступа к полному ключу, но он может использовать его только, по крайней мере, начиная с GnuPG 2.1, которая удалил все операции с закрытым ключом для агента).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .