Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

2 Configuración de cifrado PostgreSQL

Descripción general

Esta sección proporciona varios ejemplos de configuración de cifrado para CentOS 8.2 y PostgreSQL 13.

La conexión entre la interfaz de Zabbix y PostgreSQL no se puede cifrar (los parámetros en la GUI están deshabilitados), si el valor de Equipo de Base de datos comienza con una barra o el campo está vacío.

Requisitos previos

Instale la base de datos PostgreSQL utilizando el repositorio oficial.

PostgreSQL no está configurado para aceptar conexiones TLS por defecto. Por favor, siga las instrucciones de la documentación de PostgreSQL para la preparación de certificados con postgresql.conf y también para el control de acceso de usuarios a través de ph_hba.conf.

Por defecto, el socket de PostgreSQL está vinculado a localhost, para que las conexiones remotas de red permitan escuchar en la interfaz de red real.

La configuración de PostgreSQL para todos los modos puede verse así:

/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 el control de acceso 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
       ...

Cifrado solo de transporte

Interfaz

Para habilitar el cifrado de solo el transporte para conexiones entre la interfaz de Zabbix y la base de datos:

  • Marque Cifrado TLS de la base de datos
  • Deje Verificar certificado de base de datos sin marcar

Servidor

Para habilitar el cifrado de solo transporte para las conexiones entre el servidor y la base de datos, configure /etc/zabbix/zabbix_server.conf:

...
       DBHost=10.211.55.9
       DBName=zabbix
       DBUser=zbx_srv
       DBPassword=<strong_password>
       DBTLSConnect=required
       ...

Cifrado con verificación de autoridad de certificación

Interfaz

Para habilitar el cifrado con verificación de la autoridad certificadora para conexiones entre la interfaz de Zabbix y la base de datos:

  • Verifique Cifrado TLS de base de datos y Verificar certificado de base de datos
  • Especifique la ruta al archivo CA TLS de base de datos

Alternativamente, esto se puede configurar en /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'] = '';
       ...

Servidor

Para habilitar el cifrado con verificación de certificado para conexiones entre el servidor Zabbix y la base de datos, 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
       ...

Cifrado con verificación completa

Interfaz

Para habilitar el cifrado con certificado y la verificación de identidad del equipo de la base de datos para las conexiones entre la interfaz de Zabbix y la base de datos:

  • Verifique Cifrado TLS de base de datos y Verificar certificado de base de datos
  • Especifique la ruta al archivo de clave TLS de la base de datos
  • Especifique la ruta al archivo CA TLS de base de datos
  • Especifique la ruta al archivo de certificado TLS de base de datos
  • Marque Verificación del equipo de la base de datos

Alternativamente, esto se puede configurar en /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'] = '';
       ...

Servidor

Para habilitar el cifrado con certificado y verificación de la identidad del equipo de la base de datos para conexiones entre el servidor Zabbix y la base de datos, configure /etc/zabbix/zabbix_server.conf:

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