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

1 שימוש בתעודות

סקירה כללית

Zabbix יכולה להשתמש בתעודות RSA בפורמט PEM, חתומות על ידי ציבור או רשות אישורים פנימית (CA). אימות התעודה נעשה כנגד אישור CA מוגדר מראש. אופציונלי תעודה ניתן להשתמש ברשימות ביטול (CRL). לכל רכיב Zabbix יכול להיות רק אישור אחד מוגדר.

למידע נוסף כיצד להגדיר ולהפעיל CA פנימי, כיצד ליצור בקשות אישורים ולחתום עליהן, כיצד לבטל אישורים אתה יכול למצוא מספר הנחיות מקוונות, למשל, מדריך OpenSSL PKI v1.1 .

שקול ובדוק היטב את הרחבות התעודה שלך - ראה הגבלות על שימוש באישור X.509 v3 הרחבות.

פרמטרים של תצורת אישור

פרמטר חובה תיאור
TLSCAFile yes שם הנתיב המלא של קובץ המכיל את אישורי ה-CA(ות) ברמה העליונה לאימות אישור עמיתים.
במקרה של שרשרת אישורים עם מספר חברים יש להזמין אותם: תעודות CA ברמה נמוכה יותר תחילה ואחריו אישורים של CA(s) ברמה גבוהה יותר.
ניתן לכלול אישורים ממספר CA(s) בקובץ בודד.
TLSCRLFile no שם נתיב מלא של קובץ המכיל רשימות שלילת אישורים. ראה הערות ב-רשימות שלילת אישורים (CRL).
TLSCertFile yes שם הנתיב המלא של קובץ המכיל אישור (שרשרת אישורים).
במקרה של שרשרת אישורים עם מספר חברים יש להזמין אותם: תחילה תעודת שרת, proxy או סוכן, ולאחר מכן אישורי CA ברמה נמוכה יותר לאחר מכן תעודות של CA(ים) ברמה גבוהה יותר.
TLSKeyFile yes שם הנתיב המלא של קובץ המכיל מפתח פרטי. הגדר זכויות גישה לקובץ זה - עליו להיות קריא רק למשתמש Zabbix.
TLSServerCertIssuer לא מנפיק אישור שרת מותר.
TLSServerCertSubject לא נושא אישור שרת מותר.

פרמטרים של תצורת אישור

פרמטר חובה תיאור
TLSCAFile yes שם הנתיב המלא של קובץ המכיל את אישורי ה-CA(ות) ברמה העליונה לאימות אישור עמיתים.
במקרה של שרשרת אישורים עם מספר חברים יש להזמין אותם: תעודות CA ברמה נמוכה יותר תחילה ואחריו אישורים של CA(s) ברמה גבוהה יותר.
ניתן לכלול אישורים ממספר CA(s) בקובץ בודד.
TLSCRLFile no שם נתיב מלא של קובץ המכיל רשימות שלילת אישורים. ראה הערות ב-רשימות שלילת אישורים (CRL).
TLSCertFile yes שם הנתיב המלא של קובץ המכיל אישור (שרשרת אישורים).
במקרה של שרשרת אישורים עם מספר חברים יש להזמין אותם: תחילה תעודת שרת, proxy או סוכן, ולאחר מכן אישורי CA ברמה נמוכה יותר לאחר מכן תעודות של CA(ים) ברמה גבוהה יותר.
TLSKeyFile yes שם הנתיב המלא של קובץ המכיל מפתח פרטי. הגדר זכויות גישה לקובץ זה - עליו להיות קריא רק למשתמש Zabbix.
TLSServerCertIssuer לא מנפיק אישור שרת מותר.
TLSServerCertSubject לא נושא אישור שרת מותר.

הגדרת הצפנה מבוססת תעודות עבור פרוקסי Zabbix

1. הכן קבצים עם אישורי CA ברמה העליונה, אישור פרוקסי (שרשרת) ומפתח פרטי כמתואר ב-הגדרת אישור מופעל זאביקס שרת. ערוך פרמטרים TLSCAFile, TLSCertFile, TLSKeyFile ב-proxy תצורה בהתאם.

2. עבור פרוקסי פעיל ערוך פרמטר 'TLSConnekt':

 TLSConnect=cert

עבור פרוקסי פסיבי ערוך פרמטר 'TLSAccept':

 TLSAccept=cert

3. כעת יש לך תצורת proxy מינימלית מבוססת תעודות. אתה עשוי להעדיף לשפר את אבטחת ה-proxy על ידי הגדרת 'TLSServerCertIssuer' ופרמטרים TLSServerCertSubject (ראה הגבלה מותרת מנפיק תעודה ו נושא).

4. בקובץ תצורת ה-proxy הסופי פרמטרי TLS עשויים להיראות כך:

 TLSConnect=cert
        TLSAccept=cert
        TLSCAFile=/home/zabbix/zabbix_ca_file
        TLSServerCertIssuer=CN=חתימה CA,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com
        TLSServerCertSubject=CN=שרת Zabbix,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com
        TLSCertFile=/home/zabbix/zabbix_proxy.crt
        TLSKeyFile=/home/zabbix/zabbix_proxy.key

5. הגדר הצפנה עבור פרוקסי זה בחזית Zabbix:

  • עבור אל: ניהול ← פרוקסי
  • בחר פרוקסי ולחץ על הכרטיסייה הצפנה

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

עבור פרוקסי פעיל

proxy_active_cert.png

עבור פרוקסי פסיבי

proxy_passive_cert.png

הגדרת הצפנה מבוססת תעודות עבור סוכן Zabbix

1. הכן קבצים עם תעודות CA ברמה העליונה, תעודת סוכן (שרשרת) ומפתח פרטי כמתואר ב-הגדרת אישור מופעל זאביקס שרת. ערוך פרמטרים TLSCAFile, TLSCertFile, TLSKeyFile בסוכן תצורה בהתאם.

2. עבור בדיקות פעילות ערוך את הפרמטר 'TLSConnekt':

 TLSConnect=cert

עבור בדיקות פסיביות ערוך פרמטר TLSAccept:

 TLSAccept=cert

3. כעת יש לך תצורת סוכן מינימלית מבוססת תעודות. אתה עשוי להעדיף לשפר את אבטחת הסוכן על ידי הגדרת 'TLSServerCertIssuer' ופרמטרים TLSServerCertSubject. (ראה הגבלה מותרת מנפיק תעודה ו נושא).

4. בקובץ התצורה הסופי של הסוכן הפרמטרים של TLS עשויים להיראות כך:

 TLSConnect=cert
        TLSAccept=cert
        TLSCAFile=/home/zabbix/zabbix_ca_file
        TLSServerCertIssuer=CN=חתימה CA,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com
        TLSServerCertSubject=CN=Proxy Zabbix,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com
        TLSCertFile=/home/zabbix/zabbix_agentd.crt
        TLSKeyFile=/home/zabbix/zabbix_agentd.key

(הדוגמה מניחה שהמארח מנוטר באמצעות פרוקסי, ומכאן פרוקסי נושא התעודה.)

5. הגדר הצפנה עבור סוכן זה בחזית Zabbix:

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

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

agent_config.png

הגבלת מנפיק ותעודה מותר

כאשר שני רכיבי Zabbix (למשל שרת וסוכן) מקימים TLS חיבור שניהם בודקים אחד את השני אישורים. אם עמית האישור חתום על ידי CA מהימן (עם תצורה ברמה העליונה מוגדרת מראש אישור ב-'TLSCAFile'), תקף, לא פג תוקף ועובר חלק בדיקות אחרות ואז התקשורת יכולה להמשיך. מנפיק תעודה ו הנושא לא נבדק במקרה הפשוט ביותר הזה.

כאן יש סיכון - כל מי שיש לו תעודה תקפה יכול להתחזות כל אחד אחר (למשל, ניתן להשתמש באישור מארח כדי להתחזות שרת). זה עשוי להיות מקובל בסביבות קטנות שבהן תעודות חתומים על ידי CA ייעודי פנימי והסיכון להתחזות נמוך.

אם CA ברמה העליונה שלך משמש להנפקת אישורים אחרים, מה צריך לא יתקבל על ידי Zabbix או שאתה רוצה להפחית את הסיכון להתחזות אתה יכול להגביל אישורים מותרים על ידי ציון המנפיק שלהם ו מחרוזות נושא.

לדוגמה, אתה יכול לכתוב בקובץ תצורת ה-Proxy של Zabbix:

 TLSServerCertIssuer=CN=חתימה CA,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com
        TLSServerCertSubject=CN=שרת Zabbix,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com

עם הגדרות אלה, פרוקסי פעיל לא ידבר עם שרת Zabbix מחרוזת מנפיק או נושא שונה בתעודה, פרוקסי פסיבי יעשה זאת לא לקבל בקשות משרת כזה.

כמה הערות לגבי התאמת מחרוזת מנפיק או נושא:

  1. מחרוזות המנפיק והנושא נבדקות באופן עצמאי. שניהם אופציונאלי.
  2. תווים UTF-8 מותרים.
  3. מחרוזת לא מוגדרת פירושה שכל מחרוזת מתקבלת.
  4. מחרוזות מושווים "כפי שהם", הם חייבים להיות זהים לחלוטין התאמה.
  5. תווים כלליים וביטויים רגועים אינם נתמכים בהתאמה.
  6. רק כמה דרישות מ-RFC 4514 Lightweight Directory Access פרוטוקול (LDAP): ייצוג מחרוזת של נכבדים שמות מיושמים:
    1. תווי בריחה '"' (U+0022), '+' U+002B, ',' U+002C, ';' U+003B, '<' U+003C, '>' U+003E, '\' U+005C בכל מקום ב חוּט.
    2. רווח תווים בריחה (' ' U+0020) או סימן מספר ('#' U+0023) בתחילת המחרוזת.
    3. escape space character (' ' U+0020) בסוף המחרוזת.
  7. ההתאמה נכשלת אם נתקל בתו ריק (U+0000) (RFC 4514 מאפשר זאת).
  8. דרישות של RFC 4517 Lightweight Directory Access Protocol (LDAP): תחבירים והתאמה כללים ו-RFC 4518 קל משקל פרוטוקול גישה למדריך (LDAP): מחרוזת בינלאומית הכנה אינם נתמכים עקב כמות העבודה הנדרשת.

סדר השדות במחרוזות המנפיק והנושא והעיצוב הם חָשׁוּב! Zabbix עוקב אחר RFC 4514 המלצה ומשתמש בסדר "הפוך" של שדות.

ניתן להמחיש את הסדר ההפוך בדוגמה:

 TLSServerCertIssuer=CN=חתימה CA,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com
        TLSServerCertSubject=CN=Proxy Zabbix,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com

שימו לב שהוא מתחיל ברמה נמוכה (CN), ממשיך לרמה בינונית (OU, O) ומסתיים בשדות ברמה העליונה (DC).

OpenSSL כברירת מחדל מציגה את השדות של מנפיק האישור והנושא סדר "רגיל", בהתאם לאפשרויות נוספות שנעשה בהן שימוש:

 $ openssl x509 -noout -in /home/zabbix/zabbix_proxy.crt -issuer -subject
        issuer= /DC=com/DC=zabbix/O=Zabbix SIA/OU=קבוצת פיתוח/CN=חותמת CA
        subject= /DC=com/DC=zabbix/O=Zabbix SIA/OU=קבוצת פיתוח/CN=Proxy של Zabbix
       
        $ openssl x509 -noout -text -in /home/zabbix/zabbix_proxy.crt
        תְעוּדָה:
                ...
                מנפיק: DC=com, DC=zabbix, O=Zabbix SIA, OU=קבוצת פיתוח, CN=Signing CA
            ...
                נושא: DC=com, DC=zabbix, O=Zabbix SIA, OU=קבוצת פיתוח, CN=Proxy Zabbix

כאן מחרוזות המנפיק והנושא מתחילות ברמה העליונה (DC) ומסתיימות ב שדה ברמה נמוכה (CN), רווחים ומפרידי שדות תלויים באפשרויות בשימוש. אף אחד מהערכים הללו לא יתאים במנפיק ובנושא של Zabbix שדות!

::: שימו לב חשוב כדי להפוך את המחרוזות הנכונות של המנפיק והנושא לשימוש ב-Zabbix הפעל את OpenSSL עם אפשרויות מיוחדות
-nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname:

:::

 $ openssl x509 -noout -מוציא -נושא \
                -nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname \
                -in /home/zabbix/zabbix_proxy.crt
        issuer= CN=חתימה CA,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com
        נושא= CN=Proxy Zabbix,OU=קבוצת פיתוח,O=Zabbix SIA,DC=zabbix,DC=com

כעת שדות המחרוזת נמצאים בסדר הפוך, השדות מופרדים בפסיקים, יכול לשמש בקבצי התצורה של Zabbix ובחזית הקצה.

מגבלות על שימוש בתוספי אישור X.509 v3

  • שם חלופי בנושא (subjectAltName) סיומת.
    שמות נושאים חלופיים מהסיומת subjectAltName (כמו IP כתובת, כתובת דואר אלקטרוני) אינם נתמכים על ידי Zabbix. רק ערך של ניתן לסמן את השדה "נושא" ב-Zabix (ראה הגבלה מותרת מנפיק תעודה ו נושא).
    אם האישור משתמש בסיומת subjectAltName אז התוצאה תלוי בשילוב מסוים של ערכות כלים קריפטו Zabbix רכיבים מורכבים עם (זה עשוי לעבוד או לא, Zabbix עשוי לסרב לקבל תעודות כאלה מעמיתים).
  • תוסף שימוש במפתח מורחב.
    אם משתמשים בו אז בדרך כלל גם clientAuth (לקוח TLS WWW אימות) ו-serverAuth (אימות שרת TLS WWW) הם נחוץ.
    לדוגמה, בבדיקות פסיביות סוכן Zabbix פועל בשרת TLS תפקיד, אז serverAuth חייב להיות מוגדר באישור הסוכן. לפעיל צריך להגדיר את אישור הסוכן בודק clientAuth.
    GnuTLS מוציא אזהרה במקרה של הפרת שימוש במפתח אך מאפשר תקשורת כדי להמשיך.
  • הרחבה של אילוצי שם.
    לא כל ערכות הכלים של קריפטו תומכות בזה. הרחבה זו עשויה למנוע Zabbix מטעינת אישורי CA שבו סעיף זה מסומן כ קריטי (תלוי בערכת כלים קריפטו מסוימת).

רשימות שלילת אישורים (CRL)

אם אישור נפרץ, CA יכולה לבטל אותו על ידי הכללה ב-CRL. ניתן להגדיר CRL בקובץ תצורה של שרת, פרוקסי וסוכן באמצעות הפרמטר TLSCRLFile. לדוגמה:

 TLSCRLFile=/home/zabbix/zabbix_crl_file

כאשר zabbix_crl_file עשוי להכיל CRL ממספר CAs ולהיראות כך:

 -----BEGIN X509 CRL-----
        MIIB/DCB5QIBATANBgkqhkiG9w0BAQUFADCBgTETMBEGCgmSJomT8ixkARkWA2Nv
        ...
        treZeUPjb7LSmZ3K2hpbZN7SoOZcAoHQ3GWd9npuctg=
        -----END X509 CRL-----
        -----BEGIN X509 CRL-----
        MIIB+TCB4gIBATANBgkqhkiG9w0BAQUFADB/MRMwEQYKCZImiZPyLGQBGRYDY29t
        ...
        CAEebS2CND3ShBedZ8YSil59O6JvaDP61lR5lNs=
        -----END X509 CRL-----

קובץ CRL נטען רק בהתחלה של Zabbix. עדכון CRL דורש הפעלה מחדש.

::: שימו לב חשוב אם רכיב Zabbix מורכב עם OpenSSL ו-CRL משמשים לאחר מכן כל CA ברמה העליונה והבינונית באישור לרשתות חייב להיות CRL תואם (הוא יכול להיות ריק) ב-'TLSCRLFile'.

:::