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
hvs.P2o5SwIppJXywgYHUhq77W6f
  • 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

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *