Neste post será apresentado como configurar a criptografia na comunicação agente / servidor no Zabbix.
Devemos utilizar esta feature caso seja algo caso de que é necessário o seu uso , pois segundo o manual do Zabbix uma consulta que em texto plano demora 200ms para ter resposta pode chegar a 1000ms com o uso da criptografia. Isso pode causar timeout em alguns itens e scripts, que devem ser ajustados para evitar problemas.
1) Habilitando o suporte SSL no servidor e agente
Instale o openssl no servidor / agente do Zabbix
yum install openssl openssl-libs openssl-devel
1.2 ) Compilando via source para dar suporte SSL
Na linha de compilação foi adicionado –with-openssl
Compilação do Servidor
./configure --enable-server --enable-agent --prefix=/usr/local --sysconfdir=/etc --enable-java --with-libcurl --with-net-snmp --with-iconv --with-libxml2 --with-mysql --with-openssl
Compilação do Agente Linux
./configure --enable-agent --sysconfdir=/etc --with-openssl
1.3 ) Agente Windows
Baixe a versão pré-compilada com suporte no site do Zabbix
x86: https://support.zabbix.com/secure/attachment/40104/Zabbix-3.0.1-with-OpenSSL-1.0.2c-x86.zip
x64: https://support.zabbix.com/secure/attachment/40105/Zabbix-3.0.1-with-OpenSSL-1.0.2f-x64.zip
OBS : As versões instaladas via RPM ou DEB já tem suporte.
2) Encriptação PSK Chaves Pré-Compartilhadas :
A configuração PSK consiste de uma identidade PSK e chave. A identidade é uma cadeia que não é considerada secreta não é criptografado durante a comunicação, por isso não coloque informação confidencial na cadeia de identidade. A chave é uma cadeia hexadecimal.
Com esta definição temos um tempo rápido maior se comparado com os certificados digitais , porém o registro da chave podemos ver via interface web logado e diretamente no banco de dados .
O Zabbix requer a chave que seja pelo menos 32 caracteres. e no máximo no Zabbix de 512 caracteres.
2.1) Configurando o Agente para PSK :
Crie a chave com o comando abaixo :
openssl rand -hex 32 > /etc/zabbix/zabbix-agent.psk
Guarde chave criada para configur o host na interface web
Adicione as linhas abaixo na configuração do Agent , lembrando que o TLSPSKIdentity é a identificação da chave e será utilizada na interface web.
TLSConnect=psk TLSAccept=psk TLSPSKIdentity=PSK01 TLSPSKFile=/etc/zabbix/zabbix-agent.psk
Adicione via interface web configurando a aba Encryption :
2.2) Configuração do PSK :
Conforme dito anteriormente, a chave também pode ser vista no banco.
Select utilizado para encontrar o objeto lxczbx-01
select * from hosts where name='lxczbx-01' \G ;
Referências
https://www.zabbix.com/documentation/3.0/manual/encryption/using_pre_shared_keys