Chaque cl¨¦ pr¨¦-partag¨¦e (PSK) de Áú»¢¶Ä²© est en fait une paire de:
La cha?ne d'identit¨¦ PSK est une cha?ne UTF-8 non vide. Par exemple, "PSK ID 001 Áú»¢¶Ä²© agentd". C'est un nom unique par lequel ce composant PSK sp¨¦cifique est d¨¦sign¨¦ par les composants Áú»¢¶Ä²©. Ne placez pas d'informations sensibles dans la cha?ne d'identit¨¦ PSK - elles sont transmises non crypt¨¦es sur le r¨¦seau.
La valeur PSK est une cha?ne de caract¨¨res hexad¨¦cimaux difficile ¨¤ deviner, par exemple "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9".
Il existe des limites de taille pour l'identit¨¦ et la valeur PSK dans Áú»¢¶Ä²©, dans certains cas, une biblioth¨¨que cryptographique peut avoir une limite inf¨¦rieure:
Composant | Taille maximale de l'identit¨¦ PSK | Taille minimale de la valeur PSK | Taille maximale de la valeur PSK |
---|---|---|---|
Áú»¢¶Ä²© | 128 caract¨¨res UTF-8 | 128-bit (16-byte PSK, saisis comme 32 caract¨¨res hexad¨¦cimaux) | 2048 bits (256 octets PSK, saisis comme 512 caract¨¨res hexad¨¦cimaux) |
GnuTLS | 128 octets (peut inclure des caract¨¨res UTF-8) | - | 2048 bits (256 octets PSK, saisis comme 512 caract¨¨res hexad¨¦cimaux) |
mbed TLS (PolarSSL) | 128 caract¨¨res UTF-8 | - | 256 bits (limite par d¨¦faut) (32 octets PSK, saisis comme 64 caract¨¨res hexad¨¦cimaux) |
OpenSSL | 127 octets (peut inclure des caract¨¨res UTF-8) | - | 2048 bits (256 octets PSK, saisis comme 512 caract¨¨res hexad¨¦cimaux) |
L'interface Áú»¢¶Ä²© permet de configurer une cha?ne d'identit¨¦ PSK longue de 128 caract¨¨res et une longueur PSK longue de 2048 bits quelles que soient les biblioth¨¨ques cryptographiques utilis¨¦es.
Si certains composants Áú»¢¶Ä²© supportent des limites inf¨¦rieures, il est de la responsabilit¨¦ de l'utilisateur de configurer l'identit¨¦ et la valeur PSK avec la longueur autoris¨¦e pour ces composants.
Le d¨¦passement des limites de longueur entra?ne des d¨¦faillances de communication entre les composants Áú»¢¶Ä²©.
Avant que le serveur Áú»¢¶Ä²© se connecte ¨¤ l'agent ¨¤ l'aide de PSK, le serveur recherche l'identit¨¦ PSK et la valeur PSK configur¨¦es pour cet agent dans la base de donn¨¦es (actuellement dans le cache de configuration). ? la r¨¦ception d'une connexion, l'agent utilise l'identit¨¦ PSK et la valeur PSK de son fichier de configuration. Si les deux parties ont la m¨ºme cha?ne d'identit¨¦ PSK et la m¨ºme valeur PSK, la connexion peut r¨¦ussir.
Il est de la responsabilit¨¦ de l'utilisateur de s'assurer qu'il n'y a pas deux PSK ayant la m¨ºme cha?ne d'identit¨¦ avec des valeurs diff¨¦rentes. Ne pas le faire peut entra?ner des perturbations impr¨¦visibles de la communication entre les composants Áú»¢¶Ä²© utilisant des PSK avec cette cha?ne d¡¯identit¨¦ PSK.
Par exemple, un PSK de 256 bits (32 octets) peut ¨ºtre g¨¦n¨¦r¨¦ ¨¤ l'aide des commandes suivantes:
$ psktool -u psk_identity -p database.psk -s 32
Generating a random key for user 'psk_identity'
Key stored to database.psk
$ cat database.psk
psk_identity:9b8eafedfaae00cece62e85d5f4792c7d9c9bcc851b23216a1d300311cc4f7cb
Notez que la commande "psktool" ci-dessus g¨¦n¨¨re un fichier de base de donn¨¦es avec une identit¨¦ PSK et son PSK associ¨¦. Áú»¢¶Ä²© ne pr¨¦voit qu'un PSK dans le fichier PSK. Par cons¨¦quent, la cha?ne d'identit¨¦ et les deux-points (':') doivent ¨ºtre supprim¨¦s du fichier.
Sur l'h?te de l'agent, ¨¦crire la valeur PSK dans un fichier, par exemple, /home/zabbix/zabbix_agentd.psk
. Le fichier doit contenir un PSK dans la premi¨¨re cha?ne de texte, par exemple:
D¨¦finir les droits d¡¯acc¨¨s au fichier PSK - il ne doit ¨ºtre lisible que par l¡¯utilisateur Áú»¢¶Ä²©.
Modifier les param¨¨tres TLS dans le fichier de configuration de l'agent zabbix_agentd.conf
, par exemple, d¨¦finir:
L'agent se connecte au serveur (contr?les actifs) et accepte ¨¤ partir du serveur et de la commande zabbix_get
uniquement les connexions utilisant PSK. L'identit¨¦ PSK sera "PSK 001".
Red¨¦marrer l'agent. Maintenant, vous pouvez tester la connexion en utilisant la commande zabbix_get
, par exemple:
$ 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
(Pour minimiser les temps d'interruption, modifier le type de connexion comme d¨¦crit dans Gestion du chiffrement de la connexion).
Configurer le chiffrement PSK pour cet agent dans l'interface Áú»¢¶Ä²©:
Exemple:
Tous les champs de saisie obligatoires sont marqu¨¦s d'un ast¨¦risque rouge.
D¨¨s lors que le cache de configuration est synchronis¨¦ avec la base de donn¨¦es, les nouvelles connexions utilisent PSK. V¨¦rifier les fichiers journaux du serveur et de l'agent ¨¤ la recherche de messages d'erreur.
Sur le proxy, ¨¦crivez la valeur PSK dans un fichier, par exemple, /home/zabbix/zabbix_proxy.psk
. Le fichier doit contenir le PSK dans la premi¨¨re cha?ne de texte, par exemple:
D¨¦finir les droits d¡¯acc¨¨s au fichier PSK - il ne doit ¨ºtre lisible que par l¡¯utilisateur Áú»¢¶Ä²©.
Modifier les param¨¨tres TLS dans le fichier de configuration de proxy zabbix_proxy.conf
, par exemple, d¨¦finir:
Le proxy se connecte au serveur en utilisant PSK. L'identit¨¦ PSK sera "PSK 002".
(Pour minimiser les temps d'interruption, modifier le type de connexion comme d¨¦crit dans Gestion du chiffrement de la connexion).
Configurer PSK pour ce proxy dans l'interface Áú»¢¶Ä²©. Aller dans // Administration¡ú Proxys //, s¨¦lectionner le proxy et aller dans l'onglet "Chiffrement". Dans "Connexions du proxy", cocher PSK
. Coller dans le champ "Identit¨¦ PSK" "PSK 002" et "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9" dans le champ "PSK". Cliquez sur "Actualiser".
Red¨¦marrer le proxy. Il commencera ¨¤ utiliser des connexions au serveur chiffr¨¦es bas¨¦es sur PSK. V¨¦rifiez les fichiers journaux du serveur et du proxy ¨¤ la recherche de messages d'erreur.
Pour un proxy passif, la proc¨¦dure est similaire. La seule diff¨¦rence est - d¨¦finir TLSAccept=psk
dans le fichier de configuration du proxy et d¨¦finir "Connections du proxy" dans l'interface Áú»¢¶Ä²© ¨¤ PSK
.