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.

Datenbankanmeldedaten

Der Zugriff auf ein Secret mit Datenbankanmeldedaten wird für jede Zabbix-Komponente separat konfiguriert.

Server und Proxies

Um Datenbankanmeldedaten aus dem Vault für Zabbix Server oder Proxy abzurufen, 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, das Datenbankanmeldedaten enthält und über die Schlüssel "Content" und "UserName" abgerufen wird (diese Option kann nur verwendet werden, wenn DBUser und DBPassword nicht angegeben sind);
  • VaultTLSCertFile, VaultTLSKeyFile - Namen der SSL-Zertifikats- und Schlüsseldatei; das Einrichten dieser Optionen ist nicht zwingend erforderlich, wird jedoch dringend empfohlen;
  • VaultPrefix - benutzerdefinierter 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 verwendet, wenn Zabbix Server geheime Vault-Makros verarbeitet (und Zabbix Proxy, falls konfiguriert). Zabbix Server und Proxies öffnen keine Vault-Secret-Makros, die DB-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
  1. 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?
  1. 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
  1. Die Antwort des Vault enthält die Schlüssel "Content" und "UserName":
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database": <Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. 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.

  1. Setzen Sie im Schritt Configure DB Connection den Parameter Store credentials in auf „CyberArk Vault“.

  1. 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 (und der Zabbix Proxy, falls konfiguriert) benötigen Zugriff auf Makrowerte vom Typ Vault secret aus dem Vault. Der 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

  1. Fügen Sie in Zabbix ein Benutzermakro {$PASSWORD} vom Typ Vault secret mit dem Wert AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content hinzu.

  1. 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
  1. Die Antwort des Vault enthält den Schlüssel "Content":
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database" :<Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. 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:

  1. Aktualisieren Sie die Parameter der Zabbix-Server- oder Proxy-Konfigurationsdatei wie im Abschnitt Datenbankzugangsdaten beschrieben.

  2. 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']             = '';
  1. 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.