Configurazione di CyberArk
Questa sezione spiega come configurare Zabbix per recuperare i segreti da CyberArk Vault CV12.
Il vault deve essere installato e configurato come descritto nella documentazione ufficiale di CyberArk.
Per informazioni sulla configurazione di TLS in Zabbix, vedere Archiviazione dei segreti.
Credenziali del database
L'accesso a un secret con le credenziali del database è configurato separatamente per ciascun componente di Zabbix.
Server e proxy
Per ottenere le credenziali del database dal vault per Zabbix server o proxy, specificare i seguenti parametri di configurazione nel file di configurazione:
Vault- quale provider vault deve essere utilizzato;VaultURL- URL HTTP[S] del server vault;VaultDBPath- query al secret del vault contenente le credenziali del database, che verranno recuperate tramite le chiavi "Content" e "UserName" (questa opzione può essere usata solo se DBUser e DBPassword non sono specificati);VaultTLSCertFile,VaultTLSKeyFile- nomi dei file del certificato SSL e della chiave; la configurazione di queste opzioni non è obbligatoria, ma è fortemente consigliata;VaultPrefix- prefisso personalizzato per il percorso o la query del vault, a seconda del vault; se non specificato, verrà utilizzato il valore predefinito più adatto.
I parametri di configurazione Vault, VaultURL, VaultTLSCertFile, VaultTLSKeyFile e VaultPrefix sono utilizzati anche per l'autenticazione al vault quando Zabbix server elabora i secret vault macro (e Zabbix proxy, se configurato). Zabbix server e i proxy non apriranno i secret vault macro che contengono credenziali DB da VaultDBPath.
Zabbix server e Zabbix proxy leggono i parametri di configurazione relativi al vault dai file zabbix_server.conf e zabbix_proxy.conf all'avvio.
Esempio
- In
zabbix_server.conf, specificare i seguenti parametri:
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 invierà la seguente richiesta API al 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
- La risposta del vault conterrà le chiavi "Content" e "UserName":
{
"Content": <password>,
"UserName": <username>,
"Address": <address>,
"Database": <Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
- Di conseguenza, Zabbix utilizzerà le seguenti credenziali per l'autenticazione al database:
- Username: <username>
- Password: <password>
Frontend
Per ottenere le credenziali del database dal vault per il frontend di Zabbix, specificare i seguenti parametri durante l'installazione del frontend.
- Al passaggio Configure DB Connection, impostare il parametro Store credentials in su "CyberArk Vault".

- Quindi, compilare i parametri aggiuntivi:
| Parameter | Mandatory | Default value | Description |
|---|---|---|---|
| Vault API endpoint | yes | https://localhost:1858 | Specificare l'URL per la connessione al vault nel formato scheme://host:port |
| Vault prefix | no | /AIMWebService/api/Accounts? | Fornire un prefisso personalizzato per il percorso o la query del vault. Se non specificato, viene usato quello predefinito. |
| Vault secret query string | yes | Una query che specifica da dove devono essere recuperate le credenziali del database. Esempio: AppID=foo&Query=Safe=bar;Object=buzz |
|
| Vault certificates | no | Dopo aver selezionato la casella di controllo, verranno visualizzati parametri aggiuntivi che consentono di configurare l'autenticazione del client. Sebbene questo parametro sia facoltativo, è fortemente consigliato abilitarlo per la comunicazione con CyberArk Vault. | |
| SSL certificate file | no | conf/certs/cyberark-cert.pem | Percorso del file del certificato SSL. Il file deve լինել in formato PEM. Se il file del certificato contiene anche la chiave privata, lasciare vuoto il parametro SSL key file. |
| SSL key file | no | conf/certs/cyberark-key.pem | Nome del file della chiave privata SSL utilizzata per l'autenticazione del client. Il file deve essere in formato PEM. |
Valori delle macro utente
Per usare CyberArk Vault per memorizzare i valori delle macro utente Vault secret, assicurati che:
- Zabbix server sia configurato per funzionare con CyberArk Vault;
- il parametro Vault provider in Administration > General > Other sia impostato su "CyberArk Vault".

Zabbix server (e Zabbix proxy, se configurato) richiedono l'accesso ai valori delle macro Vault secret dal vault. Zabbix frontend non necessita di tale accesso.
Il valore della macro dovrebbe contenere una query (come query:key).
Vedi Vault secret macros per informazioni dettagliate sull'elaborazione dei valori delle macro da parte di Zabbix.
Sintassi della query
Il simbolo dei due punti (":") è riservato per separare la query dalla chiave.
Se una query contiene al suo interno una barra obliqua o due punti, questi simboli devono essere codificati in URL ("/" viene codificato come "%2F", ":" viene codificato come "%3A").
Esempio
- In Zabbix, aggiungi una macro utente {$PASSWORD} di tipo Vault secret e con il valore
AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content

- Zabbix invierà la seguente richiesta API al 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
- La risposta del vault conterrà la chiave "Content":
{
"Content": <password>,
"UserName": <username>,
"Address": <address>,
"Database" :<Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
- Di conseguenza, Zabbix risolverà la macro {$PASSWORD} nel valore - <password>
Aggiornamento della configurazione esistente
Per aggiornare una configurazione esistente per il recupero dei segreti da un CyberArk Vault:
-
Aggiornare i parametri del file di configurazione del server o del proxy Zabbix come descritto nella sezione Database credentials.
-
Aggiornare le impostazioni di connessione al DB riconfigurando il frontend di Zabbix e specificando i parametri richiesti come descritto nella sezione Frontend. Per riconfigurare il frontend di Zabbix, aprire l'URL di configurazione del frontend nel browser:
- per Apache: http://<server_ip_or_name>/zabbix/setup.php
- per Nginx: http://<server_ip_or_name>/setup.php
In alternativa, questi parametri possono essere impostati nel file di configurazione del 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'] = '';
- Configurare le macro utente come descritto nella sezione User macro values, se necessario.
Per aggiornare una configurazione esistente per il recupero dei segreti da un HashiCorp Vault, vedere HashiCorp configuration.