2 Iepriekš koplietotu atslēgu izmantošana

Pārskats

Katra iepriekš koplietotā atslēga (PSK) Zabbix sistēmā faktiski ir pāris no:

  • ne-slepenas PSK identitātes virknes,
  • slepenas PSK virknes vērtības.

PSK identitātes virkne ir netukša UTF-8 virkne. Piemēram, "PSK ID 001 Zabbix agentd". Tas ir unikāls nosaukums, ar kuru šo konkrēto PSK izmanto Zabbix komponenti. Neievietojiet sensitīvu informāciju PSK identitātes virknē — tā tiek pārraidīta tīklā nešifrētā veidā.

PSK vērtība ir grūti uzminama heksadecimālu ciparu virkne, piemēram, "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9".

Izmēra ierobežojumi

Zabbix ir noteikti PSK identitātes un vērtības izmēra ierobežojumi; dažos gadījumos kriptogrāfijas bibliotēkai var būt zemāks ierobežojums:

Komponents PSK identitātes maksimālais izmērs PSK vērtības minimālais izmērs PSK vērtības maksimālais izmērs
Zabbix 128 UTF-8 rakstzīmes 128 biti (16 baitu PSK, ievadīts kā 32 heksadecimāli cipari) 2048 biti (256 baitu PSK, ievadīts kā 512 heksadecimāli cipari)
GnuTLS 128 baiti (var ietvert UTF-8 rakstzīmes) - 2048 biti (256 baitu PSK, ievadīts kā 512 heksadecimāli cipari)
OpenSSL 1.0.x, 1.1.0 127 baiti (var ietvert UTF-8 rakstzīmes) - 2048 biti (256 baitu PSK, ievadīts kā 512 heksadecimāli cipari)
OpenSSL 1.1.1 127 baiti (var ietvert UTF-8 rakstzīmes) - 512 biti (64 baitu PSK, ievadīts kā 128 heksadecimāli cipari)
OpenSSL 1.1.1a un jaunākas versijas 127 baiti (var ietvert UTF-8 rakstzīmes) - 2048 biti (256 baitu PSK, ievadīts kā 512 heksadecimāli cipari)

Zabbix lietotāja saskarne ļauj konfigurēt līdz 128 rakstzīmēm garu PSK identitātes virkni un 2048 bitus garu PSK neatkarīgi no izmantotajām kriptogrāfijas bibliotēkām.
Ja daži Zabbix komponenti atbalsta zemākus ierobežojumus, lietotāja atbildība ir konfigurēt PSK identitāti un vērtību ar šiem komponentiem atļauto garumu.
Garuma ierobežojumu pārsniegšana izraisa sakaru kļūmes starp Zabbix komponentiem.

Pirms Zabbix serveris izveido savienojumu ar aģentu, izmantojot PSK, serveris datubāzē (faktiski konfigurācijas kešatmiņā) sameklē šim aģentam konfigurēto PSK identitāti un PSK vērtību. Saņemot savienojumu, aģents izmanto PSK identitāti un PSK vērtību no sava konfigurācijas faila. Ja abām pusēm ir vienāda PSK identitātes virkne un PSK vērtība, savienojums var būt veiksmīgs.

Katrai PSK identitātei jābūt sasaistītai tikai ar vienu vērtību. Lietotāja atbildība ir nodrošināt, ka nav divu PSK ar vienādu identitātes virkni, bet atšķirīgām vērtībām. Pretējā gadījumā var rasties neparedzamas kļūdas vai sakaru traucējumi starp Zabbix komponentiem, kas izmanto PSK ar šo PSK identitātes virkni.

PSK ģenerēšana

Piemēram, 256 bitu (32 baitu) PSK var ģenerēt, izmantojot šādas komandas:

  • ar OpenSSL:
<!-- -->
  $ openssl rand -hex 32
  af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429
  • ar GnuTLS:
<!-- -->
  $ psktool -u psk_identity -p database.psk -s 32
  Tiek ģenerēta nejauša atslēga lietotājam 'psk_identity'
  Atslēga saglabāta database.psk

  $ cat database.psk 
  psk_identity:9b8eafedfaae00cece62e85d5f4792c7d9c9bcc851b23216a1d300311cc4f7cb

Ņemiet vērā, ka iepriekš minētais "psktool" ģenerē datubāzes failu ar PSK identitāti un tai piesaistīto PSK. Zabbix PSK failā sagaida tikai PSK, tāpēc identitātes virkne un kols (':') no faila ir jāizņem.

PSK konfigurēšana servera-aģenta saziņai (piemērs)

Aģenta hostā ierakstiet PSK vērtību failā, piemēram, /home/zabbix/zabbix_agentd.psk. Failam pirmajā teksta rindā jāsatur PSK, piemēram:

1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952

Iestatiet piekļuves tiesības PSK failam — tam jābūt lasāmam tikai Zabbix lietotājam.

Rediģējiet TLS parametrus aģenta konfigurācijas failā zabbix_agentd.conf, piemēram, iestatiet:

TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/home/zabbix/zabbix_agentd.psk
TLSPSKIdentity=PSK 001

Aģents izveidos savienojumu ar serveri (aktīvās pārbaudes) un pieņems no servera un zabbix_get tikai savienojumus, kuros tiek izmantots PSK. PSK identitāte būs "PSK 001".

Restartējiet aģentu. Tagad varat pārbaudīt savienojumu, izmantojot zabbix_get, piemēram:

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

(Lai samazinātu dīkstāvi, skatiet, kā mainīt savienojuma tipu sadaļā Savienojuma šifrēšanas pārvaldība).

Konfigurējiet PSK šifrēšanu šim aģentam Zabbix lietotāja saskarnē:

  • Dodieties uz: Datu ievākšana → Hosti
  • Atlasiet hostu un noklikšķiniet uz cilnes Encryption

Piemērs:

psk\_config.png

Visi obligātie ievades lauki ir atzīmēti ar sarkanu zvaigznīti.

Kad konfigurācijas kešatmiņa būs sinhronizēta ar datubāzi, jaunie savienojumi izmantos PSK. Pārbaudiet servera un aģenta žurnālfailus, vai tajos nav kļūdu ziņojumu.

PSK konfigurēšana servera un aktīvā starpniekservera saziņai (piemērs)

Starpniekserverī ierakstiet PSK vērtību failā, piemēram, /home/zabbix/zabbix_proxy.psk. Failam pirmajā teksta rindā jāsatur PSK, piemēram:

e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9

Iestatiet PSK failam piekļuves tiesības — tam jābūt lasāmam tikai Zabbix lietotājam.

Rediģējiet TLS parametrus starpniekservera konfigurācijas failā zabbix_proxy.conf, piemēram, iestatiet:

TLSConnect=psk
TLSPSKFile=/home/zabbix/zabbix_proxy.psk
TLSPSKIdentity=PSK 002

Starpniekserveris izveidos savienojumu ar serveri, izmantojot PSK. PSK identitāte būs "PSK 002".

(Lai samazinātu dīkstāvi, skatiet, kā mainīt savienojuma veidu sadaļā Savienojuma šifrēšanas pārvaldība).

Konfigurējiet PSK šim starpniekserverim Zabbix lietotāja saskarnē. Dodieties uz Administration→Proxies, atlasiet starpniekserveri, atveriet cilni "Encryption". Laukā "Connections from proxy" atzīmējiet PSK. Ielīmējiet laukā "PSK identity" "PSK 002" un "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9" laukā "PSK". Noklikšķiniet uz "Update".

Restartējiet starpniekserveri. Tas sāks izmantot ar PSK šifrētus savienojumus ar serveri. Pārbaudiet servera un starpniekservera žurnālfailus, vai tajos nav kļūdu ziņojumu.

Pasīvam starpniekserverim procedūra ir ļoti līdzīga. Vienīgā atšķirība — starpniekservera konfigurācijas failā iestatiet TLSAccept=psk un Zabbix lietotāja saskarnē laukā "Connections to proxy" iestatiet PSK.