2 Configuració de HashiCorp

Vista general

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.

Recuperar les credencials de Base de dades

Per accedir a un secret amb credencials de base de dades, cal configurar ambdues:

  • Servidor/proxy Zabbix
  • Interfície de Zabbix

Servidor i proxy

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". -VaultPrefix - prefix personalitzat de la ruta o consulta del vault, depenent d'aquest mateix; si no s'especifica, s'empra el valor per de fecte més escaient.

El servidor Zabbix també empra els paràmetres de configuració VaultToken, VaultURL i VaultPrefix 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. A més, 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.

El servidor o proxy Zabbix admet renovacions automàtiques de fitxes de servei i fitxes de servei periòdiques. Si Zabbix detecta que un token és renovable, el continuarà renovant automàticament fins al s'assoleix el TTL màxim del token o, en el cas de fitxes de servei periòdiques, de manera indefinida.

Exemple
  1. Especifiqueu a zabbix_server.conf:
    Vault=HashiCorp
           VaultToken=hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg
           VaultURL=https://127.0.0.1:8200
           VaultDBPath=database
           VaultPrefix=/v1/secret/data/zabbix/
  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
       
        # Poseu 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 -mount=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 o actualitzant l'arxiu de configuració de la interfície (zabbix.conf.php).

Si les credencials del magatzem s'han canviat des de la instal·lació anterior, torneu a executar la instal·lació o actualitzeu zabbix.conf.php. Vegeu també: Actualització de la configuració existent.

Durant la instal·lació de la interfície, els paràmetres de configuració s'han d'especificar a la passa Configurar la connexió de base de dades:

  • Establiu el paràmetre Emgatzemar credencials a a "HashiCorp Vault".

  • Especifiqueu els paràmetres de connexió:

Paràmetre Obligatori Valor per defecte Descripció
Vault API endpoint https://localhost:8200 Especifiqueu l'URL per connectar-vos al vault en el format scheme://host:port
Prefix de vault no /v1/secret/data/zabbix/ Proporcioneu un prefix personalitzat per a la ruta o la consulta del vault. Si no s'especifica, s'empra el valor predeterminat.
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: database
Fitxa d'autenticació de Vault no Proporcioneu un testimoni d'autenticació per accedir només de lectura al camí secret.
Consulteu documentació de HashiCorp per obtindre informació sobre com crear fitxes i polítiques de vault.

Recuperar 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 Zabbix requereix accés als valors de macro Vault secret des de la volta. Altres components de Zabbix (proxy, frontend) no han de menester pas aquest accés.

El valor de la macro ha de contindre un camí de referència (com a "camí:clau", per exemple, "zabbix:mot_de_pas"). El testimoni d'autenticació especificat durant la configuració del servidor Zabbix (pel paràmetre VaultToken) ha de proporcionar accés només de lectura a aquest camí.

Veieu Vault secret macros per obtindre informació detallada sobre el processament de valors de macro per 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 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í "zabbix".
           vault kv put -mount=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>

S'està actualitzant la configuració existent

Per actualitzar una configuració existent per recuperar secrets d'una volta de HashiCorp:

  1. Actualitzeu els paràmetres del fitxer de configuració del servidor Zabbix o del servidor intermediari 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ó Frontend. 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ó d la interfície (zabbix.conf.php):

$DB['VAULT'] = 'HashiCorp';
       $DB['VAULT_URL'] = 'https://localhost:8200';
       $DB['VAULT_DB_PATH'] = 'database';
       $DB['VAULT_TOKEN'] = '<mytoken>';
       $DB['VAULT_CERT_FILE'] = '';
       $DB['VAULT_KEY_FILE'] = '';
       $DB['VAULT_PREFIX'] = '/v1/secret/data/zabbix/';
  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'un CyberArk Vault, consulteu CyberArk configuration.