Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

2 Configuração de criptografia do PostgreSQL

Visão geral

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.

Pré-requisitos

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 as conexões remotas de rede permitirem a escuta 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
       ...

Criptografia apenas de transporte

Frontend

Para habilitar a criptografia apenas de transporte para conexões entre o frontend do Zabbix e o banco de dados:

  • Marque Criptografia TLS do banco de dados
  • Deixe Verificar certificado do banco de dados desmarcado

Server

Para habilitar a criptografia apenas para transporte nas conexões entre o 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=required
       ...

Criptografia com verificação de autoridade de certificação

Frontend

Para habilitar a criptografia com verificação de autoridade certificadora para conexões entre o frontend do Zabbix e o banco de dados:

  • Marque Criptografia TLS do banco de dados e Verificar certificado do banco de dados
  • Especifique o caminho para o Arquivo CA TLS do 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'] = '';
       ...

Server

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
       ...

Criptografia com verificação completa

Frontend

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:

  • Marque Criptografia TLS do banco de dados e Verificar certificado do banco de dados
  • Especifique o caminho para o Arquivo de chave TLS do banco de dados
  • Especifique o caminho para o Arquivo CA TLS do banco de dados
  • Especifique o caminho para o Arquivo de certificado TLS do banco de dados
  • Marque Verificação do host do 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'] = '';
       ...

Server

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:

...
       DBHost=10.211.55.9
       DBName=zabbix
       DBUser=zbx_srv
       DBPassword=<strong_password>
       DBTLSConnect=verify_full
       DBTLSCAFile=/etc/ssl/pgsql/root.crt
       DBTLSCertFile=/etc/ssl/pgsql/client.crt
       DBTLSKeyFile=/etc/ssl/pgsql/client.key
       ...