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 pienākums 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 savā konfigurācijas failā norādīto PSK identitāti un PSK vērtību. 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 pienākums ir nodrošināt, lai nebūtu divu PSK ar vienādu identitātes virkni, bet atšķirīgām vērtībām. Šīs prasības neievērošana var izraisīt neparedzamas kļūdas vai sakaru traucējumus 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. Failā PSK jāatrodas pirmajā
teksta rindā, 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, kas izmanto PSK. PSK identitāte būs "PSK
001".
Pārstartē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ļā Connection encryption management).
Konfigurējiet PSK šifrēšanu šim aģentam Zabbix lietotāja saskarne:
- Dodieties uz: Data collection > Hosts.
- 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 - aktīvai starpniekservera saziņai (piemērs)
Starpniekserverī ierakstiet PSK vērtību failā, piemēram,
/home/zabbix/zabbix_proxy.psk. Failā pirmajā teksta rindā jābūt PSK, piemēram:
e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9
Iestatiet piekļuves tiesības PSK failam - 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 serveris, izmantojot PSK. PSK identitāte būs "PSK 002".
(Lai samazinātu dīkstāvi, skatiet, kā mainīt savienojuma tipu sadaļā Connection encryption management).
Konfigurējiet PSK šim starpniekserverim Zabbix lietotāja saskarne. Dodieties uz
Administration > Proxies, atlasiet starpniekserveri, dodieties uz cilni Encryption. Laukā "Connections from proxy" atzīmējiet PSK. Laukā "PSK identity" ielīmējiet "PSK 002" un
laukā "PSK" ielīmējiet
"e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9". Noklikšķiniet "Update".
Pārstartējiet starpniekserveri. Tas sāks izmantot uz PSK balstītus šifrētus savienojumus ar serveris. Pārbaudiet serveris un starpniekservera žurnālfailus, lai atrastu kļūdu ziņojumus.
Pasīvam starpniekserverim procedūra ir ļoti līdzīga. Vienīgā atšķirība -
iestatiet TLSAccept=psk starpniekservera konfigurācijas failā un Zabbix lietotāja saskarne iestatiet "Connections to
proxy" uz PSK.