Introduzione
Vault memorizza, controlla e protegge i dati utilizzati per l'autenticazione e l'autorizzazione. Vault è un sistema di gestione dei segreti, che limita o approva l'accesso a password, certificati o API. Fornisce inoltre crittografia dei dati, segreti su richiesta e revoca.
In questo tutorial, scopri come installare Vault su CentOS ed eseguire Vault come servizio.
Prerequisiti
- Un sistema CentOS Linux
- Un account utente con sudo privilegi
- Accesso a una riga di comando/finestra del terminale (Ctrl +Alt +F2 )
Installa Vault da Binary su CentOS
1. Prima di installare Vault, creare una nuova directory in Linux utilizzando il comando mkir per memorizzare il pacchetto binario e altri dati necessari per il software. Per illustrare, la chiameremo "directory" ed eseguiremo il seguente comando per crearla:
sudo mkdir -p /opt/vault/directory
2. Con la directory impostata, passa al download del binario dal sito Web ufficiale di Vault. Vai al sito Web e fai clic sull'icona blu Download.
3. Trova il pacchetto appropriato per il tuo sistema operativo CentOS (Linux) e fai clic sul riquadro.
4. Vedrai l'icona Linux e un pulsante Download. Fare clic con il pulsante destro del mouse e selezionare Copia posizione collegamento.
5. Quindi, torna alla riga di comando. Usa il wget
comando e la posizione del collegamento che hai copiato nel passaggio precedente per scaricare il file binario:
sudo wget https://releases.hashicorp.com/vault/1.2.3/vault_1.2.3_linux_amd64.zip
6. Quindi, decomprimi il pacchetto usando il comando:
unzip vault_1.2.3_linux_amd64.zip
7. Dopo aver decompresso, digita:
sudo chown root:root vault
sudo mv vault /usr/local/bin/ (or to som other DIR that's present in your $PATH
8. Verifica che Vault sia in esecuzione con il comando:
vault --version
L'output mostra la versione di Vault in esecuzione sul sistema.
Per ulteriori informazioni, puoi richiamare la pagina di aiuto con il comando:
vault
Configurazione del Vault
Crea un utente del servizio per Vault
È meglio prendere in considerazione la sicurezza dell'account con privilegi e disporre di un utente di sistema separato senza privilegi per l'esecuzione di un server del Vault.
Utilizzare il comando seguente per creare un utente di sistema e concedere la proprietà della directory di installazione:
sudo useradd --system -home /etc/vault.d - shell /bin/false vault
Verifica di aver creato correttamente l'utente del servizio con:
sudo grep vault /etc/passwd
L'output dovrebbe mostrare qualcosa di simile alla riga seguente:
vault:x:997:995::/etc/vault.d:/bin/false
Esegui Vault come servizio
Per eseguire Vault come servizio, devi anche creare un nuovo file di servizio Systemd:
sudo vi/etc/systemd/system/vault.service
Quindi, aggiungi il contenuto di seguito:
[Unit]
Description="HashiCorp Vault - A tool for managing secrets"
Documentation=https://www.vaultproject.io/docs/
Requires=network-online.target
After=network-online.target
ConditionFileNotEmpty=/etc/vault.d/vault.hcl
StartLimitIntervalSec=60
StartLimitBurst=3
[Service]
User=vault
Group=vault
ProtectSystem=full
ProtectHome=read-only
PrivateTmp=yes
PrivateDevices=yes
SecureBits=keep-caps
AmbientCapabilities=CAP_IPC_LOCK
Capabilities=CAP_IPC_LOCK+ep
CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK
NoNewPrivileges=yes
ExecStart=/usr/local/bin/vault server -config=/etc/vault.d/vault.hcl
ExecReload=/bin/kill --signal HUP $MAINPID
KillMode=process
KillSignal=SIGINT
Restart=on-failure
RestartSec=5
TimeoutStopSec=30
StartLimitInterval=60
StartLimitIntervalSec=60
StartLimitBurst=3
LimitNOFILE=65536
LimitMEMLOCK=infinity
[Install]
WantedBy=multi-user.target
Abilita e avvia il servizio con i comandi:
sudo systemctl enable vault.service
sudo systemctl start vault.service
Prepararsi per amministrare il Vault
Il passaggio successivo consiste nello spostare la directory bin del Vault nella variabile di ambiente PATH con il comando:
export PATH=$PATH:/opt/vault/bin
echo "export PATH=$PATH:/opt/vault/bin" >> ~/.bashrc
Successivamente impostando le variabili di ambiente per Vault digitando:
export VAULT_ADDRESS=http://10.128.0.2:8200
echo "export VAULT_ADDR=http://10.128.0.2:8200" >> ~/.bashrc
Inizializza e sblocca il tuo Vault
Per inizializzare e sbloccare Vault, devi prima avviare Vault come server nella modalità sviluppo . Tuttavia, assicurati di non eseguire un server di sviluppo in produzione.
Esegui il seguente comando:
vault server -dev
Il comando produce un output che include la configurazione del server , la chiave di sblocco e token radice . Salva i valori della chiave unseal e del token di root, poiché ti serviranno nei passaggi successivi.
Inizia impostando la variabile di ambiente. Troverai questo comando come parte dell'output dei passaggi precedenti:
export VAULT_ADDR=’http://127.0.0.1:8200’
Quindi, esegui il comando seguente con le informazioni dall'output del server di sviluppo:
export VAULT_DEV_ROOT_TOKEN_ID=”XXXXXXXXXXXXXXXX”
Controlla lo stato del server:
valut status
L'output dovrebbe mostrare che il Vault è ora inizializzato e non più sigillato.
Key Value
--- -----
Seal Type shamir
Initialized true
Sealed false
Total Shares 1
Threshold 1
Version 1.2.3
Cluster Name vault-cluster-18e6bce0
Cluster ID 16382125-eb14-f23a-8145-ad64eee072cf
HA Enabled false