Come crittografare git sul mio server?


12

Ecco il più vicino che ho ottenuto: ho installato gitolite nella /Privatecartella usando ecryptfs-utils ( sudo apt-get install ecryptfs-utils adduser git ecryptfs-setup-privatepoi il resto stava configurando gitolite usando un'installazione root).

Ha funzionato bene fintanto che qualcuno ha effettuato l'accesso come l'utente gitutilizzando una password (l' su gitutilizzo di root non funziona). Poiché la cartella privata si attiva mediante l'accesso con una password e gitolite utilizza le chiavi RSA (obbligatorio), la cartella privata è nascosta, pertanto si verifica un errore.

Esiste un modo per accedere al mio server dopo un riavvio, digitare la password e avere la cartella privata dell'utente git disponibile fino al prossimo riavvio della macchina?

O forse c'è un modo semplice per crittografare una cartella per i repository git?


Non sono sicuro di cosa intendi. Il push e il pull su SSH è già crittografato. Hai bisogno di crittografia oltre a questo?
jonescb

Funziona su - git? Inoltre, qual è lo scopo di crittografare FS se si desidera che sia sempre disponibile se la macchina è accesa? È strettamente protetto dagli attacchi offline?
Hank Gay,

Crittografia del filesystem @jonescb

@Hank Gay: Sì. attacchi offline è tutto ciò che voglio proteggere con questo. Dovrebbe essere sempre disponibile in modo ragionevolmente offline + proteggere l'utente che accede ai file crittografati + utilizzando un buon software che acceda a tali file è davvero tutto ciò che potevo fare. -edit- e su - gitpurtroppo non lo ha risolto.

forse vuoi chiudere l'altro thread: unix.stackexchange.com/questions/10355/…
D4RIO

Risposte:


4

Devi semplicemente rimuovere il file ~/.ecryptfs/auto-umount.

Questo file è un flag che pam_ecryptfs verifica al logout. Questo file esiste di default al momento dell'installazione, insieme a ~/.ecryptfs/auto-mount, in modo tale che la tua directory privata sia montata e smontata automaticamente all'accesso / disconnessione. Ognuno di essi può essere rimosso indipendentemente per modificare tale comportamento. Godere!


2

È possibile utilizzare un approccio filtro sbavature / pulizia git; questo crittograferà il contenuto del repository e lo decifrerà per lavorare con l'albero di lavoro.

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

Tuttavia, non crittograferà i nomi dei file.


1

Siamo spiacenti, non posso pubblicare come commento ...

Forse potresti montare il tuo ssh attraverso sshfs e usare encfs dentro?


git è abbastanza automatico. Non credo di poter dire a git di eseguire comandi su ssh prima / dopo aver fatto le sue cose git

Intendevo montare la tua directory remota come dir locale con sshfs, quindi montare una cartella crittografata all'interno di quella con encfs e quindi usare la cartella git all'interno di quella. Git non ha bisogno di sapere cosa sta succedendo.
solarc

1

Usa screen. basta creare uno schermo, su nell'utente e fare quello che devi fare. Staccare da esso usando Ctrl + A, d. Quindi dovresti essere in grado di disconnetterti senza uccidere il processo in modo che qualcuno sia connesso in ogni momento.


0

Forse impacchettare il repository in un tar crittografato con GPG. È possibile eliminare la chiave privata da casa ogni volta, quindi il tuo repository sarà quasi indecifrabile. Ogni volta che accedi, scrivi la chiave privata a casa tua, decodifica il repository e lo usi.


0

Se riesci a disabilitare il modulo di sessione pam_ecryptfs, i punti di montaggio di ecryptfs non verranno smontati al logout, ma ciò influirà anche su tutti. Un'altra idea è quella di utilizzare una passphrase diversa dal tuo login per avvolgere la tua fase di montaggio. In questo caso, non riuscirà a montarlo automaticamente all'accesso e quindi non dovrebbe (non sarà?) Smontare all'uscita. È quindi possibile montare manualmente ecryptfs e dovrebbe rimanere montato fino al prossimo riavvio:

ecryptfs-umount-private
ecryptfs-rewrap-passphrase .ecryptfs/wrapped-passphrase
ecryptfs-mount-private

0

Se stai cercando una protezione rigorosamente offline, qualcosa come una partizione crittografata montata automaticamente dovrebbe fare il trucco. Vedo che stai usando apt-get, quindi c'è una buona probabilità che tu sia su Ubuntu. In tal caso, potrebbe interessarti sapere che Ubuntu ha la crittografia come opzione durante l'installazione . Se stai usando Debian, ecco un articolo che ho scoperto che tratta di Come configurare un filesystem crittografato in diversi semplici passaggi .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.