This is a translation of the original English documentation page. Help us make it better.

2 HashiCorp конфигурација

Преглед

Овај одељак објашњава како да конфигуришете Zabbix за преузимање тајни из HashiCorp Vault KV Secrets Engine - верзија 2.

Трезор треба да буде распоређен и конфигурисан као што је описано у званичној HashiCorp документацији.

Да бисте сазнали више о конфигурисању TLS-а у Zabbix-у, погледајте Складиштење тајни.

Преузимање креденцијала базе података

Да бисте успешно преузели тајну са креденцијалима базе података, потребно је да конфигуришете оба:

  • Zabbix сервер/прокси
  • Zabbix кориснички интерфејс
Сервер/прокси

Да бисте конфигурисали Zabbix сервер или прокси, наведите следеће конфигурационе параметре у конфигурационој датотеци:

  • Vault - који провајдер трезора треба користити;
  • VaultToken - токен за аутентификацију трезора (погледајте конфигурациону датотеку Zabbix сервера/проки сервера за детаље);
  • VaultURL - HTTP[S] URL сервера трезора;
  • VaultDBPath - путања до тајне трезора која садржи креденцијале базе података (ова опција се може користити само ако DBUser и DBPassword нису специфицирани); Zabbix сервер или прокси ће преузети креденцијале помоћу кључева "password" и "username";
  • VaultPrefix - прилагођени префикс за путању трезора или упит, у зависности од трезора; ако није наведено, користиће се најпогоднија подразумевана вредност.

Zabbix сервер такође користи конфигурационе параметре Vault, VaultToken, VaultURL и VaultPrefix за аутентификацију трезора приликом обраде тајних макроа трезора.

Zabbix сервер и Zabbix прокси читају конфигурационе параметре у вези са трезором из zabbix_server.conf и zabbix_proxy.conf по покретању. Поред тога, Zabbix сервер и Zabbix прокси ће прочитати променљиву окружења VAULT_TOKEN једном током покретања и поништиће је тако да не би била доступна кроз форкиране скрипте; грешка је ако оба параметра VaultToken и VAULT_TOKEN садрже вредност.

Zabbix сервер или прокси подржавају аутоматско обнављање токена услуга и периодичних токена услуга. Ако Zabbix то открије токен је обновљив, он ће га аутоматски обнављати до максималног TTL токена када је достигнут или, у случају токена за периодичне услуге, на неодређено време.

Пример

  1. У zabbix_server.conf, наведите следеће параметре:
Vault=HashiCorp
       VaultToken=hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg
       VaultURL=https://127.0.0.1:8200
       VaultDBPath=database
       VaultPrefix=/v1/secret/data/zabbix/
  1. Покрените следеће CLI команде да бисте креирали потребну тајну у трезору:
# Омогући "secret/" тачку монтирања ако већ није омогућена; имајте на уму да се мора користити "kv-v2".
       тајне трезора омогућавају -path=secret/ kv-v2
       
       # Ставите нове тајне са кључевима корисничко име и лозинку под тачку монтирања "secret/" и путању "zabbix/database".
       vault kv put -mount=secret zabbix/database username=zabbix password=<password>
       
       # Тестирајте да је тајна успешно додата.
       vault kv get zabbix/database
       
       # Коначно тестирајте са Curl; имајте на уму да "data" треба ручно додати после тачке монтирања и "/v1" пре тачке монтирања, такође погледајте параметар --capath.
       curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix/database
  1. Као резултат тога, Zabbix сервер ће преузети следеће акредитиве за аутентификацију базе података:
  • Корисничко име: zabbix
  • Лозинка: <password>
Кориснички интерфејс

Zabbix кориснички интерфејс се може конфигурисати за преузимање акредитива базе података из трезора било током корисничког интерфејса инсталација или ажурирањем конфигурациона датотека фронтенда (zabbix.conf.php).

Ако су акредитиви трезора промењени од претходне инсталације корисничког интерфејса, поново покрените инсталацију корисничког интерфејса или ажурирајте zabbix.conf.php. Такође погледајте: Ажурирање постојеће конфигурације.

Током инсталације корисничког интерфејса конфигурациони параметри морају бити специфицирани у кораку Конфигурисање DB везе:

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

Преузимање вредности корисничког макроа

Да бисте користили HashiCorp Vault за чување вредности Вредност тајне корисничких макроа, уверите се да:

Само Zabbix сервер захтева приступ Вредност тајне вредностима макроа из трезора. Остале Zabbix компоненте (прокси, кориснички интерфејс) не требају такав приступ.

Вредност макроа треба да садржи референтну путању (као path:key, на пример, zabbix:password). Токен за аутентификацију наведен током конфигурације Zabbix сервера (преко параметра VaultToken) мора да обезбеди приступ само за читање овој путањи.

Погледајте Вредност тајне макроа за детаљне информације о обради вредности макроа од стране Zabbix-а.

Синтакса путање

Симболи коса црта ("/") и двотачка (":") су резервисани.

Коса црта може да се користи само за одвајање тачке монтирања од путање (нпр. secret/zabbix где је тачка монтирања "secret", а путања "zabbix"). У случају Вредност макроа, двотачка се може користити само за одвајање путање/упита од кључа.

Могуће је URL-кодирати симболе косе црте и двотачка ако постоји потреба за креирањем тачке монтирања са именом које је одвојено косом цртом (нпр. foo/bar/zabbix, где је тачка монтирања "foo/bar" и путања је "zabbix", може се кодирати као "foo%2Fbar/zabbix") и ако име тачке монтирања или путања треба да садржи двотачку.

Пример

  1. У Zabbix-у додајте кориснички макро {$PASSWORD} типа "Тајна трезора" и са вредношћу zabbix:password

  1. Покрените следеће CLI команде да бисте креирали потребну тајну у трезору:
# Омогући "secret/" тачку монтирања ако већ није омогућена; имајте на уму да се мора користити "kv-v2".
       тајне трезора омогућавају -path=secret/ kv-v2
       
       # Ставите нову тајну са кључном лозинком под тачку монтирања "secret/" и путању "zabbix".
       vault kv put -mount=secret zabbix password=<password>
       
       # Тестирајте да је тајна успешно додата.
       vault kv get secret/zabbix
       
       # Коначно тестирајте са Curl; имајте на уму да "податке" треба ручно додати после тачке монтирања и "/v1" пре тачке монтирања, такође погледајте параметар --capath.
       curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix
  1. Као резултат тога, Zabbix ће разрешити макро {$PASSWORD} на вредност: <password>

Ажурирање постојеће конфигурације

Да бисте ажурирали постојећу конфигурацију за преузимање тајни из HashiCorp трезора:

  1. Ажурирајте параметре конфигурационе датотеке Zabbix сервера или проксија као што је описано у одељку акредитиви базе података.

  2. Ажурирајте поставке DB везе тако што ћете поново конфигурисати Zabbix кориснички интерфејс и навести потребне параметре као што је описано у одељку Кориснички интерфејс. Да бисте поново конфигурисали 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/';
  1. Конфигуришите корисничке макрое као што је описано у одељку Вредности макроа корисника, ако је потребно.

Да бисте ажурирали постојећу конфигурацију за преузимање тајни из CyberArk трезора, погледајте CyberArk конфигурација.