Сваки унапред дељени кључ (PSK) у Zabbix-у је заправо пар:
ПСК низ идентитета је непразан UTF-8 низ. На пример, "PSK ID 001 Zabbix agentd". То је јединствено име под којим је овај специфични PSK на које се позивају Zabbix компоненте. Не стављајте осетљиве информације PSK низ идентитета - преноси се преко мреже нешифрован.
PSK вредност је низ хексадецималних цифара који је тешко погодити, на пример, "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9".
Постоје ограничења величине за PSK идентитет и вредност у Zabbix-у, у неким случајевима крипто библиотека може имати доњу границу:
Component | PSK identity max size | PSK value min size | PSK value max size |
---|---|---|---|
Zabbix | 128 UTF-8 знакова | 128-битни (16-бајтни PSK, унет као 32 хексадецималне цифре) | 2048-битни (256-бајтни PSK, унет као 512 хексадецималних цифара) |
GnuTLS | 128 бајтова (може да садржи UTF-8 знакове) | - | 2048-битни (256-бајтни PSK, унет као 512 хексадецималних цифара) |
OpenSSL 1.0.x, 1.1.0 | 127 бајтова (може да садржи UTF-8 карактере) | - | 2048-битни (256-бајтни PSK, унет као 512 хексадецималних цифара) |
OpenSSL 1.1.1 | 127 бајтова (може да садржи UTF-8 карактере) | - | 512-битни (64-бајтни PSK, унет као 128 хексадецималних цифара) |
OpenSSL 1.1.1a и новији | 127 бајтова (може да садржи UTF-8 карактере) | - | 2048-битни (256-бајтни PSK, унет као 512 хексадецималних цифара) |
Zabbix кориснички интерфејс омогућава конфигурисање PSK идентитетског низа дужине до 128 карактера и PSK дужине 2048 бита, без обзира на коришћене крипто библиотеке.
Ако неке Zabbix компоненте подржавају ниже границе, одговорност је корисника да конфигурише PSK идентитет и вредност са дозвољеном дужином за ове компоненте.
Прекорачење ограничења дужине доводи до прекида комуникације између Zabbix компоненти.
Пре него што се Zabbix сервер повеже са агентом користећи PSK, сервер тражи PSK идентитет и PSK вредност конфигурисане за тог агента у бази података (заправо у кешу конфигурације). По пријему везе, агент користи PSK идентитет и PSK вредност из своје конфигурационе датотеке. Ако обе стране имају исти PSK идентитетски низ и PSK вредност, веза може успети.
Сваки PSK идентитет мора бити упарен само са једном вредношћу. Одговорност корисника је да осигура да не постоје два PSK-а са истим идентитетским низом, али различитим вредностима. Непоступање по овом питању може довести до непредвидивих грешака или прекида комуникације између Zabbix компоненти које користе PSK-ове са овим PSK низом идентитета.
На пример, 256-битни (32 бајта) PSK може да се генерише коришћењем следеће команде:
$ 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 вредност у датотеку, на пример, /home/zabbix/zabbix_agentd.psk
. Датотека мора да садржи PSK у првом текстуалном низу, на пример:
1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952
Подесите права приступа PSK датотеци - мора бити читљива само кориснику Zabbix-а.
Измените 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
(Да бисте смањили време застоја, погледајте како да промените тип везе у Connection encryption management).
Конфигуришите PSK шифровање за овог агента у Zabbix кориснички интерфејс:
Пример:
Сва обавезна поља за унос су означена црвеном звездицом.
Када се кеш конфигурације синхронизује са базом података, нове везе ће користити PSK. Проверите лог датотеке сервера и агента за поруке о грешкама.
На проксију, упишите PSK вредност у датотеку, на пример, /home/zabbix/zabbix_proxy.psk
. Датотека мора да садржи PSK у првом текстуалном низу, на пример:
e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9
Подесите права приступа PSK датотеци - мора бити читљива само кориснику Zabbix-а.
Измените TLS параметре у конфигурационој датотеци проксија zabbix_proxy.conf
, на пример, поставите:
TLSConnect=psk TLSPSKFile=/home/zabbix/zabbix_proxy.psk TLSPSKIdentity=PSK 002
Прокси ће се повезати са сервером користећи PSK. PSK идентитет ће бити "PSK 002".
(Да бисте смањили време застоја, погледајте како да промените тип везе у Connection encryption management).
Конфигуришите PSK за овај прокси у Zabbix фронтенду. Идите на Администрација→Прокси, изаберите прокси, идите на картицу "Encryption". У "Connections from proxy" означите PSK
. Налепите у поље "PSK identity" "PSK 002" и "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9" у поље "PSK". Кликните на "Ажурирај".
Поново покрените прокси. Почеће да користи PSK-базиране шифроване везе са сервером. Проверите лог датотеке сервера и проксија за поруке о грешкама.
За пасивни прокси поступак је веома сличан. Једина разлика - поставите TLSAccept=psk
у конфигурационој датотеци проксија и поставите "Везе са проксијем" у Zabbix кориснички интерфејс на PSK
.