[comment]: # translation:outdated

[comment]: # ({ebfc3dbc-ebfc3dbc})
#2 PostgreSQL-coderingsconfiguratie
[commentaar]: # (tags: ssl)

[comment]: # ({/ebfc3dbc-ebfc3dbc})

[comment]: # ({63be0cfa-63be0cfa})
### Overzicht

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

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

[comment]: # ({/63be0cfa-63be0cfa})

[comment]: # ({47df7706-47df7706})
### Vereisten

Installeer de PostgreSQL-database met behulp van de [officiële
repository](https://www.postgresql.org/download/linux/redhat/).

PostgreSQL is niet geconfigureerd om standaard TLS-verbindingen te accepteren.
Volg de instructies uit de PostgreSQL-documentatie voor:
[certificaat voorbereiding met
postgresql.conf](https://www.postgresql.org/docs/13/ssl-tcp.html) en
ook voor [gebruikerstoegang
controle](https://www.postgresql.org/docs/13/auth-pg-hba-conf.html)
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](/manual/appendix/install/db_encrypt#terminology) 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
    ...

[comment]: # ({/47df7706-47df7706})

[comment]: # ({fda36821-fda36821})
### Vereiste modus

[comment]: # ({/fda36821-fda36821})

[comment]: # ({3c0e876a-3c0e876a})
#### Voorkant

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

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

![](../../../../../assets/en/manual/appendix/install/encrypt_db_transport2.png){width="600"}

[comment]: # ({/3c0e876a-3c0e876a})

[comment]: # ({99c0e65b-99c0e65b})
#### 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
    ...

[comment]: # ({/99c0e65b-99c0e65b})

[comment]: # ({ef3e06b2-ef3e06b2})
### CA-modus verifiëren

[comment]: # ({/ef3e06b2-ef3e06b2})

[comment]: # ({e8c8dbd8-e8c8dbd8})
#### 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*

![](../../../../../assets/en/manual/appendix/install/encrypt_db_verify_ca2.png){width="600"}

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'] = '';
    ...

[comment]: # ({/e8c8dbd8-e8c8dbd8})

[comment]: # ({bbddedec-bbddedec})
#### 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
    ...

[comment]: # ({/bbddedec-bbddedec})

[comment]: # ({ef07b8a6-ef07b8a6})
### Verifieer volledige modus

[comment]: # ({/ef07b8a6-ef07b8a6})

[comment]: # ({83615cf7-83615cf7})
#### 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*

![](../../../../../assets/en/manual/appendix/install/encrypt_db_verify_full2.png){width="600"}

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'] = '';
    ...

[comment]: # ({/83615cf7-83615cf7})

[comment]: # ({61b8c8f3-61b8c8f3})
#### 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
    ...

[comment]: # ({/61b8c8f3-61b8c8f3})
