1 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 viene 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 utilizzata solo se DBUser e DBPassword non sono specificati);
  • VaultTLSCertFile, VaultTLSKeyFile - nomi dei file del certificato e della chiave SSL; 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 vengono utilizzati anche per l'autenticazione al vault durante l'elaborazione delle macro del vault segreto da parte di Zabbix server (e di Zabbix proxy, se configurato). Zabbix server e i proxy non apriranno le macro del secret del vault 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
  1. 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?
  1. 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
  1. La risposta del vault conterrà le chiavi "Content" e "UserName":
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database": <Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. Di conseguenza, Zabbix utilizzerà le seguenti credenziali per l'autenticazione al database:
  • Nome utente: <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.

  1. Nel passaggio Configure DB Connection, impostare il parametro Store credentials in su "CyberArk Vault".

  1. Quindi, compilare i parametri aggiuntivi:
Parametro Obbligatorio Valore predefinito Descrizione
Endpoint API del vault https://localhost:1858 Specificare l'URL per la connessione al vault nel formato scheme://host:port
Prefisso del vault no /AIMWebService/api/Accounts? Fornire un prefisso personalizzato per il percorso o la query del vault. Se non specificato, viene utilizzato quello predefinito.
Stringa di query del segreto del vault Una query che specifica da dove devono essere recuperate le credenziali del database.
Esempio: AppID=foo&Query=Safe=bar;Object=buzz
Certificati del vault 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, è altamente consigliato abilitarlo per la comunicazione con il CyberArk Vault.
File del certificato SSL no conf/certs/cyberark-cert.pem Percorso del file del certificato SSL. Il file deve essere in formato PEM.
Se il file del certificato contiene anche la chiave privata, lasciare vuoto il parametro del file della chiave SSL.
File della chiave SSL no conf/certs/cyberark-key.pem Nome del file della chiave privata SSL utilizzato per l'autenticazione del client. Il file deve essere in formato PEM.

Valori delle macro utente

Per utilizzare CyberArk Vault per memorizzare i valori delle macro utente Vault secret, assicurarsi che:

Il server Zabbix (e il proxy Zabbix, se configurato) richiedono l'accesso ai valori delle macro Vault secret dal vault. Il frontend Zabbix non necessita di tale accesso.

Il valore della macro deve contenere una query (nel formato query:key).

Per informazioni dettagliate sull'elaborazione dei valori delle macro da parte di Zabbix, vedere Macro Vault secret.

Sintassi della query

Il simbolo dei due punti (":") è riservato per separare la query dalla chiave.

Se una query contiene a sua volta una barra obliqua o i due punti, questi simboli devono essere codificati tramite URL ("/" viene codificato come "%2F", ":" viene codificato come "%3A").

Esempio

  1. In Zabbix, aggiungere una macro utente {$PASSWORD} di tipo Vault secret con il valore AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content

  1. Zabbix invierà al vault la seguente richiesta API:
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 risposta del vault conterrà la chiave "Content":
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database" :<Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. Di conseguenza, Zabbix risolverà la macro {$PASSWORD} nel valore - <password>

Aggiornare una configurazione esistente

Per aggiornare una configurazione esistente per il recupero dei segreti da un Vault CyberArk:

  1. Aggiornare i parametri del file di configurazione del server o del proxy Zabbix come descritto nella sezione Credenziali del database.

  2. Aggiornare le impostazioni di connessione al DB riconfigurando il frontend Zabbix e specificando i parametri richiesti come descritto nella sezione Frontend. Per riconfigurare il frontend Zabbix, aprire nel browser l'URL di configurazione del frontend:

  • 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']             = '';
  1. Configurare le macro utente come descritto nella sezione Valori delle macro utente, se necessario.

Per aggiornare una configurazione esistente per il recupero dei segreti da un Vault HashiCorp, vedere Configurazione HashiCorp.