Você está visualizando a documentação da versão de desenvolvimento, ela pode estar incompleta.
Junte-se ao nosso projeto de tradução e ajude a traduzir a documentação do Zabbix em sua língua nativa.

6 Conexão segura com o frontend

Visão geral

Esta seção fornece etapas de configuração do Zabbix e exemplos de configuração para conexões TLS seguras entre o frontend do Zabbix e o server do Zabbix.

Configuração

Por padrão, a comunicação entre o frontend do Zabbix e o server do Zabbix não é criptografada. Para maior segurança, habilite o TLS em ambos os lados. Abaixo está um exemplo da maneira mais simples de fazer isso.

1. Gere certificados e chaves.

Crie um diretório de trabalho:

sudo mkdir -p /etc/zabbix/ssl && cd /etc/zabbix/ssl

Crie um certificado CA (ajuste o valor MyZabbixCA para corresponder ao nome comum real):

sudo openssl genrsa -out ca.key 4096
       sudo openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -subj "/CN=MyZabbixCA/"

Gere uma chave privada e um certificado para o server do Zabbix (ajuste o valor zabbix-server.example.com para corresponder ao nome comum real):

sudo openssl genrsa -out server.key 2048
       sudo openssl req -new -key server.key -out server.csr -subj "/CN=zabbix-server.example.com/"
       sudo openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -sha256 -out server.crt

Gere uma chave privada e um certificado para o frontend do Zabbix (ajuste o valor zabbix-frontend-node para corresponder ao nome comum real):

sudo openssl genrsa -out frontend.key 2048
       sudo openssl req -new -key frontend.key -out frontend.csr -subj "/CN=zabbix-frontend-node/"
       sudo openssl x509 -req -days 365 -in frontend.csr -CA ca.crt -CAkey ca.key -CAcreateserial -sha256 -out frontend.crt

2. Defina as permissões adequadas.

Para o server do Zabbix (ajuste o proprietário/grupo de acordo com o usuário do daemon do server do Zabbix da sua distribuição):

sudo chown root:zabbix /etc/zabbix/ssl/server.{crt,key} /etc/zabbix/ssl/ca.crt
       sudo chmod 640 /etc/zabbix/ssl/server.key
       sudo chmod 644 /etc/zabbix/ssl/server.crt /etc/zabbix/ssl/ca.crt

Para o frontend (ajuste o proprietário/grupo de acordo com o usuário do servidor web da sua distribuição):

sudo chown root:www-data /etc/zabbix/ssl/frontend.{crt,key}
       sudo chmod 640 /etc/zabbix/ssl/frontend.key
       sudo chmod 644 /etc/zabbix/ssl/frontend.crt

3. Configure o server do Zabbix.

No zabbix_server.conf adicione:

TLSFrontendAccept=cert
       TLSCertFile=/etc/zabbix/ssl/server.crt
       TLSKeyFile=/etc/zabbix/ssl/server.key
       TLSCAFile=/etc/zabbix/ssl/ca.crt
       # Opcionalmente:
       # TLSFrontendCertIssuer=/CN=MyZabbixCA/
       # TLSFrontendCertSubject=/CN=zabbix-frontend-node/

Em seguida, reinicie o server:

sudo systemctl restart zabbix-server

4. Configure o frontend do Zabbix.

Durante a instalação da interface web, habilite a opção Criptografar conexões da interface web (e a opção Verificar emissor e assunto do certificado do servidor, se necessário) e preencha os campos Arquivo CA TLS, Arquivo de chave TLS, Arquivo de certificado TLS (e os campos Emissor do certificado TLS do servidor e Assunto do certificado TLS do servidor, se necessário):

Parâmetro Descrição
Arquivo CA TLS Especifique o caminho completo para o arquivo do certificado da Autoridade Certificadora (CA) usado para verificar o certificado do server.
Arquivo de chave TLS Especifique o caminho completo para o arquivo da chave privada do cliente correspondente ao certificado do cliente.
Arquivo de certificado TLS Especifique o caminho completo para o arquivo do certificado do cliente se a autenticação mútua TLS for necessária.
Emissor do certificado TLS do servidor Especifique um Nome Distinto (DN) do emissor para corresponder ao certificado do server.
Assunto do certificado TLS do servidor Especifique um Nome Distinto (DN) do assunto para corresponder ao certificado do server.

Em instalações existentes, edite os seguintes campos em zabbix.conf.php:

$ZBX_SERVER_TLS['ACTIVE'] = '1';
       $ZBX_SERVER_TLS['CA_FILE'] = '/etc/zabbix/ssl/ca.crt';
       $ZBX_SERVER_TLS['KEY_FILE'] = '/etc/zabbix/ssl/frontend.key';
       $ZBX_SERVER_TLS['CERT_FILE'] = '/etc/zabbix/ssl/frontend.crt';
       // Opcionalmente:
       // $ZBX_SERVER_TLS['CERTIFICATE_ISSUER']  = '/CN=MyZabbixCA/';
       // $ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] = '/CN=zabbix-server.example.com/';

5. Verifique a criptografia confirmando que não há mensagens de erro no frontend do Zabbix ou no arquivo de log do server do Zabbix:

tail -f /var/log/zabbix/zabbix_server.log