Vault (Hashicorp)

Présentation

Vault est un service qui permet de sauvegarder des secrets de manière sécuriée.

Installation du serveur

Vault est livré sous la forme d’un binaire unique. Pour l’installer, il suffit de le télécharger et de le placer dans un répertoire */bin.

Voici le fichier service pour systemd :

[Unit]
Description=Vault
After=network.target

[Service]
ExecStart=/usr/bin/vault server -config=/etc/vault/vault.conf

[Install]
WantedBy=multi-user.target

Exemple de fichier de configuration :

backend "consul" {
  address = "127.0.0.1:8500"
  path = "vault"
}

listener "tcp" {
 address = "0.0.0.0:8200"
 tls_disable = 1
}

Lors du premier lancement, il faut initialiser Vault :

[root@nomad-1 ~]# export VAULT_ADDR='http://127.0.0.1:8200'
[root@nomad-1 ~]# vault operator init
Unseal Key 1: kmUbxD1poRsPSIFhFxfOcEbjs29x4Vva0IlUGLC8ugQP
Unseal Key 2: p4gmtEr8/5p6zK5xfw2ij5Z+8z4wEq7/L60tq9ejC3x1
Unseal Key 3: wvtvByCuju5xvCHem5LSOfAOYUaI2ffk3Y6pHG1t3jqs
Unseal Key 4: zmJ0/PnlWJkIAF7dqX/VBawMP474Of5ubch5a5nkyJT+
Unseal Key 5: yKqtvj++gLxM5+M+KhguBhXIkeFtDy6cycGk36+JURvV
Initial Root Token: 4a3df2a7-4f63-4deb-772a-e84fffcbc4ae

Vault initialized with 5 keys and a key threshold of 3. Please
securely distribute the above keys. When the vault is re-sealed,
restarted, or stopped, you must provide at least 3 of these keys
to unseal it again.

Vault does not store the master key. Without at least 3 keys,
your vault will remain permanently sealed.

Il faut prendre soin de sauvegarder l’ensemble des clés. Dans ce déploiement, seule trois clés sur les cinq sont nécessaires pour déverouiller Vault.

Pour déverrouiller Vault, il faut utiliser la commande vault operator unseal et lui fournir une clé.

Pour se connecter à Vault et avoir le droit de le modifier, il faut utiliser le token généré au moment de l’initialisation avec la commande vault auth.