web-dev-qa-db-fra.com

Le stockage des mots de passe avec Git est-il sécurisé?

J'utilise Git sur mon lieu de travail et la politique de l'entreprise ne me permet pas de stocker les mots de passe de manière non sécurisée. Y a-t-il une meilleure option que d'utiliser git config credential.helper store pour stocker le mot de passe sur le serveur Git?

P.S. Impossible d'utiliser l'authentification par clé car elle n'est pas autorisée sur notre serveur.

20
dk14

git config credential.helper store n'est pas très sécurisé; comme il est dit dans documentation :

L'utilisation de cet assistant stockera vos mots de passe non chiffrés sur le disque, protégés uniquement par les autorisations du système de fichiers

Le fichier ~/.git-credentials aura ses autorisations de système de fichiers définies pour empêcher les autres utilisateurs du système de le lire, mais ne sera pas chiffré ou protégé d'une autre manière.

Il stocke donc votre mot de passe tel quel. Git permet d'utiliser votre trousseau git config --global credential.helper osxkeychain pour OSX, il semble donc plus sûr. Pour le système Linux, vous pouvez utiliser git config credential.helper cache , qui stocke les mots de passe dans votre mémoire. Ou vous pouvez écrire le vôtre comme il est dit dans git help credentials:

Vous pouvez écrire vos propres assistants personnalisés pour interfacer avec n'importe quel système dans lequel vous conservez les informations d'identification. Voir la documentation de Git's API d'identification pour plus de détails

En outre, @VonC a souligné la multiplateforme solution basée sur GPG . Voir aussi cette question sur le fichier .netrc.

Il y a aussi gnome-keyring helper pour Linux (merci à @jazakmeister pour ses conseils)

43
dk14