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