Configuration CyberArk

Cette section explique comment configurer Zabbix pour récupérer des secrets depuis CyberArk Vault CV12.

Le coffre-fort doit être installé et configuré comme décrit dans la documentation officielle CyberArk.

Pour en savoir plus sur la configuration de TLS dans Zabbix, consultez Stockage des secrets.

Identifiants de la base de données

L'accès à un secret contenant les identifiants de la base de données est configuré séparément pour chaque composant Zabbix.

Serveur et proxies

Pour obtenir les identifiants de la base de données depuis le coffre-fort pour le serveur ou le proxy Zabbix, spécifiez les paramètres de configuration suivants dans le fichier de configuration :

  • Vault - fournisseur de coffre-fort à utiliser ;
  • VaultURL - URL HTTP(S) du serveur de coffre-fort ;
  • VaultDBPath - requête vers le secret du coffre-fort contenant les identifiants de la base de données, qui seront récupérés à l'aide des clés "Content" et "UserName" (cette option ne peut être utilisée que si DBUser et DBPassword ne sont pas spécifiés) ;
  • VaultTLSCertFile, VaultTLSKeyFile - noms des fichiers de certificat et de clé SSL ; la configuration de ces options n'est pas obligatoire, mais elle est fortement recommandée ;
  • VaultPrefix - préfixe personnalisé pour le chemin ou la requête du coffre-fort, selon le coffre-fort ; s'il n'est pas spécifié, la valeur par défaut la plus appropriée sera utilisée.

Les paramètres de configuration Vault, VaultURL, VaultTLSCertFile, VaultTLSKeyFile et VaultPrefix sont également utilisés pour l'authentification auprès du coffre-fort lors du traitement des macros de coffre-fort secrètes par le serveur Zabbix (et le proxy Zabbix, s'il est configuré). Le serveur Zabbix et les proxies n'ouvriront pas les macros de coffre-fort secrètes contenant les identifiants de la base de données provenant de VaultDBPath.

Le serveur Zabbix et le proxy Zabbix lisent les paramètres de configuration liés au coffre-fort dans les fichiers zabbix_server.conf et zabbix_proxy.conf au démarrage.

Exemple
  1. Dans zabbix_server.conf, spécifiez les paramètres suivants :
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 enverra la requête API suivante au coffre-fort :
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. La réponse du coffre-fort contiendra les clés "Content" et "UserName" :
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database": <Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. En conséquence, Zabbix utilisera les identifiants suivants pour l'authentification à la base de données :
  • Nom d'utilisateur: <username>
  • Mot de passe: <password>

Interface

Pour obtenir les identifiants de la base de données depuis le coffre-fort pour l'interface Zabbix, indiquez les paramètres suivants lors de l'installation de l'interface.

  1. À l'étape Configure DB Connection, définissez le paramètre Store credentials in sur CyberArk Vault.

  1. Ensuite, renseignez les paramètres supplémentaires :
Parameter Mandatory Default value Description
Vault API endpoint yes https://localhost:1858 Indiquez l'URL de connexion au coffre-fort au format scheme://host:port
Vault prefix no /AIMWebService/api/Accounts? Indiquez un préfixe personnalisé pour le chemin ou la requête du coffre-fort. S'il n'est pas indiqué, la valeur par défaut est utilisée.
Vault secret query string yes Requête indiquant où les identifiants de la base de données doivent être récupérés.
Exemple : AppID=foo&Query=Safe=bar;Object=buzz
Vault certificates no Après avoir coché cette case, des paramètres supplémentaires apparaîtront pour vous permettre de configurer l'authentification du client. Bien que ce paramètre soit facultatif, il est fortement recommandé de l'activer pour les communications avec le CyberArk Vault.
SSL certificate file no conf/certs/cyberark-cert.pem Chemin vers le fichier de certificat SSL. Le fichier doit être au format PEM.
Si le fichier de certificat contient également la clé privée, laissez le paramètre SSL key file vide.
SSL key file no conf/certs/cyberark-key.pem Nom du fichier de clé privée SSL utilisé pour l'authentification du client. Le fichier doit être au format PEM.

Valeurs des macros utilisateur

Pour utiliser CyberArk Vault afin de stocker les valeurs des macros utilisateur Vault secret, assurez-vous que :

Le serveur Zabbix (et le proxy Zabbix, s'il est configuré) nécessite un accès aux valeurs des macros Vault secret depuis le coffre-fort. L'interface Zabbix n'a pas besoin d'un tel accès.

La valeur de la macro doit contenir une requête (au format query:key).

Consultez Vault secret macros pour obtenir des informations détaillées sur le traitement des valeurs de macro par Zabbix.

Syntaxe des requêtes

Le symbole deux-points (:) est réservé pour séparer la requête de la clé.

Si une requête contient elle-même une barre oblique ou un deux-points, ces symboles doivent être encodés dans l’URL (/ est encodé en %2F, : est encodé en %3A).

Exemple

  1. Dans Zabbix, ajoutez une macro utilisateur {$PASSWORD} de type Vault secret et avec la valeur AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content

  1. Zabbix enverra la requête API suivante au coffre-fort :
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. La réponse du coffre-fort contiendra la clé Content :
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database" :<Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. Par conséquent, Zabbix résoudra la macro {$PASSWORD} en la valeur - <password>

Mettre à jour une configuration existante

Pour mettre à jour une configuration existante afin de récupérer des secrets depuis un CyberArk Vault :

  1. Mettez à jour les paramètres du fichier de configuration du serveur Zabbix ou du proxy, comme décrit dans la section Identifiants de base de données.

  2. Mettez à jour les paramètres du fichier de configuration de l'interface Zabbix :

$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. Configurez les macros utilisateur comme décrit dans la section Valeurs des macros utilisateur, si nécessaire.

Pour mettre à jour une configuration existante afin de récupérer des secrets depuis un HashiCorp Vault, consultez la section Configuration HashiCorp.