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:

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.