2 HashiCorp конфигурација
Преглед
Овај одељак објашњава како да конфигуришете Zabbix за преузимање тајни из HashiCorp Vault KV Secrets Engine - верзија 2.
Трезор треба да буде распоређен и конфигурисан као што је описано у званичној HashiCorp документацији.
Да бисте сазнали више о конфигурисању TLS-а у Zabbix-у, погледајте Складиштење тајни.
Преузимање креденцијала базе података
Да бисте успешно преузели тајну са акредитивима базе података, потребно је конфигурисати оба:
- Zabbix сервер/прокси
- 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 садрже вредност.
Пример
- У zabbix_server.conf, наведите следеће параметре:
Vault=HashiCorp
VaultToken=hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg
VaultURL=https://127.0.0.1:8200
VaultDBPath=database
VaultPrefix=/v1/secret/data/zabbix/
- Покрените следеће CLI команде да бисте креирали потребну тајну у трезору:
# Омогућите тачку монтирања "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 сервер ће преузети следеће акредитиве за аутентификацију базе података:
- Username: zabbix
- Password: <password>
Кориснички интерфејс
Zabbix кориснички интерфејс може бити конфигурисан да преузима податке из базе података из Vault-а
или током [инсталације] корисничког интерфејса (/manual/installation/frontend) или ажурирањем
конфигурационе датотеке корисничког интерфејса (zabbix.conf.php).
Ако су подаци из Vault-а промењени од претходне инсталације корисничког интерфејса, поново покрените инсталацију фронтенда
или ажурирајте zabbix.conf.php. Погледајте такође: Ажурирање постојеће конфигурације.
Током инсталације корисничког интерфејса параметри конфигурације морају бити наведени у кораку Конфигуриши везу са базом података:

- Поставите параметар Чувај податке у на "HashiCorp Vault".
- Наведите параметре повезивања:
| Parameter | Mandatory | Default value | Description |
|---|---|---|---|
| Vault API endpoint | yes | https://localhost:8200 | Наведите URL за повезивање са трезором у формату scheme://host:port |
| Vault prefix | no | /v1/secret/data/ | Наведите прилагођени префикс за путању или vault упит. Ако није наведено, користи се подразумевана вредност. Пример: /v1/secret/data/zabbix/ |
| Vault secret path | no | Путања до тајне вредности одакле ће се креденцијали за базу података преузети помоћу кључева "password" и "username". Пример: database |
|
| Vault authentication token | no | Обезбедите токен за аутентификацију за приступ само за читање тајне путање. Погледајте HashiCorp документацију за информације о креирању токена и политици vault-а. |
Преузимање вредности корисничких макроа
Да бисте користили HashiCorp Vault за чување вредности корисничких макроа Vault secret, уверите се да:
- Zabbix сервер/прокси је конфигурисан да ради са HashiCorp Vault-ом;
- параметар Vault provider у Администрација → Опште → Друго је подешен на "HashiCorp Vault" (подразумевано);

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") и ако име или путања тачке монтирања морају да садрже двотачку.
Пример
- У Zabbix-у додајте кориснички макро {$PASSWORD} типа "Тајна трезора" и са вредношћу
macros:password

- Покрените следеће CLI команде да бисте креирали потребну тајну у трезору:
# Омогући "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
- Као резултат тога, Zabbix ће разрешити макро {$PASSWORD} на вредност: <password>
Ажурирање постојеће конфигурације
Да бисте ажурирали постојећу конфигурацију за преузимање тајни из HashiCorp трезора:
-
Ажурирајте параметре Zabbix сервера или проксија конфигурационе датотеке као што је описано у одељку Database credentials.
-
Ажурирајте подешавања везе са базом података тако што ћете поново конфигурисати Zabbix кориснички интерфејс и навести потребне параметре као што је описано у одељку Frontend.
Да бисте поново конфигурисали Zabbix кориснички интерфејс, отворите URL адресу за подешавање корисничког интерфејса у прегледачу:
- за Apache: http://<server_ip_or_name>/zabbix/setup.php
- за Nginx: http://<server_ip_or_name>/setup.php
Алтернативно, ови параметри се могу подесити у датотеци за конфигурацију корисничког интерфејса (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 конфигурација.