Ова секција пружа Zabbix кораке за подешавање и примере конфигурације за сигурне TLS везе између:
Database | Zabbix components |
---|---|
MySQL | Zabbix кориснички интерфејс, Zabbix сервер, Zabbix прокси |
PostgreSQL | Zabbix кориснички интерфејс, Zabbix сервер, Zabbix прокси |
Да бисте подесили шифровану везу унутар DBMS-а, погледајте званичну документацију произвођача за детаље:
Сви примери су засновани на GA издањима MySQL CE (8.0) and PgSQL (13) доступних преко званичних репозиторија који користе CentOS 8.
За подешавање шифровања потребно је следеће:
Препоручује се избегавање OS у статусу на крају животног века, посебно у случају нових инсталација
Постављање ове опције намеће коришћење TLS конекције са базом података из Zabbix server/proxy и корисничким интерфејсом за базу података:
required
- успостављање конекције коришћењем TLS-а као начин транспорта без провере идентитета;verify_ca
- успостављање конекције коришћењем TLS-а и провера сертификата;verify_full
- успостављање конекције коришћењем TLS-а, провера сертификата и провера да ли је идентитет базе података (CN) наведен у DBHost-у одговара њеном сертификату;Безбедна веза са базом података може се конфигурисати током инсталације корисничког интерфејса:
За MySQL, поље за потврду Database TLS encryption је онемогућено ако је Database host подешено на localhost, јер веза која користи socket file (на Unix-у) или дељену меморију (на Windows-у) не може бити шифрована.
За PostgreSQL, поље за потврду TLS encryption је онемогућено ако вредност поља Database host почиње косом цртом или је поље празно.
Следећи параметри постају доступни у TLS режиму шифровања у сертификатима (ако су оба поља за потврду означена):
Parameter | Description |
---|---|
Database TLS CA датотека | Наведите пуну путању до важеће датотеке TLS ауторитета за сертификат (CA). |
TLS датотека са кључем базе података | Наведите пуну путању до важеће TLS датотеке са кључем. |
TLS датотека са сертификатом базе података | Наведите пуну путању до важеће TLS датотеке са сертификатом. |
Верификација домаћина базе података | Означите ову кућицу да бисте активирали верификацију домаћина. Онемогућено за MYSQL, јер PHP MySQL библиотека не дозвољава прескакање корака валидације сертификата вршњака. |
Листа шифара базе података TLS | Наведите прилагођену листу важећих шифара. Формат листе шифара мора бити у складу са OpenSSL стандардом. Доступно само за MySQL. |
TLS параметри морају указивати на важеће датотеке. Ако указују на непостојеће или неважеће датотеке, то ће довести до грешке ауторизације.
Ако су датотеке сертификата доступне за писање, кориснички интерфејс генерише упозорење у извештају Системске информације да "TLS датотеке сертификата морају бити само за читање." (приказује се само ако је PHP корисник власник сертификата).
Сертификати заштићени лозинкама нису подржани.
Zabbix кориснички интерфејс користи GUI интерфејс за дефинисање могућих опција: required
,verify_ca
, verify_full
. Наведите потребне опције у кораку чаробњака за инсталацију Конфигуришите везе са базом података. Ове опције су мапиране на конфигурациону датотеку (zabbix.conf.php) на следећи начин:
GUI settings | Configuration file | Description |
---|---|---|
![]() |
... // Користи се за TLS везу. $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $DB['CA_FILE'] = ''; $DB['VERIFY_HOST'] = false; $DB['CIPHER_LIST'] = ''; ... |
Провери TLS базе података енкрипција Оставите Провери сертификат базе података неозначено |
![]() |
... $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $DB['CA_FILE'] = '/etc/ssl/mysql/ca.pem'; $DB['VERIFY_HOST'] = false; $DB['CIPHER_LIST'] = ''; ... |
1. Проверите TLS енкрипцију базе података и Провери сертификат базе података 2. Наведите путању до TLS CA датотеке базе података |
![]() |
... // Користи се за TLS везу са строго дефинисаном листом шифара. $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = '<путања_кључа_датотеке>'; $DB['CERT_FILE'] = '<путања_кључа_датотеке>'; $DB['CA_FILE'] = '<путања_кључа_датотеке>'; $DB['VERIFY_HOST'] = true; $DB['CIPHER_LIST'] = '<листа_шифри>'; ... Или: ... // Користи се за TLS везу без дефинисане листе шифара - бира је MySQL сервер $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = '<путања_датотеке_кључа>'; $DB['CERT_FILE'] = '<путања_датотеке_кључа>'; $DB['CA_FILE'] = '<путања_датотеке_кључа>'; $DB['VERIFY_HOST'] = true; $DB['CIPHER_LIST'] = ''; ... |
1. Проверите TLS шифровање базе података и Проверите сертификат базе података 2. Наведите путању до TLS датотеке кључа базе података 3. Наведите путању до Database TLS CA датотеке 4. Наведите путању до Database TLS датотеке сертификата 5. Наведите листу TLS шифара базе података (опционо) |
![]() |
... $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = '<путања_кључ_датотеке>'; $DB['CERT_FILE'] = '<путања_кључ_датотеке>'; $DB['CA_FILE'] = '<путања_кључ_датотеке>'; $DB['VERIFY_HOST'] = true; $DB['CIPHER_LIST'] = ' ' '; ... |
1. Означите Database TLS enkription и Verify database certificate 2. Наведите путању до Database TLS key file 3. Наведите путању до Database TLS CA file 4. Наведите путању до Database TLS file certificate 5. Означите Database host verification |
Погледајте такође: Примери конфигурације шифровања за MySQL, Примери конфигурације шифровања за PostgreSQL.
Безбедне везе са базом података могу се конфигурисати одговарајућим параметрима у Zabbix server и/или proxy конфигурационој датотеци.
Configuration | Result |
---|---|
None | Веза са базом података без шифровања. |
1. Постави DBTLSCANnect=required |
Сервер/прокси успоставља TLS везу са базом података. Нешифрована веза није дозвољена. |
1. Постави DBTLSCANnect=verify_ca 2. Постави DBTLSCAFile - наведите TLS датотеку ауторитета сертификата |
Сервер/прокси успоставља TLS везу са базом података након провере сертификата базе података. |
1. Постави DBTLSCANnect=verify_full 2. Постави DBTLSCAFile - наведите TLS датотеку ауторитета сертификата |
Сервер/прокси успоставља TLS везу са базом података након провере сертификата базе података и идентитета хоста базе података. |
1. Постави DBTLSCANnect - наведите TLS датотеку ауторитета сертификата2. Постави DBTLSCertFile - наведите датотеку сертификата јавног кључа клијента3. Подесите DBTLSKeyFile - наведите датотеку приватног кључа клијента |
Сервер/прокси пружа клијентски сертификат приликом повезивања са базом података. |
1.. Подесите DBTLSCipher - листу шифара за шифровање које клијент дозвољава за везе користећи TLS протоколе до TLS 1.2или DBTLSCipher13 - листу шифара за шифровање које клијент дозвољава за везе користећи TLS 1.3 протокол |
(MySQL) TLS веза се успоставља помоћу шифре са дате листе. (PostgreSQL) Подешавање ове опције ће се сматрати грешком. |