Cifrar el repositorio git en el servidor (seguro contra el robo de hardware físico)

11

Tengo un servidor de producción (Ubuntu, que funciona las 24 horas, los 7 días de la semana) con un repositorio git y algunas computadoras cliente, cada una con una copia de trabajo de este repositorio. En las computadoras cliente, el simple uso del cifrado de la carpeta de inicio parece resolver el problema de que, en caso de robo de hardware, nadie puede acceder a los archivos en el git.

¿Cómo puedo cifrar el lado remoto del repositorio git para asegurarme de que en caso de hardware robado nadie pueda reconfigurar y clonar el repositorio git?

Al principio, pensé en cifrar el directorio de inicio del usuario git, pero luego me di cuenta de que esto no tendría ningún sentido, ¿desde cuándo y por quién debería ser descifrado?

¿Puedo poner el repositorio de git en mi propio directorio / enlace de inicio para que solo esté disponible cuando haya iniciado sesión en el servidor a través de SSH? ¿O hay una solución similar a este problema?

Gracias por cualquier consejo de antemano!

Leemes
fuente

Respuestas:

4

Puede usar un directorio de inicio cifrado. Tendría que iniciar sesión y montar manualmente la unidad cifrada y proporcionar la clave de descifrado cuando se reinicie el servidor. No puede tener la unidad montada automáticamente por razones obvias.

estofado
fuente
Gracias. ¿Te refieres a cifrar el directorio de inicio del usuario git? Como no soy el usuario git cuando inicio sesión con SSH, ¿cómo puedo montar el ecryptfs? ¿O debería iniciar sesión con el usuario git?
Leemes
(lo siento, solo conozco ecryptfs en una configuración automática ya que uso Ubuntu en todas mis computadoras con directorios de inicio cifrados que usan ecryptfs, por lo que nunca tengo que preocuparme por ningún comando manual;))
leemes
1
podrías encriptar solo una carpeta. estaría creando un archivo en el disco que representa el sistema de archivos cifrado, luego, si configura / etc / fstab correctamente, podría ser algo así como ejecutar "mount / home / git / repository" que le pedirá una contraseña. Aquí hay una reseña decente de cómo podría lograr esto: h3g3m0n.wordpress.com/2007/04/16/…
guiso
1

Puede usar un filtro de manchas / limpieza para cifrar el contenido del repositorio en el sistema de archivos remoto: https://gist.github.com/873637

Peter Mounce
fuente
Eso también encripta el repositorio local
Tobias Kienzler
Pruebe github.com/AGWA/git-crypt en su lugar: utiliza el modo CTR y entiende la criptografía bastante mejor; deja el repositorio local sin cifrar en el árbol de trabajo, a través de los filtros de manchas / limpieza.
Phil P
0

Puede usar git-remote-gcrypt hacia git pushy git fetchdesde las computadoras cliente al servidor (o en cualquier otro lugar). No solo los contenidos, sino también los nombres de los archivos y otros metadatos del repositorio (¿todos?) También están encriptados.

Kenny Evitt
fuente