כל מפתח משותף מראש (PSK) ב-Zabix הוא למעשה זוג של:
מחרוזת זהות 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 של 256 סיביות (32 בתים) באמצעות ה- הפקודות הבאות:
$ 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 בקובץ, לדוגמה, /home/zabbix/zabbix_agentd.psk
. הקובץ חייב להכיל PSK בראשון מחרוזת טקסט, למשל:
הגדר זכויות גישה לקובץ PSK - עליו להיות קריא רק למשתמש Zabbix.
ערוך פרמטרים של TLS בקובץ התצורה של הסוכן zabbix_agentd.conf
, לדוגמה, הגדר:
הסוכן יתחבר לשרת (צ'קים פעילים) ויקבל מהשרת ו-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. בדוק אם יש שגיאות בקובצי היומן של השרת והסוכן הודעות.
בפרוקסי, כתוב את ערך ה-PSK לקובץ, למשל, /home/zabbix/zabbix_proxy.psk
. הקובץ חייב להכיל PSK בראשון מחרוזת טקסט, למשל:
הגדר זכויות גישה לקובץ PSK - עליו להיות קריא רק למשתמש Zabbix.
ערוך פרמטרים של TLS בקובץ תצורת ה-proxy zabbix_proxy.conf
, עבור דוגמה, הגדר:
ה-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.