Comment chiffrer git sur mon serveur?


12

Voici le plus proche que j'ai eu: j'ai installé gitolite dans le /Privatedossier en utilisant ecryptfs-utils ( sudo apt-get install ecryptfs-utils adduser git ecryptfs-setup-privatepuis le reste configurait gitolite en utilisant une installation root).

Cela fonctionnait très bien tant que quelqu'un était connecté en tant qu'utilisateur en gitutilisant un mot de passe (l' su gitutilisation de root ne fonctionne pas). Étant donné que le dossier privé s'active en se connectant avec un mot de passe et que gitolite utilise des clés RSA (obligatoires), le dossier privé est masqué, une erreur se produit.

Existe-t-il un moyen de me connecter à mon serveur après un redémarrage, de taper le mot de passe et de disposer du dossier privé de l'utilisateur git jusqu'au prochain redémarrage de la machine?

Ou peut-être existe-t-il un moyen facile de crypter un dossier pour les référentiels git?


Je ne sais pas ce que tu veux dire. Pousser et tirer sur SSH est déjà crypté. Avez-vous besoin d'un chiffrement au-delà de cela?
jonescb

Ça su - gitmarche? De plus, quel est l'intérêt de chiffrer le FS si vous voulez qu'il soit toujours disponible si la machine est allumée? Est-ce strictement pour se protéger contre les attaques hors ligne?
Hank Gay

@jonescb filesystem encryption

@Hank Gay: Oui. les attaques hors ligne sont tout ce que je veux sécuriser avec ça. Il devrait toujours être disponible de manière raisonnablement hors ligne + sécuriser l'utilisateur qui accède aux fichiers de cryptage + utiliser un bon logiciel qui accède auxdits fichiers est vraiment tout ce que je pouvais faire. -edit- et ne l'a su - gitpas résolu malheureusement.

peut-être que vous voulez fermer l'autre thread: unix.stackexchange.com/questions/10355/…
D4RIO

Réponses:


4

Vous devez simplement supprimer le fichier ~/.ecryptfs/auto-umount.

Ce fichier est un indicateur que pam_ecryptfs vérifie lors de la déconnexion. Ce fichier existe par défaut lors de la configuration, ainsi ~/.ecryptfs/auto-mountque votre répertoire privé est automatiquement monté et démonté lors de la connexion / déconnexion. Mais chacun peut être supprimé indépendamment pour modifier ce comportement. Prendre plaisir!


2

Vous pouvez utiliser une approche de filtrage des taches / nettoyage git; cela va crypter le contenu du référentiel et le décrypter pour travailler avec dans l'arborescence de travail.

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

Cependant, il ne chiffrera pas les noms des fichiers.


1

Désolé, impossible de poster comme commentaire ...

Peut-être pourriez-vous monter votre ssh via sshfs et utiliser encfs à l'intérieur?


git est assez automatique. Je ne pense pas que je puisse dire à git d'exécuter des commandes sur ssh avant / après avoir fait ses trucs git

Je voulais dire monter votre répertoire distant en tant que répertoire local avec sshfs, puis monter un dossier chiffré à l'intérieur avec encfs et ensuite utiliser votre dossier git à l'intérieur. Git n'a pas besoin de savoir ce qui se passe.
solarc

1

Utilisez screen. créez simplement un écran, entrez dans l'utilisateur et faites ce que vous devez faire. Détachez-le en utilisant Ctrl + A, d. Ensuite, vous devriez pouvoir vous déconnecter sans tuer le processus, donc quelqu'un est connecté à tout moment.


0

Peut-être emballant votre dépôt dans un tar chiffré GPG. Il est possible de supprimer la clé privée de votre domicile à chaque fois, donc votre repo sera presque indécryptable. Chaque fois que vous vous connectez, vous écrivez la clé privée dans votre maison, déchiffrez le dépôt et l'utilisez.


0

Si vous pouvez désactiver le module de session pam_ecryptfs, les points de montage ecryptfs ne seront pas démontés à la déconnexion, mais cela affecte également tout le monde. Une autre idée consiste à utiliser une phrase de passe différente de votre identifiant pour envelopper votre phrase de phase de montage. Dans ce cas, il ne parviendra pas à le monter automatiquement à la connexion, et par conséquent, il ne devrait pas (ne le fera pas) se démonter à la déconnexion. Vous pouvez ensuite monter manuellement ecryptfs et il devrait rester monté jusqu'au prochain redémarrage:

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

0

Si vous recherchez une protection strictement hors ligne, alors quelque chose comme une partition chiffrée montée automatiquement devrait faire l'affaire. Je vois que vous utilisez apt-get, donc il y a de fortes chances que vous utilisiez Ubuntu. Dans ce cas, il peut vous intéresser de savoir qu'Ubuntu a le cryptage en option lors de l'installation . Si vous utilisez Debian, voici un article que j'ai trouvé qui explique comment configurer un système de fichiers crypté en plusieurs étapes faciles .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.