1 CyberArk-Konfiguration
In diesem Abschnitt wird erläutert, wie Zabbix so konfiguriert wird, dass Secrets aus CyberArk Vault CV12 abgerufen werden.
Der Vault sollte wie in der offiziellen CyberArk-Dokumentation beschrieben installiert und konfiguriert werden.
Informationen zur Konfiguration von TLS in Zabbix finden Sie unter Speicherung von Secrets.
Datenbank-Anmeldedaten
Der Zugriff auf ein Secret mit Datenbank-Anmeldedaten wird für jede Zabbix-Komponente separat konfiguriert.
Server und Proxys
Um Datenbank-Anmeldedaten aus dem Vault für den Zabbix-server oder proxy zu beziehen, geben Sie die folgenden Konfigurationsparameter in der Konfigurationsdatei an:
Vault- welcher Vault-Anbieter verwendet werden soll;VaultURL- HTTP[S]-URL des Vault-Servers;VaultDBPath- Abfrage an das Vault-Secret mit den Datenbank-Anmeldedaten, die über die Schlüssel "Content" und "UserName" abgerufen werden (diese Option kann nur verwendet werden, wenn DBUser und DBPassword nicht angegeben sind);VaultTLSCertFile,VaultTLSKeyFile- Dateinamen des SSL-Zertifikats und der Schlüsseldatei; das Einrichten dieser Optionen ist nicht zwingend erforderlich, wird jedoch dringend empfohlen;VaultPrefix- benutzerdefiniertes Präfix für den Vault-Pfad oder die Abfrage, abhängig vom Vault; wenn nicht angegeben, wird der am besten geeignete Standardwert verwendet.
Die Konfigurationsparameter Vault, VaultURL, VaultTLSCertFile, VaultTLSKeyFile und VaultPrefix werden auch für die Vault-Authentifizierung bei der Verarbeitung von Secret-Vault-Makros durch den Zabbix-Server verwendet (und durch den Zabbix-Proxy, falls konfiguriert). Zabbix-Server und Zabbix-Proxys öffnen keine Vault-Secret-Makros, die Datenbank-Anmeldedaten aus VaultDBPath enthalten.
Zabbix-Server und Zabbix-Proxy lesen die Vault-bezogenen Konfigurationsparameter beim Start aus den Dateien zabbix_server.conf und zabbix_proxy.conf.
Beispiel
- Geben Sie in zabbix_server.conf die folgenden Parameter an:
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
VaultPrefix=/AIMWebService/api/Accounts?
- Zabbix sendet die folgende API-Anfrage an den Vault:
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
- Die Antwort des Vault enthält die Schlüssel "Content" und "UserName":
{
"Content": <password>,
"UserName": <username>,
"Address": <address>,
"Database": <Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
- Daher verwendet Zabbix die folgenden Anmeldedaten für die Datenbankauthentifizierung:
- Benutzername: <username>
- Passwort: <password>
Frontend
Um Datenbank-Anmeldedaten aus dem Vault für das Zabbix-Frontend abzurufen, geben Sie während der Frontend-Installation die folgenden Parameter an.
- Setzen Sie im Schritt Configure DB Connection den Parameter Store credentials in auf „CyberArk Vault“.

- Füllen Sie anschließend die zusätzlichen Parameter aus:
| Parameter | Pflichtfeld | Standardwert | Beschreibung |
|---|---|---|---|
| Vault API endpoint | ja | https://localhost:1858 | Geben Sie die URL für die Verbindung zum Vault im Format scheme://host:port an. |
| Vault prefix | nein | /AIMWebService/api/Accounts? | Geben Sie ein benutzerdefiniertes Präfix für den Vault-Pfad oder die Abfrage an. Wenn nichts angegeben wird, wird der Standardwert verwendet. |
| Vault secret query string | ja | Eine Abfrage, die angibt, von wo die Datenbank-Anmeldedaten abgerufen werden sollen. Beispiel: AppID=foo&Query=Safe=bar;Object=buzz |
|
| Vault certificates | nein | Nach dem Aktivieren des Kontrollkästchens werden zusätzliche Parameter angezeigt, mit denen die Client-Authentifizierung konfiguriert werden kann. Obwohl dieser Parameter optional ist, wird dringend empfohlen, ihn für die Kommunikation mit dem CyberArk Vault zu aktivieren. | |
| SSL certificate file | nein | conf/certs/cyberark-cert.pem | Pfad zur SSL-Zertifikatsdatei. Die Datei muss im PEM-Format vorliegen. Wenn die Zertifikatsdatei auch den privaten Schlüssel enthält, lassen Sie den Parameter SSL key file leer. |
| SSL key file | nein | conf/certs/cyberark-key.pem | Name der SSL-Datei mit dem privaten Schlüssel, die für die Client-Authentifizierung verwendet wird. Die Datei muss im PEM-Format vorliegen. |
Werte von Benutzermakros
Um CyberArk Vault zum Speichern von Benutzermakrowerten vom Typ Vault secret zu verwenden, stellen Sie sicher, dass:
- der Zabbix Server konfiguriert ist, um mit CyberArk Vault zu arbeiten;
- der Parameter Vault provider unter Administration → Allgemein → Sonstiges auf „CyberArk Vault“ gesetzt ist.

Der Zabbix Server (und der Zabbix Proxy, falls konfiguriert) benötigen Zugriff auf Makrowerte vom Typ Vault secret aus dem Vault. Das Zabbix Frontend benötigt keinen solchen Zugriff.
Der Makrowert sollte eine Abfrage enthalten (als query:key).
Ausführliche Informationen zur Verarbeitung von Makrowerten durch Zabbix finden Sie unter Vault secret macros.
Abfragesyntax
Das Doppelpunktzeichen (":") ist für die Trennung der Abfrage vom Schlüssel reserviert.
Wenn eine Abfrage selbst einen Schrägstrich oder einen Doppelpunkt enthält, sollten diese Zeichen URL-kodiert werden ("/" wird als "%2F" kodiert, ":" wird als "%3A" kodiert).
Beispiel
- Fügen Sie in Zabbix ein Benutzermakro {$PASSWORD} vom Typ Vault secret mit dem Wert
AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Contenthinzu.

- Zabbix sendet die folgende API-Anfrage an den Vault:
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
- Die Antwort des Vault enthält den Schlüssel "Content":
{
"Content": <password>,
"UserName": <username>,
"Address": <address>,
"Database" :<Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
- Als Ergebnis löst Zabbix das Makro {$PASSWORD} in den Wert <password> auf.
Bestehende Konfiguration aktualisieren
Um eine bestehende Konfiguration zum Abrufen von Geheimnissen aus einem CyberArk Vault zu aktualisieren:
-
Aktualisieren Sie die Parameter der Zabbix-Server- oder Proxy-Konfigurationsdatei wie im Abschnitt Datenbankzugangsdaten beschrieben.
-
Aktualisieren Sie die DB-Verbindungseinstellungen, indem Sie das Zabbix Frontend neu konfigurieren und die erforderlichen Parameter wie im Abschnitt Frontend beschrieben angeben. Um das Zabbix Frontend neu zu konfigurieren, öffnen Sie die Frontend-Setup-URL im Browser:
- für Apache: http://<server_ip_or_name>/zabbix/setup.php
- für Nginx: http://<server_ip_or_name>/setup.php
Alternativ können diese Parameter in der Frontend-Konfigurationsdatei (zabbix.conf.php) gesetzt werden:
$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';
$DB['VAULT_PREFIX'] = '';
- Konfigurieren Sie bei Bedarf Benutzermakros wie im Abschnitt Werte von Benutzermakros beschrieben.
Um eine bestehende Konfiguration zum Abrufen von Geheimnissen aus einem HashiCorp Vault zu aktualisieren, siehe HashiCorp-Konfiguration.