This is a translation of the original English documentation page. Help us make it better.

#2 PostgreSQL-coderingsconfiguratie [commentaar]: # (tags: ssl)

Overzicht

Dit gedeelte biedt verschillende voorbeelden van coderingsconfiguraties voor: CentOS 8.2 en PostgreSQL 13.

Verbinding tussen Zabbix frontend en PostgreSQL kan niet versleuteld (parameters in GUI zijn uitgeschakeld), als de waarde van Database host-veld begint met een schuine streep of het veld is leeg.

Vereisten

Installeer de PostgreSQL-database met behulp van de officiële repository.

PostgreSQL is niet geconfigureerd om standaard TLS-verbindingen te accepteren. Volg de instructies uit de PostgreSQL-documentatie voor: certificaat voorbereiding met postgresql.conf en ook voor gebruikerstoegang controle via ph_hba.conf.

Standaard is de PostgreSQL-socket gebonden aan de localhost, voor de externe netwerkverbindingen maken het mogelijk om op het echte netwerk te luisteren koppel.

PostgreSQL-instellingen voor iedereen modes kan er als volgt uitzien deze:

/var/lib/pgsql/13/data/postgresql.conf:

... ssl = aan ssl_ca_file = 'root.crt' ssl_cert_file = 'server.crt' ssl_key_file = 'server.key' ssl_ciphers = 'HOOG:MEDIUM:+3DES:!aNULL' ssl_prefer_server_ciphers = aan ssl_min_protocol_version = 'TLSv1.3' ...

Voor toegangscontrole pas /var/lib/pgsql/13/data/pg_hba.conf aan:

... ### vereisen hostssl alle alle 0.0.0.0/0 md5  ### verifieer CA hostssl alle alle 0.0.0.0/0 md5 clientcert=verify-ca  ### verifieer volledig hostssl alle alle 0.0.0.0/0 md5 clientcert=verify-full ...

Vereiste modus

Voorkant

Om alleen-transportversleuteling in te schakelen voor verbindingen tussen Zabbix frontend en de database:

  • Controleer Database TLS-codering
  • Laat Verifieer databasecertificaat niet aangevinkt

Server

Om alleen-transportversleuteling in te schakelen voor verbindingen tussen server en de database, configureer /etc/zabbix/zabbix_server.conf:

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

CA-modus verifiëren

Voorkant

Versleuteling inschakelen met verificatie van de certificeringsinstantie voor: verbindingen tussen Zabbix frontend en de database:

  • Controleer Database TLS-codering en Verifieer databasecertificaat
  • Geef het pad op naar Database TLS-sleutelbestand
  • Geef het pad op naar Database TLS CA-bestand
  • Geef het pad op naar Database TLS-certificaatbestand

Als alternatief kan dit worden ingesteld in /etc/zabbix/web/zabbix.conf.php:

... $DB['ENCRYPTIE'] = true; $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt'; $DB['VERIFY_HOST'] = false; $DB['CIPHER_LIST'] = ''; ...

Server

Versleuteling inschakelen met certificaatverificatie voor verbindingen tussen Zabbix-server en de database, 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 ...

Verifieer volledige modus

Voorkant

Versleuteling inschakelen met certificaat en databasehostidentiteit verificatie voor verbindingen tussen Zabbix frontend en de database:

  • Controleer Database TLS-codering en Verifieer databasecertificaat
  • Geef het pad op naar Database TLS-sleutelbestand
  • Geef het pad op naar Database TLS CA-bestand
  • Geef het pad op naar Database TLS-certificaatbestand
  • Controleer Database host verificatie

Als alternatief kan dit worden ingesteld in /etc/zabbix/web/zabbix.conf.php:

$DB['ENCRYPTIE'] = waar; $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt'; $DB['VERIFY_HOST'] = waar; $DB['CIPHER_LIST'] = ''; ...

Server

Versleuteling inschakelen met certificaat en databasehostidentiteit verificatie voor verbindingen tussen Zabbix-server en de database, configureer /etc/zabbix/zabbix_server.conf:

... DBHost=10.211.55.9 DBName=zabbix DBU-gebruiker=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 ...