Introducción
Bóveda almacena, controla y protege los datos utilizados para la autenticación y autorización. Vault es un sistema de gestión de secretos, que restringe o aprueba el acceso a contraseñas, certificados o API. También proporciona encriptación de datos, secretos a pedido y revocación.
En este tutorial, aprenda cómo instalar Vault en CentOS y ejecutar Vault como servicio.
Requisitos previos
- Un sistema CentOS Linux
- Una cuenta de usuario con sudo privilegios
- Acceso a una línea de comandos/ventana de terminal (Ctrl +Alt +
F2 )
Instalar Vault desde Binary en CentOS
1. Antes de instalar Vault, cree un nuevo directorio en Linux usando el comando mkir para almacenar el paquete binario y otros datos necesarios para el software. Para ilustrarlo, lo llamaremos "directorio" y ejecutaremos el siguiente comando para crearlo:
sudo mkdir -p /opt/vault/directory
2. Con el directorio configurado, continúe con la descarga del binario del sitio web oficial de Vault. Navegue al sitio web y haga clic en el ícono azul Descargar.
3. Busque el paquete apropiado para su sistema operativo CentOS (Linux) y haga clic en el mosaico.
4. Verá el icono de Linux y un botón Descargar. Haga clic con el botón derecho en el botón y seleccione Copiar ubicación del enlace.
5. A continuación, vuelva a la línea de comandos. Usa el wget
comando y la ubicación del enlace que copió en el paso anterior para descargar el binario:
sudo wget https://releases.hashicorp.com/vault/1.2.3/vault_1.2.3_linux_amd64.zip
6. Luego, descomprima el paquete usando el comando:
unzip vault_1.2.3_linux_amd64.zip
7. Después de descomprimir, escriba:
sudo chown root:root vault
sudo mv vault /usr/local/bin/ (or to som other DIR that's present in your $PATH
8. Verifique que Vault se esté ejecutando con el comando:
vault --version
El resultado muestra la versión de Vault que se ejecuta en el sistema.
Para obtener información adicional, puede solicitar la página de ayuda con el comando:
vault
Configuración de la bóveda
Crear un usuario de servicio para Vault
Lo mejor es considerar la seguridad de la cuenta con privilegios y tener un usuario del sistema sin privilegios independiente para ejecutar un servidor Vault.
Use el siguiente comando para crear un usuario del sistema y otorgarle la propiedad del directorio de instalación:
sudo useradd --system -home /etc/vault.d - shell /bin/false vault
Compruebe si ha creado correctamente el usuario del servicio con:
sudo grep vault /etc/passwd
La salida debería mostrar algo como la siguiente línea:
vault:x:997:995::/etc/vault.d:/bin/false
Ejecutar Vault como servicio
Para ejecutar Vault como un servicio, también debe crear un nuevo archivo de servicio de Systemd:
sudo vi/etc/systemd/system/vault.service
Luego, agregue el contenido a continuación:
[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
Habilite e inicie el servicio con los comandos:
sudo systemctl enable vault.service
sudo systemctl start vault.service
Prepárese para administrar Vault
El siguiente paso es mover el directorio bin de Vault a la variable de entorno PATH con el comando:
export PATH=$PATH:/opt/vault/bin
echo "export PATH=$PATH:/opt/vault/bin" >> ~/.bashrc
Seguido de configurar las variables de entorno para Vault escribiendo:
export VAULT_ADDRESS=http://10.128.0.2:8200
echo "export VAULT_ADDR=http://10.128.0.2:8200" >> ~/.bashrc
Inicializa y abre tu bóveda
Para inicializar y quitar el sello de Vault, primero deberá iniciar Vault como un servidor en el modo de desarrollo. . Sin embargo, asegúrese de no ejecutar un servidor de desarrollo en producción.
Ejecute el siguiente comando:
vault server -dev
El comando produce una salida que incluye la configuración del servidor , la clave de apertura y token raíz . Guarde los valores de clave de unseal y root token, ya que los necesitará en los siguientes pasos.
Comience configurando la variable de entorno. Encontrará este comando como parte del resultado de los pasos anteriores:
export VAULT_ADDR=’http://127.0.0.1:8200’
Luego, ejecuta el siguiente comando con la información de la salida del servidor de desarrollo:
export VAULT_DEV_ROOT_TOKEN_ID=”XXXXXXXXXXXXXXXX”
Comprobar el estado del servidor:
valut status
La salida debería mostrar que Vault ahora está inicializado y ya no está sellado.
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