Ова секција пружа 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 и корисничким интерфејсом за базу података:
Сигурна веза са базом података може се конфигурисати током инсталације корисничког интерфејса:
За 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>'; ... Or: ... // Користи се за 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. Подесите 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) Подешавање ове опције сматра се грешком. |