2 PostgreSQL šifrēšanas konfigurācija

Pārskats

Šajā sadaļā ir sniegti vairāki šifrēšanas konfigurācijas piemēri CentOS 8.2 un PostgreSQL 13.

Savienojumu starp Zabbix lietotāja saskarne un PostgreSQL nevar šifrēt (parametri GUI ir atspējoti), ja lauka Database host vērtība sākas ar slīpsvītru vai lauks ir tukšs.

Priekšnosacījumi

Instalējiet PostgreSQL datubāzi, izmantojot oficiālo repozitoriju.

Pēc noklusējuma PostgreSQL nav konfigurēts TLS savienojumu pieņemšanai. Lūdzu, sekojiet PostgreSQL dokumentācijas norādījumiem par sertifikāta sagatavošanu ar postgresql.conf un arī par lietotāju piekļuves kontroli caur ph_hba.conf.

Pēc noklusējuma PostgreSQL ligzda ir piesaistīta localhost, lai tīkla attālinātie savienojumi ļautu klausīties reālajā tīkla saskarnē.

PostgreSQL iestatījumi visiem režīmiem var izskatīties šādi:

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

Piekļuves kontrolei pielāgojiet /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
...

Tikai transporta šifrēšana

Lietotāja saskarne

Lai iespējotu tikai transporta šifrēšanu savienojumiem starp Zabbix lietotāja saskarni un datubāzi:

  • Atzīmējiet Datubāzes TLS šifrēšana
  • Atstājiet Pārbaudīt datubāzes sertifikātu neatzīmētu

Serveris

Lai iespējotu tikai transporta šifrēšanu savienojumiem starp serveri un datubāzi, konfigurējiet /etc/zabbix/zabbix_server.conf:

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

Šifrēšana ar sertifikātu iestādes verifikāciju

Lietotāja saskarne

Lai iespējotu šifrēšanu ar sertifikātu iestādes verifikāciju savienojumiem starp Zabbix lietotāja saskarni un datubāzi:

  • Atzīmējiet Database TLS encryption un Verify database certificate
  • Norādiet Database TLS CA file ceļu

Alternatīvi to var iestatīt failā /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'] = '';
...

Serveris

Lai iespējotu šifrēšanu ar sertifikāta verifikāciju savienojumiem starp Zabbix serveris un datubāzi, konfigurējiet /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
...

Šifrēšana ar pilnu verifikāciju

Lietotāja saskarne

Lai iespējotu šifrēšanu ar sertifikātu un datubāzes resursdatora identitātes pārbaudi savienojumiem starp Zabbix lietotāja saskarni un datubāzi:

  • Atzīmējiet Database TLS encryption un Verify database certificate
  • Norādiet ceļu uz Database TLS key file
  • Norādiet ceļu uz Database TLS CA file
  • Norādiet ceļu uz Database TLS certificate file
  • Atzīmējiet Database host verification

Alternatīvi to var iestatīt failā /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'] = '';
...

Serveris

Lai iespējotu šifrēšanu ar sertifikātu un datubāzes host identitātes pārbaudi savienojumiem starp Zabbix serveris un datubāzi, konfigurējiet /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
...