Ова секција пружа 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, опционо поље TLS шифровање базе података је онемогућено, ако је Домаћин базе података постављен на localhost, јер веза која користи socket датотеку (на Unix-у) или дељену меморију (на Windows-у) не може бити шифрована.
За PostgreSQL, опционо поље * TLS енкрипција* је онемогућено, ако вредност поља Домаћин базе података почиње косом цртом или је поље празно.
Следећи параметри постају доступни у TLS шифровању у режиму сертификата (ако су означена оба поља за потврду):
Parameter | Description |
---|---|
Датотека TLS CA базе података | Наведите комплетну путању до важећег TLS сертификата (CA) датотеке. |
Датотека TLS кључа базе података | Наведите комплетну путању до важеће TLS датотеке кључа. |
Датотека TLS сертификата базе података | Наведите комплетну путању до важеће датотеке TLS сертификата. |
Верификација домаћина базе података | Означите ово поље за потврду да бисте активирали верификацију домаћина. Онемогућено за MYSQL, јер PHP MySQL библиотека не дозвољава прескакање корака валидације сертификата сервера. |
Листа TLS шифара базе података | Наведите прилагођену листу важећих шифара. Формат листе шифара мора бити у складу са OpenSSL стандардом. Доступно само за MySQL. |
TLS параметри морају да указују на важеће датотеке. Ако они указују на непостојеће или неважеће датотеке, то ће довести до грешке при ауторизацији.
Ако се у датотеке сертификата може писати, кориснички интерфејс генерише упозорење у Системским информацијама са извештајем да "Датотеке ТЛС датотеке сертификата морају бити само за читање." (приказује се само ако је PHP корисник власник сертификата).
Сертификати заштићени лозинкама нису подржани.
Zabbix кориснички интерфејс користи GUI интерфејс за дефинисање могућих опција: required
, verify_ca
, verify_full
. Потребне опције наводе се током инсталације у кораку чаробњака за инсталацију Конфигурисање DB конекција. Ове опције се мапирају у конфигурациону датотеку (zabbix.conf.php) на следећи начин:
GUI settings | Configuration file | Description | Result |
---|---|---|---|
![]() |
... // Користи се за TLS конекцију. $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $DB['CA_FILE'] = ''; $DB['VERIFY_HOST'] = false; $DB['CIPHER_LIST'] = ''; ... |
Проверите TLS шифровање базе података Оставите Верификацију сертификата базе података неозначеним |
Омогућите required режим. |
![]() |
... $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 датотеке базе података |
Омогућите режимverify_ca . |
![]() |
... // Користи се за TLS конекцију са строго дефинисаном листом шифровања. $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = '<key_file_path>'; $DB['CERT_FILE'] = '<key_file_path>'; $DB['CA_FILE'] = '<key_file_path>'; $DB['VERIFY_HOST'] = true; $DB['CIPHER_LIST'] = '<cipher_list>'; ... Или: ... // Користи се за TLS везу без дефинисане листе шифри - изабран од стране MySQL сервера $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = '<key_file_path>'; $DB['CERT_FILE'] = '<key_file_path>'; $DB['CA_FILE'] = '<key_file_path>'; $DB['VERIFY_HOST'] = true; $DB['CIPHER_LIST'] = ''; ... |
1. Проверите TLS шифровање базе података и Верификовање сертификата базе података 2. Наведите путању до Датотеке TLS кључа базе података 3. Наведите путању до ТTLS CA датотеке базе података 4. Наведите путању до датотеке TLS сертификата базе података 5. Наведите TLS шифровану листу (опционо) |
Омогући режим verify_full за MySQL. |
![]() |
... $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = '<key_file_path>'; $DB['CERT_FILE'] = '<key_file_path>'; $DB['CA_FILE'] = '<key_file_path>'; $DB['VERIFY_HOST'] = true; $DB['CIPHER_LIST'] = ' '; ... |
1. Проверите * TLS шифровање базе података* и Верификујте сертификат базе података 2. Наведите путању до Датотеке TLS кључа базе података 3. Наведите путању до TLS CA датотеке базе података 4. Наведите путању до Датотеке TLS сертификата базе података 5. Проверите Верификацију домаћина базе података |
Омогућите режим verify_full за PostgreSQL. |
Погледајте такође: Примери конфигурације шифровања за MySQL, Шифровање примера конфигурације за PostgreSQL.
Сигурне конекције са базом података могу се конфигурисати са одговарајућим параметрима у Zabbix серверу и/или прокси конфигурационој датотеци.
Configuration | Result |
---|---|
None | Веза са базом података без шифровања. |
1. Set DBTLSConnect=required |
Сервер/прокси успоставља TLS конекцију са базом података. Нешифрована веза није дозвољена. |
1. Поставите DBTLSConnect=verify_ca 2. Подесити DBTLSCAFile - одредите датотеку са TLS сертификатом овлашћења |
Сервер/прокси успоставља TLS конекцију са базом података након верификације сертификата базе података. |
1. Подесите DBTLSConnect=verify_full 2. Подесите DBTLSCAFile - наведите TLS датотеку ауторитета сертификата |
Сервер/прокси успоставља TLS везу са базом података након провере сертификата базе података и идентитета домаћина базе |
1. Подесите DBTLSCAFile - наведите TLS датотеку ауторитета сертификата2. Подесите DBTLSCertFile - наведите датотеку сертификата јавног кључа клијента3. Подесите DBTLSKeyFile - наведите датотеку приватног кључа клијента |
Сервер/прокси обезбеђује клијентски сертификат док се повезује са базом података. |
1. Подесите DBTLSCipher - листу шифровања које клијент дозвољава за конекције које користе TLS протоколе до 1.2 верзије или DBTLSCipher13 - листу шифара које клијент дозвољава за везе користећи TLS 1.3 протокол |
(MySQL) TLS конекција се врши помоћу шифре са наведене листе. (PostgreSQL) Подешавање ове опције сматра се грешком. |