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: