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.

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

Pēc noklusējuma PostgreSQL ligzda ir piesaistīta localhost; lai atļautu attālinātus tīkla savienojumus, iespējojiet klausīšanos 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 datu bā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ācijas 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 ceļu uz Database TLS CA file

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 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=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 hosta 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 hosta identitātes pārbaudi savienojumiem starp Zabbix 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=verify_full
DBTLSCAFile=/etc/ssl/pgsql/root.crt
DBTLSCertFile=/etc/ssl/pgsql/client.crt
DBTLSKeyFile=/etc/ssl/pgsql/client.key
...