É possível armazenar algumas informações confidenciais secretamente na HashiCorp Mecanismo de segredos do Vault KV - Versão 2. Os segredos podem ser salvos para:
O Zabbix fornece acesso somente leitura aos segredos no Vault, assumindo que segredos são gerenciados por outra pessoa.
É possível armazenar valores de macro do usuário secretamente no Vault.
Um "segredo do Vault" valor de uma macro de usuário contém um caminho de referência (como 'path:key', para exemplo "secret/zabbix:password").
Os seguintes comandos podem ser usados para definir o valor para o caminho mencionado no exemplo:
# Habilite o ponto de montagem "secret/" se ainda não estiver habilitado, observe que "kv-v2" deve ser usado
$ segredos do cofre habilitam -path=secret/ kv-v2
# Coloque o novo segredo com a senha da chave no ponto de montagem "secret/" e caminho "secret/zabbix"
$ vault kv colocar secret/zabbix password=<senha>
# Testa se o segredo foi adicionado com sucesso
$ vault kv obter segredo/zabbix
# Finalmente teste com Curl, observe que "data" precisa ser adicionado manualmente após o ponto de montagem e "/v1" antes do ponto de montagem, veja também o parâmetro --capath
$ curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix
O valor secreto é recuperado pelo servidor Zabbix em cada atualização de dados de configuração e é armazenado no cache de configuração. O token de autenticação para um acesso somente leitura aos caminhos de referência deve ser fornecido na configuração do servidor (parâmetro 'VaultToken'). Se o o valor da macro não pode ser recuperado com sucesso o item correspondente usar o valor ficará incompatível.
Também é possível acionar a atualização de valores secretos do Vault, usando uma linha de comando 'secrets_reload' opção.
O proxy Zabbix nunca se comunica com o Vault para obter outros segredos além credenciais do banco de dados. Valores secretos no proxy Zabbix são recuperados de Servidor Zabbix em cada sincronização de configuração e armazenado na configuração cache da mesma forma que no servidor Zabbix.
Isso significa que um proxy Zabbix não pode iniciar a coleta de dados após uma reinicialização até receber a atualização dos dados de configuração do servidor Zabbix para a primeira vez. A criptografia deve ser habilitada entre o servidor Zabbix e procuração; caso contrário, uma mensagem de aviso do servidor é registrada.
É suportado para armazenar credenciais de banco de dados usadas pelo servidor Zabbix, proxies e frontend secretamente no Vault:
As credenciais do banco de dados recuperadas do Vault serão armazenadas em cache pelo a parte dianteira. Observe que o diretório de arquivos temporários do sistema de arquivos é usado para cache de credencial de banco de dados no frontend. Você pode usar o ZBX_DATA_CACHE_TTL constante para controlar com que frequência o cache de dados é atualizado/invalidado.
Os seguintes comandos podem ser usados para definir os valores para o caminho mencionado no exemplo:
# Habilite o ponto de montagem "secret/" se ainda não estiver habilitado, observe que "kv-v2" deve ser usado
$ segredos do cofre habilitam -path=secret/ kv-v2
# Coloque novos segredos com as chaves nome de usuário e senha no ponto de montagem "secret/" e caminho "secret/zabbix/database"
$ vault kv colocar secret/zabbix/database username=zabbix password=<senha>
# Testa se o segredo foi adicionado com sucesso
$ vault kv obter secret/zabbix/database
# Finalmente teste com Curl, observe que "data" precisa ser adicionado manualmente após o ponto de montagem e "/v1" antes do ponto de montagem, veja também o parâmetro --capath
$ curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix/database
Para o servidor/proxy Zabbix, novos parâmetros de configuração foram adicionados para Autenticação de cofre e recuperação de credenciais de banco de dados:
O servidor Zabbix e o proxy Zabbix lêem a configuração relacionada ao Vault parâmetros de zabbix_server.conf e zabbix_proxy.conf na inicialização.
O servidor Zabbix e o proxy Zabbix lerão adicionalmente "VAULT_TOKEN" variável de ambiente uma vez durante a inicialização e desmarque-a para que não estar disponível através de scripts bifurcados; é um erro se ambos VaultToken e VAULT_TOKEN contêm valor.
Barra e dois pontos são símbolos reservados. Barra só pode ser usado para separar o ponto de montagem do caminho (por exemplo, secret/zabbix onde o ponto de montagem é "secreto" e "zabbix" é o caminho) e, no caso de Macros de cofre, dois pontos só podem ser usados para separar o caminho da chave. Isto é possível codificar URL "/" e ":" se houver necessidade de criar ponto com nome separado por barra (por exemplo foo/bar/zabbix onde o ponto de montagem é "foo/bar" e o caminho é "zabbix" como "foo%2Fbar/zabbix") e se o nome ou caminho do ponto de montagem precisar conter cólon.
O certificado assinado por uma autoridade de certificação (CA) deve ser adicionado ao o armazenamento CA padrão. Alternativamente, um local de armazenamento CA personalizado pode ser especificado usando o parâmetro de configuração SSLCALocation; note que em neste caso, o diretório de certificados deve ser preparado usando o openssl utilitário c_rehash, por exemplo, configure SSLCALocation e copie "ca.pem" dentro desse diretório, execute o seguinte comando: