2 Конфигурација PostgreSQL енкрипције

Преглед

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

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

Предуслови

Инсталирајте PostgreSQL базу података користећи официјални репозиторијум.

PostgreSQL није конфигурисан за прихватање TLS конекцијеout-of-the-box. Пратите упутства из PostgreSQL документације за израду сертификата са postgresql.conf и такође за контролу корисничког приступа преко ph_hba.conf.

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

PostgreSQL подешавања за све режиме може изгледати овако:

/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: ... ### захтевано hostssl all all 0.0.0.0/0 md5

### верификација CA
       hostssl all all 0.0.0.0/0 md5 clientcert=verify-ca
       
       ### потврда потпуне
       hostssl all all 0.0.0.0/0 md5 clientcert=verify-full
       ...

Обавезан режим

Кориснички интерфејс

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

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

Сервер

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

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

Верификација CA режима

Кориснички интерфејс

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

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

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

Сервер

Да бисте омогућили шифровање са верификацијом сертификата за везе између 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
       ...

Верификација потпуног режима

Кориснички интерфејс

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

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

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

Сервер

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