1 CyberArk-configuratie

In deze sectie wordt uitgelegd hoe je Zabbix kunt configureren om geheimen op te halen uit CyberArk Vault CV12.

De kluis moet zijn geïnstalleerd en geconfigureerd zoals beschreven in de officiële CyberArk-documentatie.

Om meer te weten te komen over het configureren van TLS in Zabbix, zie Opslag van geheimen.

Database referenties

Toegang tot een geheim met database referenties wordt afzonderlijk geconfigureerd voor elke Zabbix component.

Server en proxies

Om database referenties uit de kluis te verkrijgen voor Zabbix server of proxy, specificeer je de volgende configuratieparameters in het configuratiebestand:

  • Vault - welke kluisaanbieder moet worden gebruikt;
  • VaultURL - HTTP[S] URL van de kluis server;
  • VaultDBPath - query naar het kluisgeheim met database referenties die zullen worden opgehaald via sleutels "Content" en "UserName";
  • VaultTLSCertFile, VaultTLSKeyFile - Bestandsnamen van SSL-certificaat en -sleutel; het instellen van deze opties is niet verplicht, maar sterk aanbevolen.

Zabbix server gebruikt ook de Vault, VaultURL, VaultTLSCertFile en VaultTLSKeyFile configuratieparameters voor kluisauthenticatie bij het verwerken van kluisgeheimmacro's.

Zabbix server en Zabbix proxy lezen de kluisgerelateerde configuratieparameters uit de bestanden zabbix_server.conf en zabbix_proxy.conf bij het opstarten.

Voorbeeld
  1. In zabbix_server.conf, specificeer de volgende parameters:
Vault=CyberArk
       VaultURL=https://127.0.0.1:1858
       VaultDBPath=AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_server_database
       VaultTLSCertFile=cert.pem
       VaultTLSKeyFile=key.pem
  1. Zabbix zal het volgende API-verzoek naar de kluis sturen:
curl \
       --header "Content type: application/json" \
       --cert cert.pem \
       --key key.pem \
       https://127.0.0.1:1858/AIMWebService/api/Accounts?AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_server_database
  1. Het antwoord van de kluis bevat de sleutels "Content" en "UserName":
{
           "Content": <password>,
           "UserName": <username>,
           "Address": <address>,
           "Database": <Database>,
           "PasswordChangeInProcess":<PasswordChangeInProcess>
       }
  1. Als resultaat zal Zabbix de volgende referenties gebruiken voor database-authenticatie:
  • Gebruikersnaam: <username>
  • Wachtwoord: <password>

Frontend

Om database referenties uit de kluis te halen voor de Zabbix frontend, specificeert u de volgende parameters tijdens de frontend installatie.

  1. Bij de stap Configureer DB-verbinding, stelt u de parameter Bewaar referenties in in op "CyberArk Vault".

  1. Vervolgens vult u de aanvullende parameters in:
Parameter Verplicht Standaardwaarde Beschrijving
Vault API-eindpunt ja https://localhost:1858 Specificeer de URL om verbinding te maken met de kluis in het formaat scheme://host:port
Vault query string voor geheim ja Een query die aangeeft waar database referenties moeten worden opgehaald.
Voorbeeld: AppID=foo&Query=Safe=bar;Object=buzz
Vault-certificaten nee Na het aanvinken van het selectievakje, verschijnen er aanvullende parameters waarmee u client-authenticatie kunt configureren. Hoewel deze parameter optioneel is, wordt het sterk aanbevolen om deze in te schakelen voor communicatie met de CyberArk Vault.
SSL-certificaatbestand nee conf/certs/cyberark-cert.pem Pad naar het SSL-certificaatbestand. Het bestand moet in PEM-indeling zijn.
Als het certificaatbestand ook de privésleutel bevat, laat dan het SSL-sleutelbestand leeg.
SSL-sleutelbestand nee conf/certs/cyberark-key.pem Naam van het bestand met de SSL-privésleutel die wordt gebruikt voor client-authenticatie. Het bestand moet in PEM-indeling zijn.

User-macro-waarden

Om de CyberArk Vault te gebruiken voor het opslaan van waarden voor gebruikersmacro's van het type Vault secret, zorg ervoor dat:

Alleen de Zabbix-server heeft toegang nodig tot de macrowaarden van het Vault secret uit de kluis. Andere Zabbix-componenten (proxy, frontend) hebben geen dergelijke toegang nodig.

De macrowaarde moet een query bevatten (in de vorm van query:key).

Zie Vault secret macros voor gedetailleerde informatie over de verwerking van macrowaarden door Zabbix.

Query-syntax

Het dubbele punt-symbool (":") is gereserveerd om de query van de sleutel te scheiden.

Als een query zelf een schuine streep (/) of een dubbele punt bevat, moeten deze symbolen URL-gecodeerd worden ("%2F" voor "/", "%3A" voor ":").

Voorbeeld

  1. Voeg in Zabbix een gebruikersmacro {$PASSWORD} toe van het type Vault secret en met de waarde AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content

  1. Zabbix zal de volgende API-aanvraag naar de kluis sturen:
curl \
       --header "Content type: application/json" \
       --cert cert.pem \
       --key key.pem \
       https://127.0.0.1:1858/AIMWebService/api/Accounts?AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_server_database
  1. Het antwoord van de kluis zal de sleutel "Content" bevatten:
{
           "Content": <wachtwoord>,
           "UserName": <gebruikersnaam>,
           "Address": <adres>,
           "Database" :<Database>,
           "PasswordChangeInProcess":<PasswordChangeInProcess>
       }
  1. Als resultaat zal Zabbix de macro {$PASSWORD} omzetten naar de waarde - <wachtwoord>

Bestaande configuratie bijwerken

Om een bestaande configuratie bij te werken voor het ophalen van geheimen uit een CyberArk Vault:

  1. Werk de configuratieparameters in het Zabbix-server- of proxy-configuratiebestand bij zoals beschreven in de sectie Databasecredentials.

  2. Werk de DB-verbinding instellingen bij door Zabbix-frontend opnieuw te configureren en de vereiste parameters op te geven zoals beschreven in de sectie Frontend. Om Zabbix-frontend opnieuw te configureren, open de frontend-instellings-URL in de browser:

  • voor Apache: http://<server_ip_of_naam>/zabbix/setup.php
  • voor Nginx: http://<server_ip_of_naam>/setup.php

Als alternatief kunnen deze parameters worden ingesteld in het frontend configuratiebestand (zabbix.conf.php):

$DB['VAULT']                    = 'CyberArk';
       $DB['VAULT_URL']                = 'https://127.0.0.1:1858';
       $DB['VAULT_DB_PATH']            = 'AppID=foo&Query=Safe=bar;Object=buzz';
       $DB['VAULT_TOKEN']              = '';
       $DB['VAULT_CERT_FILE']          = 'conf/certs/cyberark-cert.pem';
       $DB['VAULT_KEY_FILE']           = 'conf/certs/cyberark-key.pem';
  1. Configureer gebruikersmacro's zoals beschreven in de sectie User macro values, indien nodig.

Om een bestaande configuratie bij te werken voor het ophalen van geheimen uit een HashiCorp Vault, zie HashiCorp configuratie.