Como criptografar o git no meu servidor?

12

Aqui está o mais próximo que cheguei: instalei o gitolite na /Privatepasta usando ecryptfs-utils ( sudo apt-get install ecryptfs-utils adduser git ecryptfs-setup-privateo resto foi configurar o gitolite usando uma instalação raiz).

Funcionou muito bem desde que alguém estivesse logado como usuário gitusando uma senha (o su gituso do root não funciona). Como a pasta particular é ativada por meio do login com uma senha e o gitolite usa chaves RSA (obrigatório), a pasta particular fica oculta e ocorre um erro.

Existe uma maneira de entrar no meu servidor após uma reinicialização, digitar a senha e ter a pasta privada do usuário git disponível até a próxima vez que a máquina reiniciar?

Ou talvez haja uma maneira fácil de criptografar uma pasta para repositórios git?

Esteira
fonte
Não sei bem o que você quer dizer. Empurrar e puxar o SSH já está criptografado. Você precisa de criptografia além disso?
31711 jonescb
Funciona su - git? Além disso, qual é o sentido de criptografar o FS se você deseja que ele esteja sempre disponível se a máquina estiver ligada? É estritamente para proteger contra ataques offline?
Hank Gay
criptografia @jonescb sistema de arquivos
@Hank Gay: Sim. ataques offline é tudo que eu quero proteger com isso. Ele deve estar sempre disponível de maneira razoavelmente offline, protegendo o usuário que acessa os arquivos criptografados, usando um bom software para acessar esses arquivos. -edit- e su - gitnão resolveu isso infelizmente.
talvez você queira fechar o outro segmento: unix.stackexchange.com/questions/10355/…
D4RIO 31/03

Respostas:

4

Você simplesmente precisa remover o arquivo ~/.ecryptfs/auto-umount.

Este arquivo é um sinalizador que pam_ecryptfs verifica no logout. Esse arquivo existe por padrão na instalação, juntamente com ~/.ecryptfs/auto-mount, de modo que seu diretório privado seja automaticamente montado e desmontado no login / logout. Mas cada um pode ser removido independentemente para alterar esse comportamento. Desfrutar!

Dustin Kirkland
fonte
2

Você pode usar uma abordagem de filtro de manchas / git limpo; isso criptografará o conteúdo do repositório e o descriptografará para trabalhar na árvore de trabalho.

Consulte https://gist.github.com/873637 .

No entanto, ele não criptografará os nomes dos arquivos.

Peter Mounce
fonte
1

Desculpe, não posso postar como um comentário ...

Talvez você possa montar seu ssh através de sshfs e usar encfs dentro?

solarc
fonte
O git é bastante automático. Eu não acho que eu posso dizer git para executar comandos sobre ssh antes / depois de fazer seu material git
Eu quis dizer montar seu diretório remoto como um diretório local com sshfs, montar uma pasta criptografada dentro dela com encfs e usar sua pasta git dentro dela. O Git não precisa saber o que está acontecendo.
A SolArc
1

Use screen. basta criar uma tela, su no usuário e fazer o que você precisa fazer. Desconecte-o usando Ctrl + A, d. Então você deve conseguir desconectar sem interromper o processo, para que alguém esteja conectado o tempo todo.


fonte
0

Talvez empacote seu repositório em um alcatrão criptografado por GPG. É possível excluir a chave privada da sua casa toda vez, para que seu repo seja quase indecifrável. Cada vez que você efetua login, você escreve a chave privada em sua casa, descriptografa o repositório e usa-o.

D4RIO
fonte
0

Se você puder desativar o módulo de sessão pam_ecryptfs, os pontos de montagem ecryptfs não serão desmontados no logout, mas isso também afetará a todos. Outra idéia é usar uma frase secreta diferente do seu login para quebrar sua frase de fase de montagem. Nesse caso, ele falhará ao montá-lo automaticamente no logon e, portanto, não deve (não vai?) Desmontar no logout. Você pode montar manualmente ecryptfs e ele deve permanecer montado até a próxima reinicialização:

ecryptfs-umount-private
ecryptfs-rewrap-passphrase .ecryptfs/wrapped-passphrase
ecryptfs-mount-private
penguin359
fonte
0

Se você procura uma proteção estritamente offline, algo como uma partição criptografada montada automaticamente deve fazer o truque. Vejo que você está usando apt-get, então há uma boa chance de você estar no Ubuntu. Nesse caso, pode ser interessante saber que o Ubuntu tem criptografia como uma opção durante a instalação . Se você estiver usando o Debian, aqui está um artigo que eu descobri que aborda Como configurar um sistema de arquivos criptografado em várias etapas fáceis .

Hank Gay
fonte