Criptografar o repositório git no servidor (seguro contra roubo de hardware físico)

11

Eu tenho um servidor de produção (Ubuntu, executando 24/7) com um repositório git e alguns computadores clientes, cada um com uma cópia de trabalho deste repositório. Nos computadores clientes, o simples uso da criptografia de pasta base parece resolver o problema de que, no caso de hardware roubado, ninguém pode acessar os arquivos no git.

Como criptografar o lado remoto do repositório git para garantir que, no caso de hardware roubado, ninguém possa reconfigurar e clonar o repositório git?

No começo, pensei em criptografar o diretório inicial do usuário git, mas depois percebi que isso não faria sentido, desde quando e por quem deveria ser descriptografado?

Posso colocar o repositório git no meu diretório / link próprio, para que ele fique disponível somente quando eu tiver conectado o servidor via SSH? Ou existe uma solução semelhante para esse problema?

Obrigado por todas as dicas com antecedência!

leemes
fonte

Respostas:

4

Você pode usar um diretório inicial criptografado. Você precisaria efetuar login e montar manualmente a unidade criptografada e fornecer a chave de descriptografia quando o servidor reiniciar. Você não pode ter a unidade montada automaticamente por razões óbvias.

ensopado
fonte
Obrigado. Então você quer dizer criptografar o diretório inicial do usuário git? Como não sou o usuário git quando efetuo login no SSH, como monto os ecryptfs? Ou devo fazer login com o usuário git?
Leemes # 14/12
(desculpe, eu só sei ecryptfs em uma configuração automática desde que eu uso Ubuntu em todos os meus computadores com diretórios pessoais criptografados usando ecryptfs, e assim eu nunca precisa se preocupar com quaisquer comandos manuais;))
leemes
1
você pode criptografar apenas uma única pasta. você criaria um arquivo no disco que representa o sistema de arquivos criptografado; se você configurar o arquivo / etc / fstab corretamente, poderá ser algo como executar "mount / home / git / repository", solicitando uma senha. aqui está uma descrição decente de como você pode fazer isso: h3g3m0n.wordpress.com/2007/04/16/…
stew
1

Você pode usar um filtro smudge / clean para criptografar o conteúdo do repositório no sistema de arquivos remoto: https://gist.github.com/873637

Peter Mounce
fonte
Que realmente criptografa o local de repositório bem
Tobias KIENZLER
Experimente o github.com/AGWA/git-crypt - usa o modo CTR e entende melhor o cripto; deixa o repositório local não criptografado na árvore de trabalho, através dos filtros de manchas / limpeza.
Phil P
0

Você pode usar o git-remote-gcrypt de git pushe git fetchpara os computadores clientes no servidor (ou em qualquer outro lugar). Não apenas o conteúdo, mas os nomes dos arquivos e outros metadados do repositório (todos?) Também são criptografados.

Kenny Evitt
fonte