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 | לא | נושא אישור שרת מותר. |
Configuration examples
After setting up the necessary certificates, configure Zabbix components to use certificate-based encryption.
Below are detailed steps for configuring:
פרמטרים של תצורת אישור
| פרמטר | חובה | תיאור |
|---|---|---|
| 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:
- עבור אל: ניהול ← פרוקסי
- בחר פרוקסי ולחץ על הכרטיסייה הצפנה
בדוגמאות להלן ממלאים שדות המנפיק והנושא - ראה הגבלת אישור מותר מנפיק ו נושא מדוע וכיצד להשתמש בשדות אלו.
עבור פרוקסי פעיל

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

הגדרת הצפנה מבוססת תעודות עבור סוכן 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:
- עבור אל: תצורה → מארחים
- בחר מארח ולחץ על הכרטיסייה הצפנה
בדוגמה למטה ממולאים שדות המנפיק והנושא - ראה הגבלת אישור מותר מנפיק ו נושא מדוע וכיצד להשתמש בשדות אלו.

Zabbix web service
1. Prepare files with the top-level CA certificates, the Zabbix web service certificate/certificate chain, and the private key as described in the Zabbix server section.
Then, edit the TLSCAFile, TLSCertFile, and TLSKeyFile parameters in the Zabbix web service configuration file accordingly.
2. Edit an additional TLS parameter in the Zabbix web service configuration file: TLSAccept=cert
TLS parameters in the final web service configuration file may look as follows:
TLSAccept=cert
TLSCAFile=/home/zabbix/zabbix_ca_file
TLSCertFile=/home/zabbix/zabbix_web_service.crt
TLSKeyFile=/home/zabbix/zabbix_web_service.key
3. Configure Zabbix server to connect to the TLS-configured Zabbix web service by editing the WebServiceURL parameter in the Zabbix server configuration file:
WebServiceURL=https://example.com
הגבלת מנפיק ותעודה מותר
כאשר שני רכיבי 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 מחרוזת מנפיק או נושא שונה בתעודה, פרוקסי פסיבי יעשה זאת לא לקבל בקשות משרת כזה.
כמה הערות לגבי התאמת מחרוזת מנפיק או נושא:
- מחרוזות המנפיק והנושא נבדקות באופן עצמאי. שניהם אופציונאלי.
- תווים UTF-8 מותרים.
- מחרוזת לא מוגדרת פירושה שכל מחרוזת מתקבלת.
- מחרוזות מושווים "כפי שהם", הם חייבים להיות זהים לחלוטין התאמה.
- תווים כלליים וביטויים רגועים אינם נתמכים בהתאמה.
- רק כמה דרישות מ-RFC 4514 Lightweight Directory Access
פרוטוקול (LDAP): ייצוג מחרוזת של נכבדים
שמות מיושמים:
- תווי בריחה '"' (U+0022), '+' U+002B, ',' U+002C, ';' U+003B, '<' U+003C, '>' U+003E, '\' U+005C בכל מקום ב חוּט.
- רווח תווים בריחה (' ' U+0020) או סימן מספר ('#' U+0023) בתחילת המחרוזת.
- escape space character (' ' U+0020) בסוף המחרוזת.
- ההתאמה נכשלת אם נתקל בתו ריק (U+0000) (RFC 4514 מאפשר זאת).
- דרישות של 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 ובחזית הקצה.
Rules for matching Issuer and Subject strings
The rules for matching Issuer and Subject strings are as follows:
IssuerandSubjectstrings are checked independently. Both are optional.- An unspecified string means that any string is accepted.
- Strings are compared as is and must match exactly.
- UTF-8 characters are supported. However, wildcards (
*) or regular expressions are not supported. - The following RFC 4514 requirements are implemented - characters that require escaping (with a '
\' backslash, U+005C):- anywhere in the string: '
"' (U+0022), '+' (U+002B), ',' (U+002C), ';' (U+003B), '<' (U+003C), '>' (U+003E), '\\' (U+005C); - at the beginning of the string: space (' ', U+0020) or number sign ('
#', U+0023); - at the end of the string: space (' ', U+0020).
- anywhere in the string: '
- Null characters (U+0000) are not supported. If a null character is encountered, the matching will fail.
- RFC 4517 and RFC 4518 standards are not supported.
For example, if Issuer and Subject organization (O) strings contain trailing spaces and the Subject organizational unit (OU) string contains double quotes, these characters must be escaped:
TLSServerCertIssuer=CN=Signing CA,OU=Development head,O=\ Example SIA\ ,DC=example,DC=com
TLSServerCertSubject=CN=Zabbix server,OU=Development group \"5\",O=\ Example SIA\ ,DC=example,DC=com
Field order and formatting
Zabbix follows the recommendations of RFC 4514, which specifies a "reverse" order for these fields, starting with the lowest-level fields (CN), proceeding to the mid-level fields (OU, O), and concluding with the highest-level fields (DC).
TLSServerCertIssuer=CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
TLSServerCertSubject=CN=Zabbix proxy,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
In contrast, OpenSSL by default displays the Issuer and Subject strings in top-level to low-level order.
In the following example, Issuer and Subject fields start with the top-level (DC) and end with the low-level (CN) field.
The formatting with spaces and field separators also varies based on the options used, and thus will not match the format required by Zabbix.
$ openssl x509 -noout -in /home/zabbix/zabbix_proxy.crt -issuer -subject
issuer= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Development group/CN=Signing CA
subject= /DC=com/DC=zabbix/O=Zabbix SIA/OU=Development group/CN=Zabbix proxy
$ openssl x509 -noout -text -in /home/zabbix/zabbix_proxy.crt
Certificate:
...
Issuer: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Signing CA
...
Subject: DC=com, DC=zabbix, O=Zabbix SIA, OU=Development group, CN=Zabbix proxy
To format Issuer and Subject strings correctly for Zabbix, invoke OpenSSL with the following options:
$ openssl x509 -noout -issuer -subject \
-nameopt esc_2253,esc_ctrl,utf8,dump_nostr,dump_unknown,dump_der,sep_comma_plus,dn_rev,sname\
-in /home/zabbix/zabbix_proxy.crt
The output will then be in reverse order, comma-separated, and usable in Zabbix configuration files and frontend:
issuer= CN=Signing CA,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
subject= CN=Zabbix proxy,OU=Development group,O=Zabbix SIA,DC=zabbix,DC=com
מגבלות על שימוש בתוספי אישור 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'.
:::