2 HashiCorp konfigurācija
Pārskats
Šajā sadaļā ir skaidrots, kā konfigurēt Zabbix, lai iegūtu noslēpumus no HashiCorp Vault KV Secrets Engine — 2. versijas.
Vault jāizvieto un jākonfigurē, kā aprakstīts oficiālajā HashiCorp dokumentācijā.
Lai uzzinātu par TLS konfigurēšanu Zabbix, skatiet Noslēpumu glabāšana.
Datubāzes akreditācijas datu iegūšana
Lai veiksmīgi iegūtu noslēpumu ar datubāzes akreditācijas datiem, ir jākonfigurē abi šie komponenti:
- Zabbix serveris/starpniekserveris
- Zabbix lietotāja saskarne
Serveris/starpniekserveris
Lai konfigurētu Zabbix serveri vai starpniekserveri, konfigurācijas failā norādiet šādus konfigurācijas parametrus:
Vault— kurš vault nodrošinātājs ir jāizmanto;VaultToken— vault autentifikācijas marķieris (sīkāku informāciju skatiet Zabbix servera/starpniekservera konfigurācijas failā);VaultURL— vault servera HTTP[S] URL;VaultDBPath— ceļš uz vault noslēpumu, kas satur datubāzes akreditācijas datus (šo opciju var izmantot tikai tad, jaDBUserunDBPasswordnav norādīti); Zabbix serveris vai starpniekserveris iegūs akreditācijas datus pēc atslēgām "password" un "username";VaultPrefix— pielāgots prefikss vault ceļam vai vaicājumam atkarībā no vault; ja tas nav norādīts, tiks izmantota vispiemērotākā noklusējuma vērtība.
Konfigurācijas parametri Vault, VaultToken, VaultURL un VaultPrefix tiek izmantoti arī vault autentifikācijai, kad Zabbix serveris apstrādā slepeno vault makrosu (un Zabbix starpniekserveris, ja tas ir konfigurēts). Zabbix serveris un starpniekserveri neatvērs vault slepenos makrosus, kas satur datubāzes akreditācijas datus no VaultDBPath.
Ir stingri ieteicams dažādiem starpniekserveriem izmantot atšķirīgus marķierus.
Zabbix serveris un Zabbix starpniekserveris ar vault saistītos konfigurācijas parametrus nolasa no zabbix_server.conf un zabbix_proxy.conf startēšanas laikā.
Papildus tam Zabbix serveris un Zabbix starpniekserveris startēšanas laikā vienreiz nolasīs vides mainīgo VAULT_TOKEN un pēc tam to atiestatīs, lai tas nebūtu pieejams caur atzarotiem skriptiem; tā ir kļūda, ja gan VaultToken, gan VAULT_TOKEN parametri satur vērtību.
Piemērs
- Failā zabbix_server.conf norādiet šādus parametrus:
Vault=HashiCorp
VaultToken=hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg
VaultURL=https://127.0.0.1:8200
VaultDBPath=database
VaultPrefix=/v1/secret/data/zabbix/
- Izpildiet šādas CLI komandas, lai glabātuvē izveidotu nepieciešamo noslēpumu:
# Iespējojiet "secret/" montēšanas punktu, ja tas vēl nav iespējots; ņemiet vērā, ka jāizmanto "kv-v2".
vault secrets enable -path=secret/ kv-v2
# Pievienojiet jaunus noslēpumus ar atslēgām username un password zem montēšanas punkta "secret/" un ceļa "zabbix/database".
vault kv put -mount=secret zabbix/database username=zabbix password=<password>
# Pārbaudiet, vai noslēpums ir veiksmīgi pievienots.
vault kv get secret/zabbix/database
# Visbeidzot pārbaudiet ar Curl; ņemiet vērā, ka "data" manuāli jāpievieno pēc montēšanas punkta un "/v1" pirms montēšanas punkta; skatiet arī parametru --capath.
curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix/database
- Rezultātā Zabbix serveris iegūs šādus akreditācijas datus datubāzes autentifikācijai:
- Lietotājvārds: zabbix
- Parole: <password>
Lietotāja saskarne
Zabbix lietotāja saskarni var konfigurēt tā, lai tā iegūtu datubāzes akreditācijas datus no glabātuves
vai nu lietotāja saskarnes instalēšanas laikā, vai atjauninot
lietotāja saskarnes konfigurācijas failu (zabbix.conf.php).
Ja kopš iepriekšējās lietotāja saskarnes instalēšanas glabātuves akreditācijas dati ir mainīti, atkārtoti palaidiet lietotāja saskarnes instalēšanu
vai atjauniniet zabbix.conf.php. Skatiet arī: Esošās konfigurācijas atjaunināšana.
Lietotāja saskarnes instalēšanas laikā konfigurācijas parametri jānorāda solī Configure DB Connection:

- Iestatiet parametru Store credentials in uz "HashiCorp Vault".
- Norādiet savienojuma parametrus:
| Parametrs | Obligāts | Noklusējuma vērtība | Apraksts |
|---|---|---|---|
| Vault API endpoint | jā | https://localhost:8200 | Norādiet URL savienojumam ar glabātuvi formātā scheme://host:port |
| Vault prefix | nē | /v1/secret/data/ | Norādiet pielāgotu prefiksu glabātuves ceļam vai vaicājumam. Ja tas nav norādīts, tiek izmantota noklusējuma vērtība. Piemērs: /v1/secret/data/zabbix/ |
| Vault secret path | nē | Ceļš uz noslēpumu, no kura datubāzes akreditācijas dati tiks iegūti, izmantojot atslēgas "password" un "username". Piemērs: database |
|
| Vault authentication token | nē | Norādiet autentifikācijas marķieri tikai lasīšanas piekļuvei noslēpuma ceļam. Informāciju par marķieru un glabātuves politiku izveidi skatiet HashiCorp dokumentācijā. |
Lietotāja makrosu vērtību izgūšana
Lai izmantotu HashiCorp Vault Vault secret lietotāja makrosu vērtību glabāšanai, pārliecinieties, ka:
- Zabbix serveris/starpniekserveris ir konfigurēts darbam ar HashiCorp Vault;
- parametrs Vault provider sadaļā Administrēšana → Vispārīgi → Citi ir iestatīts uz "HashiCorp Vault" (noklusējums);

Zabbix serverim (un Zabbix starpniekserverim, ja tas ir konfigurēts) ir nepieciešama piekļuve Vault secret makrosu vērtībām no glabātuves. Zabbix lietotāja saskarnei šāda piekļuve nav nepieciešama.
Makrosa vērtībai jāsatur atsauces ceļš (kā path:key, piemēram, macros:password).
Autentifikācijas marķierim, kas norādīts Zabbix servera/starpniekservera konfigurācijas laikā (ar parametru VaultToken), jānodrošina tikai lasīšanas piekļuve šim ceļam.
Detalizētu informāciju par makrosa vērtību apstrādi Zabbix skatiet sadaļā Vault secret macros.
Ceļa sintakse
Simboli slīpsvītra uz priekšu ("/") un kols (":") ir rezervēti.
Slīpsvītru uz priekšu var izmantot tikai, lai atdalītu montēšanas punktu no ceļa (piemēram, secret/zabbix, kur montēšanas punkts ir "secret" un ceļš ir "zabbix"). Vault makrosu gadījumā kolu var izmantot tikai, lai atdalītu ceļu/vaicājumu no atslēgas.
Ir iespējams URL kodēt slīpsvītras uz priekšu un kola simbolus, ja ir nepieciešams izveidot montēšanas punktu ar nosaukumu, kas ir atdalīts ar slīpsvītru uz priekšu (piemēram, foo/bar/zabbix, kur montēšanas punkts ir "foo/bar" un ceļš ir "zabbix", var tikt kodēts kā "foo%2Fbar/zabbix"), un ja montēšanas punkta nosaukumā vai ceļā ir jāiekļauj kols.
Piemērs
- Zabbix pievienojiet lietotāja makrosu {$PASSWORD} ar tipu "Vault secret" un vērtību
macros:password

- Palaidiet šādas CLI komandas, lai izveidotu nepieciešamo noslēpumu glabātuvē:
# Iespējojiet "secret/" montēšanas punktu, ja tas vēl nav iespējots; ņemiet vērā, ka jāizmanto "kv-v2".
vault secrets enable -path=secret/ kv-v2
# Ievietojiet jaunu noslēpumu ar atslēgu "password" zem montēšanas punkta "secret/" un ceļa "zabbix/macros".
vault kv put -mount=secret zabbix/macros password=<password>
# Pārbaudiet, vai noslēpums ir veiksmīgi pievienots.
vault kv get secret/zabbix/macros
# Visbeidzot pārbaudiet ar Curl; ņemiet vērā, ka "data" manuāli jāpievieno aiz montēšanas punkta un "/v1" pirms montēšanas punkta, skatiet arī parametru --capath.
curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix/macros
- Rezultātā Zabbix atrisinās makrosu {$PASSWORD} uz vērtību: <password>
Esošās konfigurācijas atjaunināšana
Lai atjauninātu esošu konfigurāciju slepeno datu iegūšanai no HashiCorp Vault:
-
Atjauniniet Zabbix servera vai starpniekservera konfigurācijas faila parametrus, kā aprakstīts sadaļā Datubāzes akreditācijas dati.
-
Atjauniniet DB savienojuma iestatījumus, pārkonfigurējot Zabbix lietotāja saskarne un norādot nepieciešamos parametrus, kā aprakstīts sadaļā Lietotāja saskarne. Lai pārkonfigurētu Zabbix lietotāja saskarne, atveriet lietotāja saskarnes iestatīšanas URL pārlūkprogrammā:
- Apache gadījumā: http://<server_ip_or_name>/zabbix/setup.php
- Nginx gadījumā: http://<server_ip_or_name>/setup.php
Alternatīvi, šos parametrus var iestatīt lietotāja saskarnes konfigurācijas failā (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/';
- Ja nepieciešams, konfigurējiet lietotāja makrosus, kā aprakstīts sadaļā Lietotāja makrosu vērtības.
Lai atjauninātu esošu konfigurāciju slepeno datu iegūšanai no CyberArk Vault, skatiet CyberArk konfigurācija.