[comment]: # translation:outdated

[comment]: # ({f65323a6-f65323a6})
# 2 Конфигурација PostgreSQL енкрипције

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

[comment]: # ({63be0cfa-63be0cfa})
### Преглед

Ова секција пружа неколико примера конфигурације шифровања за
CentOS 8.2 и PostgreSQL 13.

::: noteclassic
 Веза између Zabbix корисничког интерфејса и PostgreSQL-а не може бити
шифрована (параметри у GUI су онемогућени), ако вредност поља *Домаћина
базе података* почиње косом цртом или је поље празно.
:::

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

[comment]: # ({5bd8b8ac-47df7706})
### Предуслови

Инсталирајте PostgreSQL базу података користећи [званични репозиторијум](https://www.postgresql.org/download/linux/redhat/).

PostgreSQL није конфигурисан да прихвата TLS конекције одмах по инсталацији.
Молимо вас да пратите упутства из PostgreSQL документације за
[припрему сертификата помоћу 
postgresql.conf](https://www.postgresql.org/docs/13/ssl-tcp.html) 
и такође за [контролу приступа 
корисника](https://www.postgresql.org/docs/13/auth-pg-hba-conf.html)
преко ph\_hba.conf.

Подразумевано, PostgreSQL сокет је везан за локалног домаћина, како би удаљене мрежне везе омогућиле слушање на стварном мрежном интерфејсу.

PostgreSQL подешавања за све 
[режиме](/manual/appendix/install/db_encrypt#terminology) могу изгледати овако:

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

За контролу приступа подесите */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
     ...

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

[comment]: # ({7b44fd81-fda36821})
### Шифровање само за транспорт

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

[comment]: # ({3c0e876a-3c0e876a})
#### Кориснички интерфејс

Да бисте омогућили шифровање само за транспорт за везе између Zabbix
корисничког интерфејса и база података:

-  Проверите * Шифровање TLS базе података*
-  Оставите *Провери сертификат базе података* неозначеним

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

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

[comment]: # ({99c0e65b-99c0e65b})
#### Сервер

Да бисте омогућили шифровање само за транспорт за везе између сервера и
базе података, конфигуришите */etc/zabbix/zabbix\_server.conf*:

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

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

[comment]: # ({68301bc1-ef3e06b2})
### Шифровање са верификацијом ауторитета за сертификат

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

[comment]: # ({ebbac498-e8c8dbd8})
#### Кориснички интерфејс

Да бисте омогућили шифровање са верификацијом ауторитета за сертификате за
везе између Zabbix корисничког интерфејса и базе података:

- Проверите * TLS шифровање базе података* и *Верификовање сертификата базе података*
- Наведите путању до *TLS CA датотеке базе података*

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

Алтернативно, ово се може подесити у */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'] = '';
    ...

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

[comment]: # ({bbddedec-bbddedec})
#### Сервер

Да бисте омогућили шифровање са верификацијом сертификата за везе
између Zabbix сервера и базе података, конфигуришите
*/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]: # ({edf12bed-ef07b8a6})
### Шифровање са потпуном верификацијом

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

[comment]: # ({83615cf7-83615cf7})
#### Кориснички интерфејс

Да бисте омогућили шифровање са сертификатом и идентитетом домаћина базе података
верификација веза између Zabbix корисничког интерфејса и базе података:

- Проверите *Шифровање TLS базе података* и *Верификујте сертификат базе података*
- Наведите путању до *Кључ TLS датотеке базе података*
- Наведите путању до *Датотеке TLS CA базе података*
- Одредите путању до *Датотеке TLS сертификата базе података*
- Проверите *верификацију домаћина базе података*

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

Алтернативно, ово се може подесити у */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'] = '';
    ...

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

[comment]: # ({61b8c8f3-61b8c8f3})
#### Сервер

Да бисте омогућили шифровање са сертификатом и идентитетом
домаћина базе података Zabbix сервера и базе података, 
конфигуришите */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
    ...

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