You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

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.

Overview

This section explains how to configure Zabbix for retrieving secrets from HashiCorp Vault KV Secrets Engine - Version 2.

The vault should be deployed and configured as described in the official HashiCorp documentation.

To learn about configuring TLS in Zabbix, see Storage of 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>

Updating existing configuration

To update an existing configuration for retrieving secrets from a HashiCorp Vault:

  1. Update the Zabbix server or proxy configuration file parameters as described in the Database credentials section.

  2. Update the DB connection settings by reconfiguring Zabbix frontend and specifying the required parameters as described in the Frontend section. To reconfigure Zabbix frontend, open the frontend setup URL in the browser:

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

Alternatively, these parameters can be set in the frontend configuration file (zabbix.conf.php):

$DB['VAULT']                    = 'HashiCorp';
       $DB['VAULT_URL']                = 'https://localhost:8200';
       $DB['VAULT_DB_PATH']            = 'secret/zabbix/database';
       $DB['VAULT_TOKEN']              = '<mytoken>';
       $DB['VAULT_CERT_FILE']          = '';
       $DB['VAULT_KEY_FILE']           = '';
  1. Configure user macros as described in the User macro values section, if necessary.

To update an existing configuration for retrieving secrets from a CyberArk Vault, see CyberArk configuration.