Introduzione
Vault è un sistema di gestione delle informazioni sensibili. Memorizza, controlla e protegge i dati che utilizzi per i processi di autenticazione o autorizzazione.
Vault limita e gestisce l'accesso a "segreti sensibili" inclusi password, certificati o API. Fornisce inoltre crittografia dei dati, segreti su richiesta e revoca. In questo tutorial scopri come installare e configurare Vault su Ubuntu 18.04 e come configurare Consul.
Prerequisiti
- Ubuntu 18.04
- Un account utente con sudo privilegi
- Accesso a una finestra di terminale/riga di comando (Ctrl-Alt-T)
Passaggi per l'installazione di Vault su Linux Ubuntu 18.04
Passaggio 1:installa Console
Consul è un sistema di rilevamento e configurazione di servizi altamente scalabile e distribuito. Puoi coordinare Consul Storage come back-end per Vault per assicurarti che il software sia altamente disponibile e tollerante ai guasti.
Il primo passo è installare e configurare Consul su Ubuntu 18.04.
1. Inizia navigando sulla pagina web ufficiale di Consul e facendo clic su Download icona.
2. Il browser ti porta quindi alla pagina Download con tutti i pacchetti disponibili. Cerca la sezione Linux e fai clic con il tasto destro sulla versione a 32 o 64 bit. Copia la posizione del collegamento, poiché ti servirà nel passaggio successivo.
3. Apri il terminale (Ctrl +Alt +T ) e usa il wget
comando per scaricare il pacchetto Consul:
wget https://releases.hashicorp.com/consul/1.6.1/consul_1.6.1_linux_amd64.zip
4. Quindi, decomprimi il pacchetto con il comando:
unzip consul_1.6.1_linux_amd64.zip
5. Quindi, sposta il pacchetto di installazione digitando il seguente comando:
sudo mv consul /usr/bin
6. Termina verificando l'installazione con il comando:
consul
L'output dovrebbe elencare tutti i comandi console disponibili, come nell'immagine seguente:
Fase 2:Configura Console
1. Crea e apri un nuovo file con:
sudo nano /etc/system/system/consul.service
2. Aggiungi i seguenti contenuti a consul.service file:
[Unit]
Description=Consul
Documentation=https://www.consul.io/
[Service]
ExecStart=/usr/bin/consul agent –server –ui –data-dir=/temp/consul –bootstrap-expect=1 –node=vault –bind=IP.ADDRESS.OF.SERVER –config-dir=/etc/consul.d/
ExecReload=/bin/kill –HUP $MAINPID
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
3. Salva e esci il file.
4. Quindi, passa alla creazione di una directory di configurazione e all'aggiunta di un nuovo .json file in esso:
sudo mkdir /etc/consul.d
nano /etc/consul.d/ui.json
5. Per configurare l'interfaccia utente in modo che si connetta a qualsiasi cosa, aggiungi il seguente contenuto al file appena creato:
{
“addresses”: {
“http”: “0.0.0.0”
}
}
6. Assicurati di salvare prima di uscire dal file.
7. Affinché le modifiche avvengano, è necessario ricaricare, avviare e abilitare il servizio di console.
Ricarica il sistema con il comando:
systemctl daemon-reload
Esegui il comando per avvio il servizio:
systemctl start consul
Quindi, abilita utilizzando:
systemctl enable consul
Verifica che il servizio sia attivo e funzionante con il comando:
journalctl –f –u consul
Successivamente apre un browser web e naviga all'URL:
vault.admintome.lab:8500/ui/
Questo apre la piattaforma di gestione online di HashiCorp e mostra i servizi disponibili. Se vedi console come servizio, hai configurato correttamente il software.
Fase 3:installazione di Vault su Ubuntu
Con Console in atto, passa all'installazione di Vault sul tuo sistema Ubuntu 18.04.
1. Vai al sito Web ufficiale di Vault, fai clic su Download e trova il pacchetto disponibile per le distribuzioni Linux.
2. Fare clic con il pulsante destro del mouse su Download icona e copia la posizione del collegamento.
3. Usando il comando wget, scarica il pacchetto incollando il percorso del collegamento copiato nel passaggio precedente:
wget https://releases.hashicorp.com/vault/1.2.3/vault_1.2.3_linux_amd64.zip
4. Quindi, decomprimi il pacchetto usando il seguente comando:
unzip vault_1.2.3_linux_amd64.zip
5. Quindi, sposta il pacchetto nella directory /usr/bin:
mv vault /usr/bin
6. Verificare l'installazione utilizzando il seguente comando:
vault
Di conseguenza, dovrebbe apparire un elenco di tutti i comandi del Vault disponibili, come nell'immagine seguente:
Fase 4:Configura il Vault
1. Inizia creando una directory di configurazione e un file al suo interno:
sudo nano /etc/vault/config.hcl
2. Quindi, digita o incolla il seguente contenuto nel file:
storage “consul” {
address = “127.0.0.1:8500”
path = “vault/”
}
listener “tcp” {
address = ”IP.ADDRESS.OF.SERVER” [or “0.0.0.0” to listen to everything]
tls_disable = 1
}
ui = true
3. Ancora una volta, salva ed esci dal file.
4. Successivamente, devi creare una UNI (.uni ) file, un'estensione comunemente usata per i file di configurazione. Il modo più semplice per farlo è copiare il file di configurazione di Consul e modificare le specifiche per adattarle a Vault.
Duplica il file di configurazione del servizio esistente con un nuovo nome con il comando:
cp /etc/system.system/consul.service /etc/system/system/vault.service
5. Apri il nuovo vault.service file:
vim /etc/system/system/vault.service
6. Assicurati che il contenuto del file corrisponda a quello di seguito. In sostanza, dovrai modificare tutti i valori specifici del Console con quelli appropriati del Vault.
[Unit]
Description=Vault
Documentation=https://www.vault.io/
[Service]
ExecStart=/usr/bin/vault server –config=/etc/vault/config.hcl
ExecReload=/bin/kill –HUP $MAINPID
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
7. Dopo aver salvato il file, torna alla shell del terminale e avvia il servizio con i seguenti comandi:
systemctl daemon-reload
systemctl start vault
systemctl enable vault
systemctl status vault
Lo stato dovrebbe mostrare che il servizio è attivo (in esecuzione) .
8. Utilizzando un client del Vault, connettersi al servizio in esecuzione con il comando:
export VAULT_ADDR=http://IP.ADDRESS.OF.VAULT:CLIENT
Fase 5:inizializza il Vault
Poiché hai già installato Consul per fungere da archivio di back-end, ora dovrai inizializzare Vault manualmente affinché funzioni correttamente.
1. Innanzitutto, esegui il comando seguente per vedere lo stato attuale del Vault:
vault status
Come nell'immagine sopra, l'output mostra che Vault è sigillato e non inizializzato ancora.
2. Per cambiarne lo stato, hai bisogno di tre (3) chiavi che puoi trovare eseguendo il comando:
vault operator init
Il terminale restituirà cinque (5) chiavi di sblocco oltre a un Token radice iniziale . Inoltre, spiega che ogni volta che il pacchetto Vault viene sigillato, riavviato o interrotto, dovrai fornire almeno tre (3) di queste chiavi.
Se non fornisci le chiavi specificate, il Vault rimarrà sigillato. Pertanto, copia tutte e cinque le chiavi e incollale in un file separato.
3. Una volta che hai almeno 3 chiavi unseal, esegui il comando:
vault operator unseal
4. Copia e incolla la prima chiave e premi Invio.
5. Ripetere la stessa procedura per Unseal Key 2 e 3.
6. L'ultimo passaggio per sbloccare il Vault è eseguire il seguente comando con il token radice iniziale (elencato con le chiavi Unseal):
vault login [root_token]
7. Ora, controlla di nuovo lo stato per verificare che il software sia stato inizializzato:
vault status