Recebendo uma chave privada do administrador do servidor: ok ou não?

20

Eu devo ter acesso a um servidor SFTP remoto. O administrador criou um usuário para mim e gerou um par de chaves pública / privada para mim. Então ele me enviou com segurança o arquivo de chave privada, que eu uso para autenticação. Eu acredito que isso não é bom, eu deveria ser o único a gerar o par de chaves e fornecer a chave pública a ele. Mas não consigo pensar em nenhuma boa razão para isso ser ruim, se eu usar essa chave apenas para efetuar login no servidor, nenhum outro servidor. Existem tais razões?

matthiash
fonte
17
Má higiene de segurança, por exemplo. O administrador do servidor deve conhecer melhor e não deve "treinar" os usuários a esperar obter chaves privadas de fontes externas.
Wmorrell
11
Para quem mais ele está dando? Sempre pense: o pior que poderia acontecer?
Mckenzm
11
Na verdade, eu não acho tão ruim assim. Uma analogia abaixo (Eric Towers) com dar ao usuário uma "senha inicial" que precisa ser alterada imediatamente é boa. Falando por experiência pessoal, explicar o que são as chaves pela centésima vez para os usuários pode ser um pouco tedioso - o administrador ainda é humano. Dar a chave privada a você é preguiçoso - sim, mas nada pode impedir você de substituí-la. Em essência, depois que ele / ela enviou para você, você não precisa incomodar o administrador do sistema novamente (a menos que eles optem por desativar as permissões de gravação no arquivo ... então, apenas as irrite).
Ray
@matthiash esta pergunta se encaixa neste site, mas, assim como para sua informação, existe um site de Segurança da Informação para outras questões de segurança.
Top
Também gostaria de salientar que é assim que a AWS também faz isso. Ao criar uma instância em que você não carrega sua chave pública, um par de chaves é gerado para você e você baixa a chave privada.
GnP 06/07

Respostas:

23

É exatamente como você diz: Todo o conceito de autenticação de chave pública é que a chave privada deve ser conhecida apenas pelo proprietário, enquanto a chave pública correspondente pode ser amplamente disseminada. A segurança da sua autenticação depende da segurança da chave privada, não da segurança da chave pública.

O fato de alguém fornecer uma chave privada automaticamente a compromete. (Você não sabe se esse outro administrador ainda possui uma cópia que pode ser usada para se passar por você.)

HBruijn
fonte
4
Vamos supor o melhor do administrador do servidor e supor que ele cria um novo par de chaves, pois ele não confiaria que o usuário não tivesse uma chave privada compactada. Talvez o administrador do servidor pense que a chave privada dos usuários é muito antiga e talvez tenha sido comprometida ao longo dos anos. É o mesmo com o U2F, onde o consórcio ou os fornecedores não confiam nos usuários para gerar chaves; é por isso que os dispositivos U2F vêm com chaves pré-criadas!
Cornelinux
8
O administrador deve ajudar o usuário a gerar e proteger uma chave privada.
28416 Alex
11
Você está totalmente certo. Mas muitas vezes os administradores são melhores com computadores, em seguida, com os seres humanos, -)
cornelinux
7
O administrador pode se passar por você de qualquer maneira.
user253751
2
Eu acho que você está confundindo práticas teóricas de um exemplo estreito com a realidade e a visão geral. Você deve confiar no administrador de qualquer maneira, porque ele tem controle do sistema e pode evitar a necessidade de usar a chave completamente. A distribuição de chaves privadas acontece no mundo real porque os usuários finais não entendem como criar uma ou como fabricá-la com segurança.
JamesRyan
10

Para essa chave, a organização não possui não-repúdio . Ou seja, se alguém fizer algo abusivo ou destrutivo nesse sistema usando a chave 'your', o administrador não poderá culpar você por ser o único responsável por isso. Desde que a pessoa que deu a você também tinha a chave. Provavelmente não é tão ruim para você, pois oferece uma defesa, mas é horrível para a organização que controla o servidor, se algo ruim acontecer.

Você pode usar os privilégios de gravação que possui nas chaves fornecidas, para atualizar suas chaves autorizadas, adicionar sua chave e remover a chave fornecida.

Zoredache
fonte
3
De fato, o administrador pode esperar que o usuário altere sua chave durante o primeiro uso, assim como nas primeiras senhas geradas administrativamente.
Eric Towers
7
Como um grande homem disse uma vez , "espere longe". A alteração de primeiro uso é frequentemente necessária para senhas, mas nunca para criptografia de chave pública - esse é o ponto.
Womble
@EricTowers Isso é possível com as implementações contemporâneas de SFTP (ou mesmo SSH, a menos que você esteja disposto a juntar alguma coisa) implementações?
um CVn
Essa resposta dá a impressão de que as ações sobre sftp são assinadas em um log em algum lugar e de ponta a ponta protegidas por essa chave. Simplesmente não é esse o caso, um administrador pode adulterar ações ou logs sem usar a chave.
JamesRyan 30/06
11
@ marcelm: Há uma razão pela qual eu disse "frequentemente necessário", nem "sempre absolutamente obrigatório em todas as circunstâncias, sem exceções". Na verdade, como alguém que solicita (e aceita) hashes de senha e chaves públicas regularmente, sei que é uma barreira muito mais alta conseguir que alguém forneça uma senha com hash (com um sal seguro e tudo mais) do que uma chave pública. Se você possui um cliente SSH, possui uma ferramenta de geração de chaves. O mesmo não se pode dizer de algo capaz de chamar crypt(2) em suas muitas formas divertidas.
Womble