Овај одељак објашњава како да конфигуришете Zabbix за преузимање тајни из HashiCorp Vault KV Secrets Engine - верзија 2.
Трезор треба да буде распоређен и конфигурисан као што је описано у званичној HashiCorp документацији.
Да бисте сазнали више о конфигурисању TLS-а у Zabbix-у, погледајте Складиштење тајни.
Да бисте успешно преузели тајну са акредитивима базе података, потребно је конфигурисати оба:
Да бисте конфигурисали Zabbix сервер или прокси, наведите следеће параметре конфигурације у конфигурационој датотеци:
Vault
- који провајдер трезора треба користити;VaultToken
- токен за аутентификацију трезора (погледајте конфигурациону датотеку Zabbix сервера/проксија за детаље);VaultURL
- HTTP[S] URL адреса Vault сервера;VaultDBPath
- путања до Vault тајне која садржи креденцијале базе података (ова опција се може користити само ако DBUser и DBPassword нису наведени); Zabbix сервер или прокси ће преузети креденцијале помоћу кључева "password" и "username";VaultPrefix
- прилагођени префикс за путању или упит до трезора, у зависности од трезора; ако није наведен, користиће се најприкладнији подразумевани префикс.Параметри конфигурације Vault
, VaultToken
, VaultURL
и VaultPrefix
се такође користе за аутентификацију трезора приликом обраде тајног vault макроа од стране Zabbix сервера (и Zabbix проксија, ако је конфигурисан). Zabbix сервер и проксији неће отворити макрое тајног трезора који садрже DB креденцијале из VaultDBPath.
Препоручује се коришћење различитих токена за различите проксије.
Zabbix сервер и Zabbix прокси читају параметре конфигурације везане за Vault из zabbix_server.conf и zabbix_proxy.conf приликом покретања. Поред тога, Zabbix сервер и Zabbix прокси ће једном прочитати променљиву окружења VAULT_TOKEN
током покретања и поништити је тако да не би била доступна кроз извршене скрипте; грешка је ако и параметри VaultToken
и VAULT_TOKEN
садрже вредност.
Пример
Vault=HashiCorp
VaultToken=hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg
VaultURL=https://127.0.0.1:8200
VaultDBPath=database
VaultPrefix=/v1/secret/data/zabbix/
# Омогућите тачку монтирања "secret/" ако већ није омогућена; имајте на уму да се мора користити "kv-v2".
vault secrets enable -path=secret/ kv-v2
# Ставите нове тајне са кључевима корисничко име и лозинка под тачку монтирања "secret/" и путању "zabbix/database".
vault kv put -mount=secret zabbix/database username=zabbix password=<password>
# Проверите да ли је тајна успешно додата.
vault kv get secret/zabbix/database
# На крају тестирајте са Curl-ом; имајте на уму да "data" треба ручно додати после тачке монтирања, а "/v1" пре тачке монтирања, погледајте и параметар --capath.
curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix/database
Zabbix кориснички интерфејс може бити конфигурисан да преузима податке из базе података из Vault-а или током [инсталације] корисничког интерфејса (/manual/installation/frontend) или ажурирањем конфигурационе датотеке корисничког интерфејса (zabbix.conf.php
).
Ако су подаци из Vault-а промењени од претходне инсталације корисничког интерфејса, поново покрените инсталацију фронтенда или ажурирајте zabbix.conf.php
. Погледајте такође: Ажурирање постојеће конфигурације.
Током инсталације корисничког интерфејса параметри конфигурације морају бити наведени у кораку Конфигуриши везу са базом података:
Parameter | Mandatory | Default value |
---|---|---|
Vault API endpoint | yes | https://localhost:8200 |
Vault prefix | no | /v1/secret/data/ |
Vault secret path | no | |
Vault authentication token | no |
Да бисте користили HashiCorp Vault за чување вредности корисничких макроа Vault secret, уверите се да:
Zabbix сервер (и Zabbix прокси, ако је конфигурисан) захтевају приступ вредностима макроа Vault secret из vault-а. Zabbix корисничком интерфејсу није потребан такав приступ.
Вредност макроа треба да садржи референтну путању (као што је path:key
, на пример, macros:password
). Токен за аутентификацију наведен током конфигурације Zabbix сервера/проксија (параметром VaultToken
) мора да обезбеди приступ само за читање овој путањи.
Погледајте Vault тајне макрое за детаљне информације о обради вредности макроа од стране Zabbix-а.
Синтакса путање
Симболи коса црта ("/") и двотачка (":") су резервисани.
Коса црта може се користити само за одвајање тачке монтирања од путање (нпр. secret/zabbix где је тачка монтирања "secret", а путања "zabbix"). У случају Vault макроа, двотачка се може користити само за одвајање путање/упита од кључа.
Могуће је URL-кодирати симболе косе црте и двотачке ако постоји потреба за креирањем тачке монтирања са именом које је одвојено косом цртом (нпр. foo/bar/zabbix, где је тачка монтирања "foo/bar", а путања "zabbix", може се кодирати као "foo%2Fbar/zabbix") и ако име или путања тачке монтирања морају да садрже двотачку.
Пример
macros:password
# Омогући "secret/" тачку монтирања ако већ није омогућена; имајте на уму да се мора користити "kv-v2".
тајне трезора омогућавају -path=secret/ kv-v2
# Ставите нову тајну са кључном "лозинком" под тачку монтирања "secret/" и путању "zabbix/macros".
vault kv put -mount=secret zabbix password=<password>
# Тестирајте да је тајна успешно додата.
vault kv get secret/zabbix/macros
# Коначно тестирајте са Curl; имајте на уму да "податке" треба ручно додати после тачке монтирања и "/v1" пре тачке монтирања, такође погледајте параметар --capath.
curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix/macros
Да бисте ажурирали постојећу конфигурацију за преузимање тајни из HashiCorp трезора:
Ажурирајте параметре Zabbix сервера или проксија конфигурационе датотеке као што је описано у одељку Database credentials.
Ажурирајте подешавања везе са базом података тако што ћете поново конфигурисати Zabbix кориснички интерфејс и навести потребне параметре као што је описано у одељку Frontend.
Да бисте поново конфигурисали Zabbix кориснички интерфејс, отворите URL адресу за подешавање корисничког интерфејса у прегледачу:
Алтернативно, ови параметри се могу подесити у датотеци за конфигурацију корисничког интерфејса (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/';
Да бисте ажурирали постојећу конфигурацију за преузимање тајни из CyberArk трезора, погледајте CyberArk конфигурација.