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.
L'accés a un secret amb credencials de base de dades es configura per a cada component Zabbix per separat.
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ó).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.
Vault=HashiCorp
VaultToken=hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg
VaultURL=https://127.0.0.1:8200
VaultDBPath=secret/zabbix/database
# 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
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.
Paràmetre | Obligatori | Valor per defecte | Descripció |
---|---|---|---|
Punt final de l'API Vault | sí | 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. |
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.
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
secret/zabbix:password
# 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
Per actualitzar una configuració existent per recuperar secrets d'un HashiCorp Vault:
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.
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:
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'] = '';
Per actualitzar una configuració existent per recuperar secrets d'una Vault de CyberArk Vault, consulteu CyberArk configuration.