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.
Per accedir a un secret amb credencials de base de dades, cal configurar ambdues:
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.
Vault=HashiCorp
VaultToken=hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg
VaultURL=https://127.0.0.1:8200
VaultDBPath=database
VaultPrefix=/v1/secret/data/zabbix/
# 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
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 | sí | 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. |
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
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í "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
Per actualitzar una configuració existent per recuperar secrets d'una volta de HashiCorp:
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.
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:
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/';
Per actualitzar una configuració existent per recuperar secrets d'un CyberArk Vault, consulteu CyberArk configuration.