CyberArk-Konfiguration

In diesem Abschnitt wird erläutert, wie Zabbix konfiguriert wird, um Geheimnisse aus CyberArk Vault CV12 abzurufen.

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 Geheimnissen.

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 - benutzerdefiniertes Präfix für den Vault-Pfad oder die Abfrage, abhängig vom Vault; wenn nicht angegeben, wird der am besten geeignete Standard verwendet.

Die Konfigurationsparameter Vault, VaultURL, VaultTLSCertFile, VaultTLSKeyFile und VaultPrefix werden auch für die Vault-Authentifizierung verwendet, wenn Zabbix Server Secret-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 Vaults enthält die Schlüssel "Content" und "UserName":
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database": <Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. Infolgedessen verwendet Zabbix die folgenden Anmeldedaten für die Datenbankauthentifizierung:
  • Benutzername: <username>
  • Passwort: <password>

Frontend

Um Datenbankanmeldedaten aus dem Vault für das Zabbix Frontend abzurufen, geben Sie während der Installation des Frontends die folgenden Parameter an.

  1. Legen Sie im Schritt Configure DB Connection den Parameter Store credentials in auf "CyberArk Vault" fest.

  1. Füllen Sie anschließend die zusätzlichen Parameter aus:
Parameter Mandatory Default value Description
Vault API endpoint yes https://localhost:1858 Geben Sie die URL für die Verbindung mit dem Vault im Format scheme://host:port an
Vault prefix no /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 yes Eine Abfrage, die angibt, von wo die Datenbankanmeldedaten abgerufen werden sollen.
Beispiel: AppID=foo&Query=Safe=bar;Object=buzz
Vault certificates no 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 no 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 für die SSL-Schlüsseldatei leer.
SSL key file no 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.

Benutzer-Makro-Werte

Um CyberArk Vault zum Speichern von Benutzer-Makro-Werten vom Typ Vault secret zu verwenden, stellen Sie sicher, dass:

Der Zabbix Server (und der Zabbix Proxy, falls konfiguriert) benötigt Zugriff auf Vault secret-Makro-Werte aus dem Vault. Das Zabbix Frontend benötigt keinen solchen Zugriff.

Der Makro-Wert sollte eine Abfrage enthalten (als query:key).

Weitere Informationen zur Verarbeitung von Makro-Werten 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 Symbole URL-codiert werden ("/" wird als "%2F" codiert, ":" wird als "%3A" codiert).

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 Vaults enthält den Schlüssel "Content":
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database" :<Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. Dadurch löst Zabbix das Makro {$PASSWORD} in den Wert - <password> auf

Vorhandene Konfiguration aktualisieren

Um eine vorhandene Konfiguration zum Abrufen von Geheimnissen aus einem CyberArk Vault zu aktualisieren:

  1. Aktualisieren Sie die Parameter der Konfigurationsdatei des Zabbix-Servers oder -Proxys wie im Abschnitt Database credentials 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 Setup-URL des Frontends 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) festgelegt 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 Benutzer-Makros wie im Abschnitt User macro values beschrieben.

Um eine vorhandene Konfiguration zum Abrufen von Geheimnissen aus einem HashiCorp Vault zu aktualisieren, siehe HashiCorp configuration.