2 Коришћење унапред дељених кључева

Преглед

Сваки унапред дељени кључ (PSK) у Zabbix-у је заправо пар:

  • нетајни низ PSK идентитета,
  • тајна вредност низа PSK.

ПСК низ идентитета је непразан 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 низом идентитета.

Генерисање 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-а.

Измените 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_config.png

Сва обавезна поља за унос су означена црвеном звездицом.

Када се кеш конфигурације синхронизује са базом података, нове везе ће користити PSK. Проверите лог датотеке сервера и агента за поруке о грешкама.

Конфигурисање 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.