1 Configuration de 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 de CyberArk.

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

Identifiants de base de données

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

Serveur et proxys

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

  • Vault - indique quel fournisseur de coffre-fort doit être utilisé ;
  • VaultURL - URL HTTP[S] du serveur de coffre-fort ;
  • VaultDBPath - requête vers le secret du coffre-fort contenant les identifiants de 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 SSL et de clé ; 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 secret par le serveur Zabbix (et le proxy Zabbix, s'il est configuré). Le serveur Zabbix et les proxys Zabbix n'ouvriront pas les macros de secret du coffre-fort qui contiennent des identifiants de 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 depuis les fichiers zabbix_server.conf et zabbix_proxy.conf au démarrage.

Exemple
  1. Dans zabbix_server.conf, indiquez 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. Par conséquent, Zabbix utilisera les informations d'identification suivantes pour l'authentification à la base de données :
  • Nom d'utilisateur : <username>
  • Mot de passe : <password>

Interface web

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

  1. À l’étape Configurer la connexion à la base de données, définissez le paramètre Stocker les identifiants dans sur « CyberArk Vault ».

  1. Ensuite, renseignez les paramètres supplémentaires :
Paramètre Obligatoire Valeur par défaut Description
Point de terminaison de l’API du coffre-fort oui https://localhost:1858 Spécifiez l’URL de connexion au coffre-fort au format scheme://host:port
Préfixe du coffre-fort non /AIMWebService/api/Accounts? Fournissez un préfixe personnalisé pour le chemin ou la requête du coffre-fort. S’il n’est pas spécifié, la valeur par défaut est utilisée.
Chaîne de requête du secret du coffre-fort oui Une requête qui indique d’où les identifiants de la base de données doivent être récupérés.
Exemple : AppID=foo&Query=Safe=bar;Object=buzz
Certificats du coffre-fort non Après avoir coché la case, des paramètres supplémentaires apparaîtront pour permettre de configurer l’authentification du client. Bien que ce paramètre soit facultatif, il est fortement recommandé de l’activer pour la communication avec CyberArk Vault.
Fichier de certificat SSL non 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 du fichier de clé SSL vide.
Fichier de clé SSL non 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 pour stocker les valeurs des macros utilisateur Vault secret, assurez-vous que :

Le serveur Zabbix (et le proxy Zabbix, s'il est configuré) doit avoir accès aux valeurs des macros Vault secret depuis le coffre-fort. Le frontend 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 des informations détaillées sur le traitement des valeurs de macro par Zabbix.

Syntaxe de requête

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 en URL ("/" est encodé en "%2F", ":" est encodé en "%3A").

Exemple

  1. Dans Zabbix, ajoutez une macro utilisateur {$PASSWORD} de type Vault secret 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 coffre 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 de connexion à la base de données en reconfigurant le frontend Zabbix et en spécifiant les paramètres requis comme décrit dans la section Frontend. Pour reconfigurer le frontend Zabbix, ouvrez l’URL de configuration du frontend dans le navigateur :

  • pour Apache : http://<server_ip_or_name>/zabbix/setup.php
  • pour Nginx : http://<server_ip_or_name>/setup.php

Sinon, ces paramètres peuvent être définis dans le fichier de configuration du frontend (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';
$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 coffre HashiCorp Vault, consultez Configuration HashiCorp.