A chave GPG de um repositório debian deve ser compartilhada entre seus mantenedores?

3

Estou seguindo este tutorial para configurar um repositório debian

link

Este repositório será gerenciado por mim e meus colegas. Queremos assinar os pacotes e o repo propriamente dito, então eu preciso de uma chave GPG. Naturalmente, eu não deveria usar minha própria chave GPG, senão meus colegas não podem gerenciar o repositório. Então, pensei em criar uma nova chave GPG especificamente para esse repositório e depois compartilhar a chave privada com meus colegas.

Esta é a maneira correta de ter um repositório gerenciado por muitas pessoas? Eu não gosto da idéia de compartilhar uma chave privada (e acho que não seria bem escalável para os repositórios gerenciados por muitas pessoas), mas por outro lado, não vejo outra maneira de fazer isso.

Acho que há uma solução simples, mas minha falta de experiência nesse tipo de servidor não está ajudando.

Editar: compartilhar uma chave privada foi mencionado aqui link (caso de uso 2 na parte inferior)

    
por Marcelo Diniz 16.01.2014 / 14:26

1 resposta

0

Eu não fiz isso com os pacotes Debian, mas aqui está o que fizemos com os RPMs em um trabalho anterior: nós fizemos um servidor de assinatura que contém a chave privada, e ninguém teve acesso a ela diretamente. (Bem, exceto aqueles de nós que eram administradores de sistemas nesse sistema; dependendo das suas necessidades de segurança, você poderia tornar esse "firewall" mais strong.)

O servidor de assinatura tem uma área de dropbox. Você pode limitar isso por chaves ssh ou senhas ou qualquer outra coisa, ou, por causa da próxima etapa, você pode até deixá-la aberta ao mundo.

Monitore a área da caixa de depósito para novos arquivos. Quando eles aparecerem, verifique se eles estão assinados com uma chave válida de um dos mantenedores . Se não estiverem, exclua-os. Em seguida, verifique se eles são arquivos de pacote válidos com quaisquer outras verificações desejadas, copie-os para uma área de armazenamento temporário sob uma conta de usuário reservada para o serviço de assinatura. Depois de passar a validação, o servidor de assinatura renuncia os pacotes com sua própria chave (que, novamente, não é diretamente legível).

E como é conveniente, o mesmo servidor realmente executou as ferramentas de criação de repositório. Como, ao contrário do RPM, seu próprio repositório é assinado, isso parece particularmente conveniente, porque você pode adicionar essa assinatura aqui, novamente com a chave privada que ninguém tem acesso direto.

Uma versão ligeiramente mais strong disso remove a coleta automática e faz com que os assinantes digitem a frase secreta da chave secreta todas as vezes. Dessa forma, as pessoas que mantêm o sistema podem nem conseguir assinar pacotes enganando-os e acessando-os diretamente. (É claro, eles poderiam trojan o sistema, mas vamos deixar esse grau de paranóia para um tópico diferente. Ou você pode simplesmente decidir que você sabe que tem que confiar nos sysadmins de qualquer maneira e reforçar isso por política, deixando a conveniência do dropdown. abordagem de caixa no lugar.)

    
por 16.01.2014 / 15:05