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 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 un 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 PSK failam piekļuves tiesības — 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 veidu 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 - aktīvā starpniekservera saziņai (piemērs)
Starpniekserverī ierakstiet PSK vērtību failā, piemēram,
/home/zabbix/zabbix_proxy.psk. Faila pirmajā
teksta rindā jābūt 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 tipu 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. Laukā "PSK identity" ievadiet
"PSK 002", bet laukā
"PSK" ievietojiet
"e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9".
Noklikšķiniet uz "Update".
Restartējiet starpniekserveri. Tas sāks izmantot ar PSK balstītus š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, bet Zabbix lietotāja saskarnē laukā "Connections to
proxy" iestatiet PSK.