This is a translation of the original English documentation page. Help us make it better.

2 שימוש במפתחות ששותפו מראש

סקירה כללית

כל מפתח משותף מראש (PSK) ב-Zabix הוא למעשה זוג של:

  • מחרוזת זהות PSK לא סודית,
  • ערך מחרוזת PSK סודית.

מחרוזת זהות PSK היא מחרוזת UTF-8 לא ריקה. לדוגמה, "PSK ID 001 Zabbix agentd". זהו שם ייחודי ששמו ה-PSK הספציפי הזה המכונה על ידי רכיבי Zabbix. אל תכניס מידע רגיש מחרוזת זהות PSK - היא מועברת דרך הרשת ללא מוצפן.

ערך PSK הוא מחרוזת קשה לניחוש של ספרות הקסדצימליות, למשל, "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9".

מגבלות גודל

יש מגבלות גודל עבור זהות וערך PSK ב- Zabbix, בחלקם מקרים שלספריית קריפטו יכולה להיות גבול נמוך יותר:

|רכיב|גודל מקסימלי של זהות PSK|גודל PSK מינימלי|גודל מקסימלי של ערך PSK| |--------|----------------------|---------------- -|----------------| |Zabbix|128 תווים UTF-8|128-bit (16-בתים PSK, הוזן כ-32 ספרות הקסדצימליות)|2048-bit (256-byte PSK, הוזן כ-512 ספרות הקסדצימליות)| |GnuTLS|128 בתים (עשויים לכלול תווי UTF-8)|-|2048-bit (256-בתים PSK, מוזן כ-512 ספרות הקסדצימליות)| |OpenSSL 1.0.x, 1.1.0|127 בתים (עשויים לכלול תווי UTF-8)|-|2048-bit (PSK של 256 בתים, מוזן כ-512 ספרות הקסדצימליות)| |OpenSSL 1.1.1|127 בתים (עשויים לכלול תווי UTF-8)|-|512-bit (64-בתים PSK, מוזן כ-128 ספרות הקסדצימליות)| |OpenSSL 1.1.1a ואילך|127 בתים (עשויים לכלול תווי UTF-8)|-|2048-bit (PSK של 256 בתים, מוזן כ-512 ספרות הקסדצימליות)|

::: שימו לב חשוב חזית Zabbix מאפשרת להגדיר עד מחרוזת זהות PSK באורך 128 תווים ו-PSK באורך 2048 סיביות ללא קשר של ספריות קריפטו בשימוש.
אם חלק מרכיבי Zabbix תומכים בגבולות נמוכים יותר, זה של המשתמש אחריות להגדיר את הזהות והערך של PSK באורך מותר עבור רכיבים אלה.
חריגה ממגבלות האורך גורמת לכשלי תקשורת בין Zabbix רכיבים. :::

לפני ששרת Zabbix מתחבר לסוכן באמצעות PSK, השרת מסתכל למעלה זהות PSK וערך PSK שהוגדרו עבור אותו סוכן במסד הנתונים (למעשה ב-configuration cache). עם קבלת חיבור הסוכן משתמש בזהות PSK ובערך PSK מקובץ התצורה שלו. אם שניהם לצדדים יש את אותה מחרוזת זהות של PSK וערך PSK את החיבור עשוי להצליח.

::: שימו לב חשוב כל זהות PSK חייבת להיות מזווגת עם אחת בלבד ערך. באחריות המשתמש לוודא שאין שניים PSKs עם אותה מחרוזת זהות אך ערכים שונים. לא מצליח לעשות לכן עלול להוביל לשגיאות בלתי צפויות או לשיבושים בתקשורת בין Zabbix רכיבים המשתמשים ב-PSK עם מחרוזת זהות PSK זו. :::

יצירת PSK

לדוגמה, ניתן ליצור PSK של 256 סיביות (32 בתים) באמצעות ה- הפקודות הבאות:

  • עם OpenSSL:
   $ openssl rand -hex 32
          af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429
  • עם GnuTLS:
   $ psktool -u psk_identity -p database.psk -s 32
          יצירת מפתח אקראי עבור המשתמש 'psk_identity'
          מפתח מאוחסן ב-database.psk
         
          $ cat database.psk
          psk_identity:9b8eafedfaae00cece62e85d5f4792c7d9c9bcc851b23216a1d300311cc4f7cb

שימו לב ש-"psktool" לעיל יוצר קובץ מסד נתונים עם זהות PSK וה-PSK המשויך לו. Zabbix מצפה רק ל-PSK בקובץ ה-PSK, אז יש להסיר את מחרוזת הזהות והנקודתיים (':') מהקובץ.

הגדרת PSK עבור תקשורת שרת-סוכן (דוגמה)

במארח הסוכן, כתוב את ערך ה-PSK בקובץ, לדוגמה, /home/zabbix/zabbix_agentd.psk. הקובץ חייב להכיל PSK בראשון מחרוזת טקסט, למשל:

 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952

הגדר זכויות גישה לקובץ PSK - עליו להיות קריא רק למשתמש Zabbix.

ערוך פרמטרים של TLS בקובץ התצורה של הסוכן zabbix_agentd.conf, לדוגמה, הגדר:

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

הסוכן יתחבר לשרת (צ'קים פעילים) ויקבל מהשרת ו-zabbix_get רק חיבורים באמצעות PSK. זהות PSK תהיה "PSK 001".

הפעל מחדש את הסוכן. עכשיו אתה יכול לבדוק את החיבור באמצעות zabbix_get, לדוגמה:

 $ 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

(כדי למזער את זמן ההשבתה, ראה כיצד לשנות את סוג החיבור ב-חיבור הצפנה management).

הגדר את הצפנת PSK עבור סוכן זה ב-Zabix frontend:

  • עבור אל: תצורה → מארחים
  • בחר מארח ולחץ על הכרטיסייה הצפנה

דוגמא:

psk_config.png

כל שדות הקלט החובה מסומנים בכוכבית אדומה.

כאשר מטמון התצורה מסונכרן עם מסד הנתונים החדש חיבורים ישתמשו ב-PSK. בדוק אם יש שגיאות בקובצי היומן של השרת והסוכן הודעות.

הגדרת PSK עבור שרת - תקשורת פרוקסי פעילה (דוגמה)

בפרוקסי, כתוב את ערך ה-PSK לקובץ, למשל, /home/zabbix/zabbix_proxy.psk. הקובץ חייב להכיל PSK בראשון מחרוזת טקסט, למשל:

 e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9

הגדר זכויות גישה לקובץ PSK - עליו להיות קריא רק למשתמש Zabbix.

ערוך פרמטרים של TLS בקובץ תצורת ה-proxy zabbix_proxy.conf, עבור דוגמה, הגדר:

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

ה-proxy יתחבר לשרת באמצעות PSK. זהות PSK תהיה "PSK 002".

(כדי למזער את זמן ההשבתה, ראה כיצד לשנות את סוג החיבור ב-חיבור הצפנה management).

הגדר את PSK עבור פרוקסי זה בחזית Zabbix. לך ל ניהול → פרוקסי, בחר את ה-proxy, עבור ללשונית "הצפנה". ב "חיבורים מ-proxy" סמן 'PSK'. הדבק בשדה "זהות PSK". "PSK 002" ו "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9" לתוך שדה "PSK". לחץ על "עדכן".

הפעל מחדש את ה-proxy. זה יתחיל להשתמש בחיבורים מוצפנים מבוססי PSK ל שרת. בדוק אם יש הודעות שגיאה בקובצי היומן של השרת וה-proxy.

עבור פרוקסי פסיבי ההליך דומה מאוד. ההבדל היחיד - הגדר 'TLSAccept=psk' בקובץ תצורת ה-proxy והגדר "חיבורים ל proxy" בחזית Zabbix ל-PSK.