HashiCorp Vault
Mise à jour :
Vault est un outil qui permet de stocker en toute sécurité vos secrets. Mais qu’est-ce qu’un secret ? Des secrets, ce sont toutes vos données dont vous souhaitez pouvoir contrôler étroitement leur accès en lecture, comme les clés d’API, les mots de passe, les certificats, etc.
Introduction
Vault fournit une interface permettant d’accéder à n’importe quel secret, tout en assurant un contrôle d’accès strict et en enregistrant un journal d’audit détaillé.
Qu’apporte Vault
Vault n’est pas qu’un simple stockage, il gère l’ensemble du cycle de vie de vos secrets :
Stockage sécurisé de secret : les secrets de clé/valeur peuvent être stockés dans Vault. Vault crypte ces secrets avant de les écrire dans le stockage persistant, donc accéder au stockage brut ne suffit pas pour accéder à vos secrets.
Secrets dynamiques : Vault peut générer des secrets à la demande pour certains systèmes, tels que les bases de données. Par exemple, Vault peut générer et révoquer également automatiquement vos certificats.
Chiffrement des données : Vault peut chiffrer et déchiffrer les données sans les stocker.
Location et renouvellement : tous les secrets de Vault sont associés à un bail. À la fin du bail, Vault révoquera automatiquement ces secrets.
Le concept de Vault
Hashicorp présente le concept de son produit vault avec une image sous la forme d’un triangle. On retrouve au sommet de ce triangle les clients ayant besoin d’accéder aux secrets et à la base les composants clés de vault. Parmi ces composants Vault on retrouve : les moteurs de secrets, les méthodes d’authentification et les policies.
Vault est livré avec un bon paquet de moteurs de secrets et de méthodes d’authentification.
Parmi les moteurs de secrets, on retrouve les secrets de type clés/valeurs, des PKI, des clés ssh, des bases de données, …
Tester Vault
Si vous souhaitez tester Vault pas besoin de mettre en place tout une infra. Une simple machine Linux suffira. Il faut avant tout installer la dernièr versions de la cli Vault.
Installation de la CLI Vault
HashiCorp fournit des repos pour la plupart des distributions Linux. Pour installer la CLI il suffit d’ajouter le dépôt de package avec machine linux.
Sur une Debian Family
Ouvrez un terminal et tapez les commandes suivantes :
Sur des Red Hat
Pour Centos/RHEL/Fedora :
Sur MacOS
Vérification de l’installation de Vault
Il suffit de taper la commannde suivante :
Lancer votre premier serveur Vault
Dans une fenêtre terminal tapez la commande suivante :
Félicitations votre serveur Vault est opérationnel 👍
Gérer vos secrets avec Vault
La version dev du serveur Vault permet de saisir tout de suite des clés Valeurs dans le coffre-fort. Il suffit dans une autre fenêtre de Terminal d’exporter la variable indiquant à la CLI Vault où se trouve le serveur et le token:
Pour vérifier que vous y avez accès :
Tout est prêt 👍
La commande kv de la CLI Vault
Lors de l’exécution de Vault en mode développement, le moteur de secrets
Key/Value v2 est activé avec le path secret/
. Le moteur de secrets est un
magasin clé-valeur générique utilisé pour stocker des secrets arbitraires dans
le stockage physique configuré pour Vault. Les secrets écrits dans Vault sont
chiffrés, puis écrits dans le stockage principal. Par conséquent, le mécanisme
de stockage back-end ne voit jamais la valeur non chiffrée et ne dispose pas des
moyens nécessaires pour la déchiffrer sans Vault.
Pour gérer les secrets avec la CLI de Vault, il faut utiliser la commande suivante :
Pour obtenir de l’aide avec cette commande :
Stockage de clés/valeurs
Créons notre premier secret :
Il est possible de créer plusieurs secrets avec une seule commande put
:
Lecture d’un secret
La commande get
permet de récupérer un secret :
Effacer un secret
Pour supprimer une valeur, on utilise la commande delete
:
On contrôle que le secret a bien été détruit :
La sortie affiche uniquement les métadonnées dont deletion_time
. Il n’affiche
pas les données elles-mêmes une fois supprimées.
Restauration d’un secret
Comme vous le voyez l’effacement est une opération réversible. On peut restaurer un secret :
On contrôle :
Destruction
Si vous souhaitez supprimer définitivement les métadonnées sous-jacentes, vous
devrez utiliser la commande destroy
:
On contrôle :
Cette fois le flag destroyed
est bien à true
!
Conclusion
J’espère qu’à travers cette petite introduction, vous aurez compris toute la puissance de Vault pour stocker des secrets en toute sécurité. La gestion des secrets n’est pas la seule fonctionnalité de Vault, nous verrons les autres dans les chapitres suivants en commençant par une installation complète.