Configuração do CyberArk

Esta seção explica como configurar o Zabbix para recuperar segredos do CyberArk Vault CV12.

O vault deve ser instalado e configurado conforme descrito na documentação oficial do CyberArk.

Para saber mais sobre a configuração de TLS no Zabbix, consulte Armazenamento de segredos.

Credenciais do banco de dados

O acesso a um segredo com credenciais do banco de dados é configurado separadamente para cada componente do Zabbix.

Server e proxies

Para obter credenciais do banco de dados do cofre para o Zabbix server ou proxy, especifique os seguintes parâmetros de configuração no arquivo de configuração:

  • Vault - qual provedor de cofre deve ser usado;
  • VaultURL - URL HTTP[S] do servidor do cofre;
  • VaultDBPath - consulta ao segredo do cofre que contém as credenciais do banco de dados, as quais serão recuperadas pelas chaves "Content" e "UserName" (esta opção só pode ser usada se DBUser e DBPassword não estiverem especificados);
  • VaultTLSCertFile, VaultTLSKeyFile - nomes dos arquivos do certificado SSL e da chave; a configuração dessas opções não é obrigatória, mas é altamente recomendada;
  • VaultPrefix - prefixo personalizado para o caminho ou consulta do cofre, dependendo do cofre; se não for especificado, será usado o padrão mais adequado.

Os parâmetros de configuração Vault, VaultURL, VaultTLSCertFile, VaultTLSKeyFile e VaultPrefix também são usados para autenticação no cofre ao processar macros de cofre de segredos pelo Zabbix server (e pelo Zabbix proxy, se configurado). O Zabbix server e os proxies não abrirão macros de segredo do cofre que contenham credenciais de banco de dados de VaultDBPath.

O Zabbix server e o Zabbix proxy leem os parâmetros de configuração relacionados ao cofre dos arquivos zabbix_server.conf e zabbix_proxy.conf na inicialização.

Exemplo
  1. Em zabbix_server.conf, especifique os seguintes parâmetros:
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. O Zabbix enviará a seguinte solicitação de API para o 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. A resposta do vault conterá as chaves "Content" e "UserName":
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database": <Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. Como resultado, o Zabbix usará as seguintes credenciais para autenticação no banco de dados:
  • Username: <username>
  • Password: <password>

Frontend

Para obter as credenciais do banco de dados do vault para o frontend do Zabbix, especifique os seguintes parâmetros durante a instalação do frontend.

  1. Na etapa Configurar conexão com o BD, defina o parâmetro Armazenar credenciais em como "CyberArk Vault".

  1. Em seguida, preencha os parâmetros adicionais:
Parâmetro Obrigatório Valor padrão Descrição
Endpoint da API do Vault sim https://localhost:1858 Especifique a URL para conectar ao vault no formato scheme://host:port
Prefixo do Vault não /AIMWebService/api/Accounts? Forneça um prefixo personalizado para o caminho ou consulta do vault. Se não for especificado, o padrão será usado.
String de consulta do segredo do Vault sim Uma consulta que especifica de onde as credenciais do banco de dados devem ser recuperadas.
Exemplo: AppID=foo&Query=Safe=bar;Object=buzz
Certificados do Vault não Após marcar a caixa de seleção, parâmetros adicionais aparecerão permitindo configurar a autenticação do cliente. Embora este parâmetro seja opcional, é altamente recomendável habilitá-lo para comunicação com o CyberArk Vault.
Arquivo de certificado SSL não conf/certs/cyberark-cert.pem Caminho para o arquivo de certificado SSL. O arquivo deve estar no formato PEM.
Se o arquivo de certificado também contiver a chave privada, deixe o parâmetro do arquivo de chave SSL vazio.
Arquivo de chave SSL não conf/certs/cyberark-key.pem Nome do arquivo de chave privada SSL usado para autenticação do cliente. O arquivo deve estar no formato PEM.

Valores de macro de usuário

Para usar o CyberArk Vault para armazenar valores de macro de usuário Vault secret, certifique-se de que:

O Zabbix server (e o Zabbix proxy, se configurado) requer acesso aos valores de macro Vault secret no cofre. O Zabbix frontend não precisa desse acesso.

O valor da macro deve conter uma consulta (como query:key).

Consulte Vault secret macros para obter informações detalhadas sobre o processamento do valor da macro pelo Zabbix.

Sintaxe da consulta

O símbolo de dois pontos (":") é reservado para separar a consulta da chave.

Se uma consulta contiver uma barra ou dois pontos, esses símbolos devem ser codificados em URL ("/" é codificado como "%2F", ":" é codificado como "%3A").

Exemplo

  1. No Zabbix, adicione uma macro de usuário {$PASSWORD} do tipo Vault secret e com o valor AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content

  1. O Zabbix enviará a seguinte solicitação de API para o 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. A resposta do vault conterá a chave "Content":
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database" :<Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
  1. Como resultado, o Zabbix irá resolver a macro {$PASSWORD} para o valor - <password>

Atualizar configuração existente

Para atualizar uma configuração existente para recuperar segredos de um CyberArk Vault:

  1. Atualize os parâmetros do arquivo de configuração do server ou proxy do Zabbix, conforme descrito na seção Database credentials.

  2. Atualize as configurações de conexão com o banco de dados reconfigurando o frontend do Zabbix e especificando os parâmetros necessários, conforme descrito na seção Frontend. Para reconfigurar o frontend do Zabbix, abra a URL de configuração do frontend no navegador:

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

Como alternativa, esses parâmetros podem ser definidos no arquivo de configuração do 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. Configure as macros de usuário conforme descrito na seção User macro values, se necessário.

Para atualizar uma configuração existente para recuperar segredos de um HashiCorp Vault, consulte HashiCorp configuration.