2 Коришћење унапред дељених кључева
Преглед
Сваки унапред дељени кључ (PSK) у Zabbix-у је заправо пар:
- нетајни низ PSK идентитета,
- тајна вредност низа PSK.
ПСК низ идентитета је непразан UTF-8 низ. На пример, "PSK ID 001 Zabbix agentd". То је јединствено име под којим је овај специфични PSK на које се позивају Zabbix компоненте. Не стављајте осетљиве информације PSK низ идентитета - преноси се преко мреже нешифрован.
PSK вредност је низ хексадецималних цифара који је тешко погодити, на пример, "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9".
Ограничења величине
У некима постоје ограничења величине за ПСК идентитет и вредност у Zabbix-у случајеви да крипто библиотека може имати доњу границу:
| Component | PSK identity max size | PSK value min size | PSK value max size |
|---|---|---|---|
| Zabbix | 128 UTF-8 characters | 128-bit (16-byte PSK, entered as 32 hexadecimal digits) | 2048-bit (256-byte PSK, entered as 512 hexadecimal digits) |
| GnuTLS | 128 bytes (may include UTF-8 characters) | - | 2048-bit (256-byte PSK, entered as 512 hexadecimal digits) |
| OpenSSL 1.0.x, 1.1.0 | 127 bytes (may include UTF-8 characters) | - | 2048-bit (256-byte PSK, entered as 512 hexadecimal digits) |
| OpenSSL 1.1.1 | 127 bytes (may include UTF-8 characters) | - | 512-bit (64-byte PSK, entered as 128 hexadecimal digits) |
| OpenSSL 1.1.1a and later | 127 bytes (may include UTF-8 characters) | - | 2048-bit (256-byte PSK, entered as 512 hexadecimal digits) |
Zabbix кориснички интерфејс омогућава конфигурисање до
PSK идентитетски низ од 128 знакова и PSK од 2048 бита без обзира
коришћених крипто библиотека.
Ако неке Zabbix компоненте подржавају доње границе, то је корисничка
одговорност за конфигурисање PSK идентитета и вредности са дозвољеном дужином
за ове компоненте.
Прекорачење ограничења дужине доводи до кварова у комуникацији између Zabbix
компоненте.
Пре него што се Zabbix сервер повеже са агентом користећи PSK, сервер тражи PSK идентитет и PSK вредност конфигурисани за тог агента у бази података (заправо у кешу конфигурације). По пријему везе агент користи PSK идентитет и PSK вредност из своје конфигурационе датотеке. Ако обоје стране имају исти низ PSK идентитета и PSK вредност везе може успети.
Сваки PSK идентитет мора бити упарен само са једним вредност. Одговорност корисника је да осигура да не постоје два PSK-a са истим низом идентитета, али различитим вредностима. Неуспех у томе па може довести до непредвидивих грешака или прекида комуникације између Zabbix компоненте које користе PSK-ове са овим PSK низом идентитета.
Генерисање PSK-а
На пример, 256-битни (32 бајта) PSK може да се генерише коришћењем следеће команде:
- са OpenSSL:
<!-- -->
$ openssl rand -hex 32
af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429
- са GnuTLS:
<!-- -->
$ psktool -u psk_identity -p database.psk -s 32
Генерисање случајног кључа за корисника 'psk_identity'
Кључ се чува у database.psk
$ cat database.psk
psk_identity:9b8eafedfaae00cece62e85d5f4792c7d9c9bcc851b23216a1d300311cc4f7cb
Имајте на уму да "psktool" изнад генерише датотеку базе података са PSK идентитетом и са њим повезан PSK. Zabbix очекује само PSK у PSK датотеци, дакле стринг идентитета и двотачку (':') треба уклонити из датотеке.
Конфигурисање PSK-а за комуникацију сервер-агент (пример)
На домаћину агента, упишите PSK вредност у датотеку, на пример,
/home/zabbix/zabbix_agentd.psk. Датотека мора да садржи PSK у првом
текстуални низ, на пример:
1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952
Подесите права приступа PSK датотеци - она мора бити читљива само за Zabbix корисникa.
Уредите TLS параметре у конфигурационој датотеци агента zabbix_agentd.conf,
на пример, поставите:
TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/home/zabbix/zabbix_agentd.psk
TLSPSKIdentity=PSK 001
Агент ће се повезати са сервером (активне провере) и прихватити са сервера
и zabbix_get само везе које користе PSK. PSK идентитет ће бити "PSK
001".
Поново покрените агента. Сада можете тестирати везу користећи zabbix_get,
на пример:
zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk --tls-psk-identity="PSK 001" --tls-psk-file=/home/zabbix/zabbix_agentd.psk
(Да бисте смањили време застоја, погледајте како да промените тип везе у Управљање шифровањем мреже.
Конфигуришите PSK шифровање за овог агента у Zabbix корисничком интерфејсу:
- Идите на: Прикупљање података → Домаћини
- Изаберите хост и кликните на картицу Шифровање
Пример:

Сва обавезна поља за унос су означена црвеном звездицом.
Када је кеш конфигурације синхронизован са базом података, нови везе ће користити PSK. Проверите фајлове сервера и агента за грешку поруке.
Конфигурисање PSK-а за сервер - активна прокси комуникација (пример)
На проксију упишите PSK вредност у датотеку, на пример,
/home/zabbix/zabbix_proxy.psk. Датотека мора да садржи PSK у првом
текстуални низ, на пример:
e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9
Подесите права приступа PSK датотеци - она мора бити читљива само за Zabbix корисникa.
Уредите TLS параметре у прокси конфигурационој датотеци zabbix_proxy.conf, за
пример, поставите:
TLSConnect=psk
TLSPSKFile=/home/zabbix/zabbix_proxy.psk
TLSPSKIdentity=PSK 002
Прокси ће се повезати са сервером користећи PSK. PSK идентитет ће бити "PSK 002".
(Да бисте смањили време застоја, погледајте како да промените тип везе у Управњаер шифровањем везе).
Конфигуришите PSK за овај прокси у Zabbix корисничком интерфејсу. Иди на
Администрација→Проксији, изаберите прокси, идите на картицу "Шифровање". У
"Везе са проксија" означавају PSK. Налепите у поље "PSK идентитет".
"PSK 002" и
"e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9" у
Поље "PSK". Кликните на „Ажурирај“.
Поново покрените прокси. Почеће да користи шифроване везе засноване на PSK-у за сервер. Проверите да ли у фајловима евиденције сервера и проксија има порука о грешци.
За пасивни прокси поступак је врло сличан. Једина разлика -
подесите TLSAccept=psk у конфигурационој датотеци проксија и подесите "Везе на
прокси" у Zabbix корисничком интерфејсу на PSK.