Première étape:
Désinstaller les anciennes versions
- sudo dnf remove docker docker-latest docker-engine docker-client docker-common docker-client-latest docker-logrotate docker-latest-logrotate
Mettre à jour le dépôt de packages du système
- sudo dnf check-update
- sudo dnf upgrade
Configuration du référentiel
- sudo dnf config-manager –add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Installation du moteur Docker
- sudo dnf install docker-ce –nobest –allowerasing -y , cette commande permet d’installer la dernière version de Docker à partir du référentiel


Démarrer le daemon docker
- sudo systemctl start docker
- sudo systemctl status docker

Démarrer le démon Docker automatiquement au démarrage
- sudo systemctl enable docker

Nous allons utiliser une image vault avec docker
- docker run –cap-add=IPC_LOCK -d -p 8200:8200 –name=dev-vault vault
Vérifier si le conteneur est bien lancé:
- docker run –cap-add=IPC_LOCK -d -p 8200:8200 –name=dev-vault vault
- docker ps, pour vérifier si le conteneur est bien lancé
Vérifier les log du vault
- docker logs dev-vault

Tester vault avec un call api en local
- sudo curl http://127.0.0.1:8200/v1/sys/health

Stopper le conteneur
- docker stop dev-vault
- docker rm dev-vault, pour supprimer le conteneur
Deuxième étape:
Mise en place d’un vault sans HA
Nous allons utilisé le Backend Storage File System, car nous avons un seul noeud.
Target:
Nous avons une instance qui comporte notre binaire, et qui écoutera sur le port 8200.
Installation de vault

- sudo yum-config-manager –add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

- sudo yum -y install vault

- vault -version, pour voir la version de vault installé

Lancer le serveur vault en dev-mod avec la commande:
- vault server -dev -dev-root-token-id=root &

Exporter une variable d’environnement qui est VAULT_ADDR sur le quelle nous renseignons l’addresse du vault http://127.0.0.1:8200 avec la commande:
- export VAULT_ADDR=’http://127.0.0.1:8200′
- vault status

Exporter le token avec la variable d’environnement VAULT_TOKEN
- export VAULT_TOKEN=”root”
- vault token lookup, pour voir les informations du token

Terminer le serveur de dev
Nous allons retirer les variables d’environnements pour les initialiser pour le prochain test.
- unset VAULT_ADDR
- unset VAULT_TOKEN
Lancement du vault en mode serveur, mise en storage Backend, initialisation, effectuer des actions pur avoir de la persistance de la donnée. Pour cela, nous allons nous basé sur le fichier de configuration qui a été pré-généré.
Nous allons activer l’ui.
Lancer le serveur vault en lui indiquant le fichier de configuration “/etc/vault.d/vault.hcl
- sudo vault server -config=/etc/vault.d/vault.hcl &
- Erreurs rencontréés

Résolution de l’erreur
Liens utilisés:
- https://discuss.hashicorp.com/t/error-initializing-listener-of-type-tcp-listen-tcp-127-0-0-1-bind-address-already-in-use/15562/5
- https://www.educba.com/centos-kill-process/
- lsof -i :8200
- sudo netstat -tulpn

- sudo kill -9 33444
- sudo vault server -config=/etc/vault.d/vault.hcl &

Mettre l’adresse ip du vault en variable d’environnement, qui sera utilisé par la vault key
- export VAULT_ADDR=’https://127.0.0.1:8200′
- export VAULT_SKIP_VERIFY=’true’, pour éviter un problème de certificat
- vault status

On remareque que le vault n’est pas initialisé.
Il faudra initialiser vault server avec unseal key
- vault operator init

- NB: Copier et coller les unseal key dans un fichier
- Vérifier à nouveau le status du serveur vault avec: vault status

On remarque que le serveur vault est initialisé, mais est à l’état Sealed. Donc il faudra que nous insérons les unseal key pour génerer la Master Key, afin de déchiffrer la clé de chiffrement pour ensuite interagir avec le Storage Backend. Par défaut nous avons 5 unseal key, et il nous faut au minimum 3 pour pourvoir déverrouiller le vault.
Inserer les différentes Unseal Key
- vault operator unseal “remplacer_un_unseal_key”
- Rappeler la commande 2 fois et changer le unseal key


Vériez à nouveau le status du vault server

S’authentifier avec le token root
- vault login

- vault token lookup

- sudo ls /opt/vault/data/sys/token/id

- sudo ls /opt/vault/data/sys/token/id/_h0bc7c6dee2037e84501378f6104bd4fe2a799e53cd93701b43a45650ff5f3a7f

0 Comments