Outils pour utilisateurs

Outils du site


securite:vault

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
securite:vault [2018/04/04 02:54] – [Créer des policies] sgariepysecurite:vault [2022/04/10 22:32] – [Persistance des données] sgariepy
Ligne 2: Ligne 2:
  
   * [[https://www.vaultproject.io/|Site officiel de Vault]]   * [[https://www.vaultproject.io/|Site officiel de Vault]]
 +  * [[https://www.digitalocean.com/community/tutorials/how-to-securely-manage-secrets-with-hashicorp-vault-on-ubuntu-16-04|How To Securely Manage Secrets with HashiCorp Vault on Ubuntu 16.04]]
  
 ====== Installation ====== ====== Installation ======
Ligne 64: Ligne 65:
 Ensuite, on peut faire: Ensuite, on peut faire:
  
-  $ vault init+  $ vault operator init
      
 Il faut noter les clés, idéalement à des endroits différents et elles-mêmes encryptées. Il faut noter les clés, idéalement à des endroits différents et elles-mêmes encryptées.
Ligne 71: Ligne 72:
 Après un ''init'', Vault est en état ''Sealed'' Il faut le déverrouiller en faisant: Après un ''init'', Vault est en état ''Sealed'' Il faut le déverrouiller en faisant:
  
-  $ vault unseal [unsealkey]+  $ vault operator unseal [unsealkey]
  
 Par défaut, il faut entrer trois clés //unseal// différentes sur les cinq qui ont été donnés lors du ''vault init'', ce qui signifie qu'il faut faire ''vault unseal'' trois fois. Par défaut, il faut entrer trois clés //unseal// différentes sur les cinq qui ont été donnés lors du ''vault init'', ce qui signifie qu'il faut faire ''vault unseal'' trois fois.
Ligne 86: Ligne 87:
  
 Les données sont persistées et si le serveur redémarre, un init ne sera pas nécessaire. Les données sont persistées et si le serveur redémarre, un init ne sera pas nécessaire.
 +
 +
 +
 +===== Installation de Vault avec systemctl =====
 +
 +
 +
 +
 +  sudo useradd -r -d /var/lib/vault -s /bin/nologin vault
 +  sudo install -o vault -g vault -m 750 -d /var/lib/vault
 +  sudo mkdir /etc/vault
 +  sudo nano /etc/vault.file.hcl
 +  
 +<code>
 +storage "file" {
 +  path = "/var/lib/vault/data"
 +}
 +
 +listener "tcp" {
 +  address = "127.0.0.1:8200"
 +  tls_disable = 0
 +  tls_cert_file = "/var/lib/vault/vault.crt"
 +  tls_key_file = "/var/lib/vault/vault.key"
 +}
 +</code>
 +
 +
 +
 +
 +
 +  sudo chown vault:vault /etc/vault/vault.file.hcl
 +  sudo chmod 640 /etc/vault/vault.file.hcl
 +
 +
 +  sudo nano /etc/systemd/system/vault.service 
 +
 +
 +<code>
 +[Unit]
 +Description=a tool for managing secrets
 +Documentation=https://vaultproject.io/docs/
 +After=network.target
 +ConditionFileNotEmpty=/etc/vault/vault.file.hcl
 +
 +[Service]
 +User=vault
 +Group=vault
 +ExecStart=/usr/local/bin/vault server -config=/etc/vault/vault.file.hcl
 +ExecReload=/usr/local/bin/kill --signal HUP $MAINPID
 +CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK
 +AmbientCapabilities=CAP_IPC_LOCK
 +Capabilities=CAP_IPC_LOCK+ep
 +SecureBits=keep-caps
 +NoNewPrivileges=yes
 +KillSignal=SIGINT
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +
 +
 +Create a group for key access:
 +
 +
 +  sudo groupadd pki
 +
 +
 +  sudo chgrp pki /etc/vault/pki
 +  sudo chmod g+rx /etc/vault/pki
 +  sudo gpasswd -a vault pki
 +
 +
 +
 +===== Démarrage =====
 +
 +
 +  $ sudo systemctl start vault
 +  $ sudo systemctl status vault
 +
 +
 +
 +
 +[[https://www.digitalocean.com/community/tutorials/how-to-securely-manage-secrets-with-hashicorp-vault-on-ubuntu-16-04|Source]]
 +
 +
 +
 +
 +
 +
  
 ====== Gestion des secrets ====== ====== Gestion des secrets ======
Ligne 92: Ligne 182:
  
   $ vault mount kv   $ vault mount kv
 +  $ vault secrets enable kv //nouvelle commande
 +
  
  
Ligne 122: Ligne 214:
  
  
-  $ vault token-create [-policy="policyname"]+  $ vault token create [-policy="policyname"]
   Key            Value   Key            Value
   ---            -----   ---            -----
Ligne 134: Ligne 226:
 S'authentifier avec un token: S'authentifier avec un token:
  
-  $ vault auth c4a0d45f-4a16-3e59-d5a0-c70e0efb2d23+  $ vault login c4a0d45f-4a16-3e59-d5a0-c70e0efb2d23
  
  
-  $ vault token-revoke c4a0d45f-4a16-3e59-d5a0-c70e0efb2d23+  $ vault token revoke c4a0d45f-4a16-3e59-d5a0-c70e0efb2d23
  
  
Ligne 160: Ligne 252:
 Autre façon: Autre façon:
  
-  $ vault policy-write <policy-name> ./policy.hcl+  $ vault policy write <policy-name> ./policy.hcl
  
 Créer un token avec la policy: Créer un token avec la policy:
Ligne 170: Ligne 262:
  
   $ vault policy read [policyname]   $ vault policy read [policyname]
 +
 +Lister des policies:
 +
 +  $ vault policy list
  
 ===== Créer des rôles ===== ===== Créer des rôles =====
Ligne 178: Ligne 274:
 ====== Audit ====== ====== Audit ======
  
 +
 +De base:
 +
 +  $ vault audit enable file file_path=/var/log/vault_audit.log
 ====== Restart ====== ====== Restart ======
  
Ligne 184: Ligne 284:
  
   $ export VAULT_ADDR=https://127.0.0.1:8200   $ export VAULT_ADDR=https://127.0.0.1:8200
 +  $ screen -S consul
   $ consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -bind 127.0.0.1   $ consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -bind 127.0.0.1
 +  [ctrl-a d]
 +  $ screen -S vault
   $ vault server --config=vault.file.hcl   $ vault server --config=vault.file.hcl
 +  [ctrl-a d]
   $ vault init   $ vault init
-  $ vault unseal <key>+  $ vault operator unseal <key>
   $ vault auth <token>   $ vault auth <token>
   $ vault mount kv   $ vault mount kv
securite/vault.txt · Dernière modification : 2022/04/10 22:35 de sgariepy