Aller au contenu principal

git-crypt

Overview

git-crypt est un outil pour chiffrer de manière transparente des fichiers dans un dépôt Git, permettant de stocker des secrets (mots de passe, clés API, certificats) de manière sécurisée tout en les versionnant. Il utilise le chiffrement AES-256 en mode CTR pour chiffrer les fichiers avant de les commiter, permettant uniquement aux personnes autorisées de les déchiffrer.

La solution met l'accent sur la sécurité, la transparence et l'intégration naturelle avec Git. Elle offre une façon efficace de gérer les secrets dans un dépôt Git, particulièrement utile pour les équipes cherchant à versionner des fichiers sensibles de manière sécurisée.

C'est aujourd'hui l'un des outils de chiffrement Git les plus populaires, particulièrement apprécié pour sa simplicité et sa transparence.


Informations essentielles

PropriétéValeur
Site officielhttps://github.com/AGWA/git-crypt
LicenceGPL-3.0
NationalitéInternational
TypeOutil de chiffrement Git
DéploiementBinaire standalone, package managers
DifficultéIntermédiaire
TechnologiesC++, OpenSSL

TL;DR

git-crypt est idéal si tu veux chiffrer de manière transparente des fichiers sensibles dans un dépôt Git, pour stocker des secrets de manière sécurisée tout en les versionnant. Il offre un chiffrement transparent avec AES-256, une intégration naturelle avec Git et une gestion simple des accès, au prix d'une configuration initiale nécessaire.

Points clés à retenir :

  • Chiffrement transparent de fichiers dans Git.
  • Utilisation d'AES-256 pour le chiffrement.
  • Intégration naturelle avec Git.
  • Gestion simple des accès et des permissions.
  • Particulièrement utile pour les secrets versionnés.

Cas d'usage

  • Secrets versionnés : Stocker des secrets dans Git de manière sécurisée
  • Mots de passe : Chiffrer des fichiers contenant des mots de passe
  • Clés API : Protéger les clés API et les tokens
  • Certificats : Chiffrer les certificats et les clés privées
  • Configuration sensible : Versionner des fichiers de configuration sensibles

Avantages

  • Chiffrement sécurisé avec AES-256
  • Intégration transparente avec Git
  • Gestion simple des accès
  • Cross-platform (Linux, macOS, Windows)
  • Facile à utiliser une fois configuré
  • Performance élevée

Limites

  • Nécessite une configuration initiale
  • Dépend de la gestion des clés GPG
  • Courbe d'apprentissage
  • Moins flexible que certaines alternatives
  • Nécessite la synchronisation des clés

Quand le choisir

Choisis git-crypt si :

  • Tu veux chiffrer de manière transparente des fichiers dans Git
  • Tu cherches une solution simple et performante
  • Tu préfères utiliser AES-256 pour le chiffrement
  • Tu veux versionner des secrets de manière sécurisée

Évite git-crypt si :

  • Tu préfères des solutions de gestion de secrets dédiées (Vault, etc.)
  • Tu n'as pas besoin de versionner les secrets
  • Tu cherches des solutions plus avancées de gestion de secrets

Alternatives

  • git-secret : Outil similaire de chiffrement Git avec GPG
  • HashiCorp Vault : Solution complète de gestion de secrets (différent)
  • SOPS : Chiffrement de fichiers avec gestion de secrets (déjà présent dans secrets-identity)
  • Ansible Vault : Chiffrement pour Ansible (différent)

Ressources