Skip to main content
Version: next

Vault

Componente externo

Componente usado para el almacenamiento de configuración confidencial, usuarios, passwords, api keys, etc, y para procesos de encriptación de datos, passwords, preguntas de seguridad y códigos de autorización.

Este componente se despliega en modo cluster donde el servidor de administración y todos los servidores de aplicaciones son nodos. La cantidad mínima de nodos para formar un cluster es de tres, con esto tenemos una Alta Disponibilidad, con esta configuración se puede tolerar la falla de uno de los nodos y aun mantener el quorum necesario para que el cluster siga operativo.

component_vault

Características técnicas
  • Formato: imagen docker
  • Despliegue: servidor de administración y servidores de aplicaciones
  • Ubicación docker compose: /opt/viridian/vault/docker-compose.yml
  • Imagen docker base: hashicorp/vault:1.19.1
  • Puertos expuestos: 8200,8201

Unseal keys y key threshold

Los unseal keys son un conjunto de llaves utilizadas para desellar vault después de que se haya iniciado o reiniciado. Vault emplea un método de seguridad llamado "Shamir's Secret Sharing" para dividir la llave maestra de desencriptación en varias partes (unseal keys), de este conjunto de llaves, se necesita un numero mínimo para hacer el desellado de vault (key threshold), ambos valores son definidos durante el proceso de instalación, en el punto: Configuración de Vault.

Los unseal keys generados se encuentran disponibles en el archivo defaults/vault_init.yml en el directorio ansible del servidor de administración.

Ejemplo:

unseal_keys:
- dd00094696d0043a1a5f61eddb0608fa329a09f5bc763ecfcc4bb45b8cd5898eb0
- 57b91ad8aa89b3f8d67af2587277afbaba56ec38651e3536b6090cca6be2338143
- 857b37dea42dde986693211f6b1cc7ac3433b599514cbf15f7e0e688aadaf15e1c
- f2ffb9c915796d58866b185d8372a36b106b25fb39d057cd866e07734d2a5714f2
- 1ddaceaed68989446127e0fcc723d0e15d479f684df8f5cbc96a480eafc0bd4cca
Aviso

Durante el proceso de instalación, el archivo defaults/vault_init.yml existe en el directorio ansible del servidor de administración. Sin embargo según la recomendación del punto: Configuración de Vault:

Estos archivos y/o su contenido deben ser copiados fuera del servidor, puestos bajo resguardo según políticas del banco y luego eliminados del servidor.

El archivo ya no debería existir en el servidor de administración por lo tanto el banco es el custodio de los unseal keys.

Token root

El token root es un token para acceder a vault cuando ya esta desellado, este token tiene permisos para hacer cualquier operación dentro de vault, crear, editar, eliminar, etc. Su valor es generado durante el proceso de instalación, en el punto: Configuración de Vault.

El token root generado se encuentra disponible en el archivo defaults/vault_init.yml en el directorio ansible del servidor de administración.

Ejemplo:

root_token: hvs.xr1QX3v6X9r4eAJoRZElh1Of
Aviso

Durante el proceso de instalación, el archivo defaults/vault_init.yml existe en el directorio ansible del servidor de administración. Sin embargo según la recomendación del punto: Configuración de Vault:

Estos archivos y/o su contenido deben ser copiados fuera del servidor, puestos bajo resguardo según políticas del banco y luego eliminados del servidor.

El archivo ya no debería existir en el servidor de administración por lo tanto el banco es el custodio del token root.

Token microservicio

El token microservicio es un token que permite leer la configuración almacenada en vault, es usado por los componentes .NET Core cuando solicitan la configuración al server-config. Su valor es generado durante el proceso de instalación, en el punto: Configuración de Vault.

El token microservicio generado se encuentra disponible en el archivo defaults/vault_tokens.yml en el directorio ansible del servidor de administración.

Ejemplo:

microservice_token: hvs.CAESIEKxB56_fYokc3nrKgc3UA2drGz4a2KrzfVofQ2OUKmyGh4KHGh2cy5nWUp1OEV5SmN3eUxueTFzNG1EWGI0dEs
Aviso

Durante el proceso de instalación, el archivo defaults/vault_tokens.yml existe en el directorio ansible del servidor de administración. Sin embargo según la recomendación del punto: Configuración de Vault:

Estos archivos y/o su contenido deben ser copiados fuera del servidor, puestos bajo resguardo según políticas del banco y luego eliminados del servidor.

El archivo ya no debería existir en el servidor de administración por lo tanto el banco es el custodio del token microservicio.

Token transit

El token transit es un token que permite acceder a proceso de encriptación/desencriptación en vault, es usado por los componentes .NET Core que requieran encriptar/desencriptar data. Su valor es generado durante el proceso de instalación, en el punto: Configuración de Vault.

El token transit generado se encuentra disponible en el archivo defaults/vault_tokens.yml en el directorio ansible del servidor de administración.

Ejemplo:

transit_token: hvs.CAESIJHsOO_tzKdATkU5OXFUdJVmfv4ERl-uR-deww4_ZeRcGh4KHGh2cy5MMzJHQUtBNndwUTd3WkszMXp4RmxxMHc
Aviso

Durante el proceso de instalación, el archivo defaults/vault_tokens.yml existe en el directorio ansible del servidor de administración. Sin embargo según la recomendación del punto: Configuración de Vault:

Estos archivos y/o su contenido deben ser copiados fuera del servidor, puestos bajo resguardo según políticas del banco y luego eliminados del servidor.

El archivo ya no debería existir en el servidor de administración por lo tanto el banco es el custodio del token transit.

Token admin

El token admin es un token para administrar vault, es un reemplazo del Token root ya que este solo debe usarse para casos de emergencia o para renovar los tokens. Su valor es generado durante el proceso de instalación, en el punto: Configuración de Vault.

El token admin generado se encuentra disponible en el archivo defaults/vault_tokens.yml en el directorio ansible del servidor de administración.

Ejemplo:

admin_token: hvs.CAESIB_KdD7HBonsarfg9olCma_f_wIw8__5_dxszitwsGa0Gh4KHGh2cy5jb08wdjVSdzF1SUt5TUxXcHdITUxlOVI
Aviso

Durante el proceso de instalación, el archivo defaults/vault_tokens.yml existe en el directorio ansible del servidor de administración. Sin embargo según la recomendación del punto: Configuración de Vault:

Estos archivos y/o su contenido deben ser copiados fuera del servidor, puestos bajo resguardo según políticas del banco y luego eliminados del servidor.

El archivo ya no debería existir en el servidor de administración por lo tanto el banco es el custodio del token admin.