Получение секретного ключа от администратора сервера: хорошо или нет?

20

Я должен получить доступ к удаленному серверу SFTP. Администратор создал для меня пользователя и сгенерировал для меня пару открытый / закрытый ключ. Затем он безопасно отправил мне файл секретного ключа, который я использую для аутентификации. Я считаю, что это нехорошо, я должен генерировать пару ключей и дать ему открытый ключ. Но я не могу придумать причину, почему это плохо, если я использую этот ключ только для входа на этот сервер, а не на другие серверы. Есть ли такие причины?

matthiash
источник
17
Плохая гигиена безопасности, например. Администратор сервера должен знать лучше и не должен «обучать» пользователей ожидать получения закрытых ключей из внешних источников.
wmorrell
1
Кому еще он это дает? Всегда думай, что хуже всего может случиться?
mckenzm
1
Я на самом деле не думаю, что это так плохо. Ниже приведена аналогия (Эрик Тауэрс) с предоставлением пользователю «начального пароля», который затем необходимо немедленно изменить. Говоря из личного опыта, объяснение того, какие ключи для пользователя в сотый раз, может быть немного утомительным - администратор все еще человек. Давать закрытый ключ вам лень - да, но ничто не может помешать вам заменить его самостоятельно. По сути, после того, как он / она отправил его вам, вам больше не нужно беспокоить сисадмина (если только они не решили отключить права на запись в файл ... тогда просто раздражайте их).
Рэй
@matthiash этот вопрос подходит для этого сайта, но, как к сведению, существует сайт информационной безопасности для других вопросов безопасности.
16:30
Я также хотел бы отметить, что именно так AWS делает это. Когда вы создаете экземпляр, вы не загружаете на него свой открытый ключ, для вас создается пара ключей, и вы скачиваете закрытый ключ.
GnP

Ответы:

23

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

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

HBruijn
источник
4
Давайте возьмем лучшее от администратора сервера и предположим, что он лучше генерирует новую пару ключей, поскольку он не будет доверять пользователю не иметь скомпрометированного закрытого ключа. Может быть, администратор сервера считает, что закрытый ключ пользователей очень старый и, возможно, был взломан за эти годы. То же самое и с U2F, когда консорциум или поставщики не доверяют пользователям генерировать ключи, поэтому устройства U2F поставляются с предварительно созданными ключами!
cornelinux
8
Администратор должен помочь пользователю создать и защитить личный ключ.
Алекс
1
Вы совершенно правы. Но часто администраторы лучше с компьютерами, чем с людьми, -)
cornelinux
7
Администратор может выдать себя за вас в любом случае.
user253751
2
Я думаю, что вы путаете теоретические практики узкого примера с реальностью и общей картиной. В любом случае вы должны доверять администратору, потому что он контролирует систему и может избежать необходимости использовать ключ вообще. Выдача закрытых ключей происходит в реальном мире, потому что конечные пользователи либо не понимают, как их создать, либо как их создать безопасно.
JamesRyan
10

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

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

Zoredache
источник
3
На самом деле, администратор может ожидать, что пользователь изменит свой ключ во время первого использования, так же, как и для первых паролей, созданных администратором.
Эрик Тауэрс
7
Как однажды сказал великий человек , «ожидай прочь». Изменение первого использования часто необходимо для паролей, но никогда не требуется для шифрования с открытым ключом - в этом вся суть.
womble
@EricTowers Это даже можно требовать с современным SFTP (SSH или даже, если вы не готовы булыжник что - то вместе сами) реализации?
CVn
Этот ответ создает впечатление, что действия над sftp где-то подписаны в журнале и сквозным образом защищены этим ключом. Это просто не тот случай, администратор может вмешиваться в действия или журналы, даже не используя ключ.
JamesRyan
1
@marcelm: есть причина, по которой я сказал «часто необходимо», а не «всегда абсолютно обязательно при любых обстоятельствах, без исключений». Как человек, который на самом деле регулярно запрашивает (и принимает) хэши паролей и открытые ключи, я знаю, что гораздо сложнее заставить кого-то предоставить хешированный пароль (с безопасной солью и всем), чем открытый ключ. Если у вас есть клиент SSH, у вас есть инструмент генерации ключей. То же самое нельзя сказать о чем-то, что может вызывать crypt(2) во многих его развлекательных формах.
womble