2 Configuració del xifrat PostgreSQL

Vista general

Aquesta secció mostra alguns exemples de configuració del xifrat per a CentOS 8.2 i PostgreSQL 13.

La connexió entre la interfície Zabbix i PostgreSQL no pot ésser xifrada (els paràmetres de la interfície gràfica són desactivats), si el valor del camp Equip de la base de dades comença amb una barra obliqua o si el camp és buit.

Pre-requisits

Instal·leu la base de dades PostgreSQL en base a la referència oficial.

PostgreSQL no és pas confiurada per defecte per admetre connexions TLS. Haureu de seguir les instruccions de la documentació PostgreSQL per preparar el certificat amb postgresql.conf, així com per el control d'accés d'usuari via ph_hba.conf.

Per defecte, el socket PostgreSQL és vinculat a l'equip local, doncs les connexions de xarxa a distància permeten escoltar per la interfície de xarxa real.

Els paràmetres PostgreSQL per tots els modes es troben aquí:

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

Per al control d'accés, refineu /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
       ...

Mode obligatori

Frontend

Per activar el xifrat de transport només per les connexions entre la interfície Zabbix i la base de dades:

  • Marqueu Xifrat TLS de la base de dades
  • Deixeu Verificar el certificat de la base de dades desmarcat

Servidor

Per activar el xifrat de transport només per les connexions entre el servidor i la base de dades, configureu /etc/zabbix/zabbix_server.conf :

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

Verificar el mode CA

Frontend

Per activar el xifrat amb verificació de l'autoritat de certificació per les connexions entre la interfície Zabbix i la base de dades:

  • Marqueu xifrat TLS de la base de dades i Verifiqueu el certificat de la base de dades
  • Especifiqueu la ruta d'accés a l'arxiu TLS CA de la base de dades

Alternativament, es pot definir a /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

Per activar el xifrat amb verificació de certificat per les connexions entre el servidor Zabbix i la base de dades, configureu /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
       ...

Verificar el mode Full

Frontend

Per activar el xifrat amb certificat i verificació per les connexions entre la interfície Zabbix i la base de dades:

  • Marqueu xifrat TLS de la base de dades i Verifiqueu el certificat de la base de dades
  • Especifiqueu la ruta d'accés a l'arxiu de clau TLS de la base de dades
  • Especifiqueu la ruta d'accés a l'arxiu CA TLS de la base de dades
  • Especifiqueu la ruta d'accés a l'arxiu de certificat TLS de la base de dades
  • Marqueu Verificació de l'equip de la base de dades

Alternativament, es pot definir a /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

Per activar el xifrat amb certificat i verificació de la identitat de l'equip de la base de dades per les connexions entre el servidor Zabbix i la base de dades, configureu /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
       ...