Szyfruj repozytorium git na serwerze (bezpieczne przed kradzieżą fizycznego sprzętu)

11

Mam serwer produkcyjny (Ubuntu, działający 24/7) z repozytorium git i niektórymi komputerami klienckimi z roboczą kopią tego repozytorium. Na komputerach klienckich zwykłe szyfrowanie folderów domowych wydaje się rozwiązać problem polegający na tym, że w przypadku skradzionego sprzętu nikt nie może uzyskać dostępu do plików w git.

Jak mogę zaszyfrować zdalną stronę repozytorium git, aby upewnić się, że w przypadku skradzionego sprzętu nikt nie będzie mógł zmienić konfiguracji i sklonować repozytorium git?

Na początku myślałem o zaszyfrowaniu katalogu domowego użytkownika git, ale potem zdałem sobie sprawę, że nie będzie to miało sensu, skoro i kiedy powinien go odszyfrować?

Czy mogę umieścić repozytorium git we własnym katalogu domowym / linku do niego, aby był dostępny tylko po zalogowaniu się na serwerze przez SSH? Czy istnieje podobne rozwiązanie tego problemu?

Dzięki za wszelkie wskazówki z góry!

leemes
źródło

Odpowiedzi:

4

Możesz użyć zaszyfrowanego katalogu domowego. Będziesz musiał się zalogować i ręcznie zamontować zaszyfrowany dysk i podać klucz deszyfrujący po ponownym uruchomieniu serwera. Nie można automatycznie zainstalować napędu z oczywistych powodów.

gulasz
źródło
Dzięki. Masz na myśli szyfrowanie katalogu domowego użytkownika git? Ponieważ nie jestem użytkownikiem git, gdy loguję się za pomocą SSH, jak w takim razie zamontować ecryptfs? Czy powinienem zalogować się za pomocą użytkownika git?
leemes
(przepraszam, znam ecryptfs tylko w konfiguracji automatycznej, ponieważ używam Ubuntu na wszystkich moich komputerach z zaszyfrowanymi katalogami domowymi używającymi ecryptfs, więc nigdy nie muszę się martwić o ręczne polecenia;))
leemes
1
możesz zaszyfrować tylko jeden folder. tworzysz na dysku plik, który reprezentuje zaszyfrowany system plików, a następnie, jeśli poprawnie skonfigurujesz / etc / fstab, może to być po prostu uruchomienie „mount / home / git / repository”, które poprosi o podanie hasła. oto porządny opis tego, jak możesz to zrobić: h3g3m0n.wordpress.com/2007/04/16/…
gulasz
1

Możesz użyć filtra rozmazywania / czyszczenia do szyfrowania zawartości repozytorium w zdalnym systemie plików: https://gist.github.com/873637

Peter Mounce
źródło
To faktycznie szyfruje również lokalne repozytorium
Tobias Kienzler,
Spróbuj zamiast tego github.com/AGWA/git-crypt - używa trybu CTR i lepiej rozumie krypto; pozostawia lokalne repozytorium niezaszyfrowane w działającym drzewie poprzez filtry rozmazywania / czyszczenia.
Phil P
0

Możesz użyć git-remote-gcrypt do git pushiz git fetchkomputerów klienckich na serwer (lub gdziekolwiek indziej). Nie tylko zawartość, ale także nazwy plików i inne (wszystkie?) Metadane repozytorium są również szyfrowane.

Kenny Evitt
źródło