Configuració HashiCorp

Aquesta secció explica com configurar Zabbix per recuperar secrets de HashiCorp Vault KV Secrets Engine - versió 2.

La vault s'ha de desplegar i configurar segons la [documentació] oficial de HashiCorp (https://www.vaultproject.io/docs/secrets/kv/kv-v2).

Per obtindre més informació sobre la configuració de TLS a Zabbix, consulteu la secció Emmagatzematge de secrets.

Credencials de Base de dades

L'accés a un secret amb credencials de base de dades es configura per a cada component Zabbix per separat.

Servidor i proxys

Per obtindre les credencials de la base de dades del servidor o proxy Zabbix des de la vault, especifiqueu els paràmetres de configuració següents al fitxer de configuració:

  • Vault - quin proveïdor de vault s'ha d'emprar.
  • VaultToken - testimoni d'autenticació de vault (veieu el fitxer de configuració del servidor/proxy Zabbix per a més informació).
  • VaultURL` - URL HTTP[S] del servidor de vault.
  • VaultDBPath - camí al secret de la vault que conté les credencials de la base de dades. El servidor o el proxy Zabbix recuperaran les credencials mitjançant les claus "mot de pas" i "nom d'usuari".

El servidor Zabbix també empra aquests paràmetres de configuració (excepte VaultDBPath) per a l'autenticació de vault quan es processen macros secretes de vault.

El servidor Zabbix i el proxy Zabbix llegeixen els paràmetres de configuració relacionats amb la vault de zabbix_server.conf i zabbix_proxy.conf en iniciar-se.

El servidor Zabbix i el proxy Zabbix també llegiran la variable d'entorn VAULT_TOKEN una vegada durant l'inici i la desactivaran de manera que no sigui disponible mitjançant scripts bifurcats; és un error si tant VaultToken com VAULT_TOKEN contenen valor.

Exemple
  1. Especifiqueu a zabbix_server.conf:
    Vault=HashiCorp
           VaultToken=hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg
           VaultURL=https://127.0.0.1:8200
           VaultDBPath=secret/zabbix/database
  1. Executeu les ordres CLI següents per crear el secret necessari al magatzem de claus:
     # Habiliteu el punt de muntatge "secret/" si encara no és habilitat, tingueu en compte que s'ha d'emprar "kv-v2"
           $ vault secrets enable -path=secret/ kv-v2
       
            # Col·loqueu nous secrets amb el nom d'usuari i el mot de pas de les claus al punt de muntatge "secret/" i el camí "secret/zabbix/base de dades"
           $ vault kv put secret/zabbix/database username=zabbix password=<password>
       
           # Valideu que el secret s'ha afegit correctament
           $ vault kv get secret/zabbix/database
       
            # Finalment, proveu amb Curl, tingueu en compte que les "dades" s'han d'afegir manualment després del punt de muntatge i "/v1" abans del punt de muntatge, veieu també el paràmetre --capath
       
           $ curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix/database
  1. Com a resultat d'aquesta configuració, el servidor Zabbix recuperarà les credencials següents per a l'autenticació de la base de dades:
  • Username: zabbix
  • Password: <password>

Tauler

Per obtindre les credencials de la base de dades per a la interfície Zabbix des de la caixa de seguretat, especifiqueu la configuració necessària durant la [instal·lació] (/manual/installation/frontend) de la interfície.

  1. A la passa Configurar la connexió de la base de dades, configureu el paràmetre Emgatzemar les credencials a a "HashiCorp Vault".

  1. Tot seguit, empleneu els paràmetres addicionals:
Paràmetre Obligatori Valor per defecte Descripció
Punt final de l'API Vault https://localhost:8200 Especifiqueu l'URL per connectar-vos a la vault amb el format scheme://host:port
Camí secret de vault no Un camí al secret des d'on es recuperaran les credencials de la base de dades mitjançant les claus "mot de pas" i "nom d'usuari"
Exemple: secret/zabbix/database_frontend
Fitxa d'autenticació de vault no Proporcioneu un testimoni d'autenticació per a l'accés de només lectura al camí secret.

Consulteu documentació de HashiCorp per obtindre informació sobre com crear fitxes i polítiques de vault.

Valors de macro d'usuari

Per emprar HashiCorp Vault per emmagatzemar els valors de macro d'usuari Vault secret, assegureu-vos que:

Només el servidor de Zabbix necessita accés als valors de macro de Vault secret per al vault. Altres components de Zabbix (proxy, interfície) no l'han de menester pas.

El valor de la macro ha de contindre una ruta de referència (com ara path:key, per exemple, secret/zabbix:password). El token d'autenticació especificat durant la configuració del servidor Zabbix (per el paràmetre VaultToken) ha de donar accés de només lectura a la ruta.

Consulteu Macros secretes de Vault per obtindre informació detallada sobre el processament de valors de macro per part de Zabbix.

Sintaxi de la ruta

Els símbols barra inclinada ("/") i dos punts (":") són reservats.

Una barra inclinada només es pot emprar per separar un punt de muntatge d'un camí (per exemple, secret/zabbix on el punt de muntatge és "secret" i "zabbix" és el camí) i, en el cas de les macros de Vault, els dos punts només poden emprar-se per separar una ruta/consulta d'una clau.

És possible codificar URL "/" i ":" si cal crear un punt de muntatge amb el nom separat per una barra inclinada (per exemple, foo/bar/zabbix, on el punt de muntatge és " foo/bar" i el camí és "zabbix", com "foo%2Fbar/zabbix") i si el nom del punt de muntatge o el camí ha de contindre dos punts.

Exemple

  1. A Zabbix: afegiu la macro d'usuari {$PASSWORD} amb el tipus "Vault secret" i el valor secret/zabbix:password

  1. Executeu les ordres CLI següents per crear el secret necessari al magatzem:
     # Habiliteu el punt de muntatge "secret/" si encara no és habilitat, tingueu en compte que s'ha d'emprar "kv-v2"
           vault secrets enable -path=secret/ kv-v2
       
            # Poseu un nou secret amb el mot de pas de la clau sota el punt de muntatge "secret/" i el camí "secret/zabbix"
           vault kv put secret/zabbix password=<password>
       
            # Comproveu que el secret s'ha afegit correctament
           vault kv get secret/zabbix
       
            # Finalment, proveu amb Curl, tingueu en compte que les "dades" s'han d'afegir manualment després del punt de muntatge i "/v1" abans del punt de muntatge, veieu també el paràmetre --capath
           curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix
  1. Ara la macro {$PASSWORD} es resoldrà amb el valor: <password>

Actualitza la configuració existent

Per actualitzar una configuració existent per recuperar secrets d'un HashiCorp Vault:

  1. Actualitzeu els paràmetres del fitxer de configuració del servidor Zabbix o del proxy tal com es descriu a la secció Credencials de la base de dades.

  2. Actualitzeu la configuració de la connexió a la base de dades reconfigurant la interfície Zabbix i especificant els paràmetres necessaris tal com es descriu a la secció Interfície. Per reconfigurar la interfície de Zabbix, obriu l'URL de configuració de la interfície al navegador:

  • per a Apache: http://<server_ip_or_name>/zabbix/setup.php
  • per a Nginx: http://<server_ip_or_name>/setup.php

Com a alternativa, aquests paràmetres es poden establir al fitxer de configuració del front-end (zabbix.conf.php):

$DB['VAULT'] = 'HashiCorp';
       $DB['VAULT_URL'] = 'https://localhost:8200';
       $DB['VAULT_DB_PATH'] = 'secret/zabbix/base de dades';
       $DB['VAULT_TOKEN'] = '<mytoken>';
       $DB['VAULT_CERT_FILE'] = '';
       $DB['VAULT_KEY_FILE'] = '';
  1. Configureu les macros d'usuari tal com es descriu a la secció Valors de macro d'usuari, si cal.

Per actualitzar una configuració existent per recuperar secrets d'una Vault de CyberArk Vault, consulteu CyberArk configuration.