Git: expira as chaves ssh assim como as senhas expiram?

4

Estou configurando o git em um ambiente corporativo. As operações do Git serão principalmente através do SSH usando uma única conta com chaves SSH usadas para controle de acesso. (o http será usado para configuração de conta, navegação de código baseado na web, mas pouco mais.)

Mas a ideia de ter chaves SSH que nunca expiram parece tola para mim. Seria preciso apenas que um desktop comprometido vazasse uma chave privada e um intruso teria acesso a nossa propriedade intelectual em perpetuidade.

Eu fiz muito googling e há muito pouca informação sobre isso. O que me assusta porque não acho que estou no caminho errado.

Seria bastante fácil expirar as chaves regularmente, embora ferramentas como GitLab e Stash não simplifiquem. Temos um script de wrapper " git login " para enviar chaves públicas SSH para o servidor. Ele pode garantir que as chaves antigas não sejam reutilizadas e também pode garantir o uso de chaves especiais (conforme especificado em ~/.ssh/config ), de modo que não sobrescrevemos regularmente o ~/.ssh/id_da* de alguém e paremos seus outros logins.     (Embora o uso de chaves em um local não padrão especificado em um arquivo ssh config possa ser problemático para alguns dos meus usuários do lon-linux (Windows).)

Alguém mais fez isso? Qual é a melhor prática do setor?

Atualizar

Ok, parece que parte da resposta é "É exatamente para isso que as senhas SSH são destinadas". Então, as perguntas restantes são ao longo das linhas de

Existe uma maneira de impor o uso e a troca regular de senhas? Eu estou supondo que as pessoas vão cumprir, só precisa ser fácil para eles.

E, tendo dito isso, as senhas ssh eliminam a habilidade de fazer operações git em um cron job. O que seria um verdadeiro obstáculo para não ser capaz de fazer.

    
por Mort 29.07.2015 / 16:26

1 resposta

2

A resposta para a sua pergunta é não, não há nenhuma maneira dentro do ssh de impor frases de alteração regulares.

Como você está usando uma única conta, presumivelmente todas as chaves públicas estarão em um único arquivo authorised_keys, para que você possa invalidar as chaves removendo-as. Isso parece um esforço demais e as pessoas podem usar a mesma frase secreta em uma chave diferente.

Uma maneira de facilitar o seu problema é usar a autenticação multifator, dessa forma, mesmo que a chave / senha seja comprometida, há outra camada no caminho.

    
por 29.07.2015 / 21:17