Esta seção fornece vários exemplos de configuração de criptografia para CentOS 8.2 e PostgreSQL 13.
A conexão entre o frontend do Zabbix e o PostgreSQL não pode ser criptografada (os parâmetros na interface gráfica estão desabilitados) se o valor do campo Database host começar com uma barra ou se o campo estiver vazio.
Instale o banco de dados PostgreSQL usando o repositório oficial.
O PostgreSQL não está configurado para aceitar conexões TLS por padrão. Siga as instruções da documentação do PostgreSQL para preparação de certificado com postgresql.conf e também para controle de acesso de usuário através do ph_hba.conf.
Por padrão, o socket do PostgreSQL está vinculado ao localhost, para permitir conexões remotas de rede, permita escutar na interface de rede real.
As configurações do PostgreSQL para todos os modos podem ser assim:
/var/lib/pgsql/13/data/postgresql.conf:
...
ssl = on
ssl_ca_file = 'root.crt'
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'
ssl_prefer_server_ciphers = on
ssl_min_protocol_version = 'TLSv1.3'
...Para controle de acesso ajuste /var/lib/pgsql/13/data/pg_hba.conf:
...
### require
hostssl all all 0.0.0.0/0 md5
### verify CA
hostssl all all 0.0.0.0/0 md5 clientcert=verify-ca
### verify full
hostssl all all 0.0.0.0/0 md5 clientcert=verify-full
...Para habilitar a criptografia apenas de transporte para conexões entre o frontend do Zabbix e o banco de dados:

Para habilitar a criptografia apenas de transporte para conexões entre o servidor e o banco de dados, configure /etc/zabbix/zabbix_server.conf:
...
DBHost=10.211.55.9
DBName=zabbix
DBUser=zbx_srv
DBPassword=<strong_password>
DBTLSConnect=required
...Para habilitar a criptografia com verificação de autoridade certificadora para conexões entre o frontend do Zabbix e o banco de dados:

Alternativamente, isso pode ser definido em /etc/zabbix/web/zabbix.conf.php:
...
$DB['ENCRYPTION'] = true;
$DB['KEY_FILE'] = '';
$DB['CERT_FILE'] = '';
$DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt';
$DB['VERIFY_HOST'] = false;
$DB['CIPHER_LIST'] = '';
...Para habilitar a criptografia com verificação de certificado para conexões entre o Zabbix server e o banco de dados, configure /etc/zabbix/zabbix_server.conf:
...
DBHost=10.211.55.9
DBName=zabbix
DBUser=zbx_srv
DBPassword=<strong_password>
DBTLSConnect=verify_ca
DBTLSCAFile=/etc/ssl/pgsql/root.crt
...Para habilitar a criptografia com certificado e verificação de identidade do host do banco de dados para conexões entre o frontend do Zabbix e o banco de dados:

Alternativamente, isso pode ser definido em /etc/zabbix/web/zabbix.conf.php:
$DB['ENCRYPTION'] = true;
$DB['KEY_FILE'] = '';
$DB['CERT_FILE'] = '';
$DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt';
$DB['VERIFY_HOST'] = true;
$DB['CIPHER_LIST'] = '';
...Para habilitar a criptografia com verificação de certificado e identidade do host do banco de dados para conexões entre o Zabbix server e o banco de dados, configure /etc/zabbix/zabbix_server.conf: