Como usar chaves SSH e 1Password para assinar Git Commits

Views: 677
0 0
Read Time:3 Minute, 24 Second

O 1Password está tornando mais fácil para os usuários do GitHub configurar commits assinados usando chaves SSH . As confirmações assinadas verificam se a pessoa que está fazendo a alteração de código é quem ela diz ser.

Quando o código é verificado em um repositório git, a alteração geralmente é salva com o nome da pessoa que envia o código. Embora o nome do committer seja normalmente definido pelo cliente do usuário, ele pode ser facilmente alterado para qualquer outra coisa, o que possibilita que alguém falsifique as mensagens e os nomes do commit. Isso pode ter implicações de segurança se os desenvolvedores não souberem quem enviou um código específico.

O problema fundamental e não resolvido subjacente a todos os problemas de segurança cibernética na Internet é a falta de boas ferramentas para realmente autenticar um ser humano vivo, diz John Bambenek, principal caçador de ameaças da Netenrich. Facilitar a assinatura criptográfica ou os commits assinados permite que as organizações tenham um nível mais alto de garantia sobre a identidade da pessoa.

“Sem isso, você está confiando que o committer é quem eles dizem que é, e a pessoa que aceita o commit entende e revisa o commit em busca de problemas”, acrescenta.

Bambenek observa que, como os criminosos estão perseguindo o código em bibliotecas de código aberto a sério, ser capaz de autenticar verdadeiramente as pessoas que enviam código significa que a janela para usar seus repositórios para comprometer outras organizações é muito menor.

Gerenciamento de chaves mais fácil e escalável

Michael Skelton, diretor sênior de operações de segurança da Bugcrowd, aponta que gerenciar chaves SSH e GPG para assinar commits em várias máquinas virtuais e host de desenvolvedores pode ser um processo complicado e confuso. Anteriormente, os desenvolvedores interessados em commits assinados gerenciados com pares de chaves os armazenavam em suas contas do GitHub e em suas máquinas locais.

“Isso pode dificultar a adoção em massa de commits assinados, prejudicando a capacidade da sua organização de aproveitar ao máximo esse recurso”, diz ele. “Ao fazer com que o 1Password gerencie isso em seu nome, você pode implantar essas chaves com mais facilidade e atualizar as configurações sem problemas.”

Como o 1Password armazena as chaves SSH, fica mais fácil e menos confuso gerenciar chaves em vários dispositivos. Esse recurso também possibilita o gerenciamento de chaves de assinatura do GitHub para desenvolvedores de maneira mais escalável, diz Skelton.

“Ao resolver esse problema, as organizações podem tentar impor commits assinados em seus repositórios usando o modo vigilante do GitHub, ajudando a limitar a capacidade dos nomes dos committers serem deturpados e, por sua vez, mal interpretados”, diz Skelton.

Com commits assinados, é mais fácil ver quando um commit não foi assinado. Também é possível criar uma política de segurança de aplicativo que rejeite confirmações não assinadas.

Como configurar commits assinados

Veja como configurar o GitHub para usar chaves SSH para verificação.

  1. Atualize para o Git 2.34.0 ou posterior, vá para https://github.com/settings/keys e selecione “nova chave SSH”, seguido de “Chave de assinatura”.
  2. A partir daí, navegue até a caixa “Chave” e selecione o logotipo do 1Password, selecione “Criar chave SSH”, preencha um título e selecione “Criar e preencher”.
  3. Para a última etapa, selecione “Adicionar chave SSH” e a parte do processo do GitHub estará concluída.

Depois que a chave estiver configurada no GitHub, vá para o 1Password em sua área de trabalho para configurar seu arquivo .gitconfig para assinar com a chave SSH.

  1. Selecione a opção “Configurar” no banner exibido na parte superior, onde uma janela será aberta com um trecho que você pode adicionar ao arquivo .gitconfig .
  2. Selecione a opção “Editar automaticamente” para que o 1Password atualize o arquivo .gitconfig com um clique.
  3. Os usuários que precisam de uma configuração mais avançada podem copiar o snippet e fazer as coisas manualmente.

Um selo de verificação verde para facilitar a visibilidade da verificação será adicionado à linha do tempo quando você enviar para o GitHub.

FONTE: DARK READING

POSTS RELACIONADOS