#2 PostgreSQL-coderingsconfiguratie [commentaar]: # (tags: ssl)
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.
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
...
Om alleen-transportversleuteling in te schakelen voor verbindingen tussen Zabbix frontend en de database:
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
...
Versleuteling inschakelen met verificatie van de certificeringsinstantie voor: verbindingen tussen Zabbix frontend en de database:
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'] = '';
...
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
...
Versleuteling inschakelen met certificaat en databasehostidentiteit verificatie voor verbindingen tussen Zabbix frontend en de database:
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'] = '';
...
Versleuteling inschakelen met certificaat en databasehostidentiteit verificatie voor verbindingen tussen Zabbix-server en de database, configureer /etc/zabbix/zabbix_server.conf: