אפשר לאחסן מידע רגיש בסתר ב- HashiCorp Vault KV Secrets Engine - גרסה 2. ניתן לשמור סודות עבור:
Zabbix מספקת גישה לקריאה בלבד לסודות בכספת, בהנחה שכך סודות מנוהלים על ידי מישהו אחר.
אפשר לאחסן ערכי מאקרו של משתמש בסתר בכספת.
"סוד הכספת" הערך של מאקרו משתמש מכיל נתיב הפניה (כמו 'נתיב:מפתח', עבור דוגמה "secret/zabbix:password").
ניתן להשתמש בפקודות הבאות כדי להגדיר את הערך עבור הנתיב שהוזכר בדוגמה:
# אפשר נקודת הרכבה "סודית/" אם עדיין לא מופעלת, שים לב שיש להשתמש ב-"kv-v2"
$ vault secrets מאפשרים -path=secret/ kv-v2
# שים סוד חדש עם סיסמת מפתח תחת נקודת ההרכבה "סוד/" והנתיב "סוד/zabbix"
$ vault kv put secret/zabbix password=<סיסמה>
# בדוק שהסוד נוסף בהצלחה
$ vault kv get secret/zabbix
# לבסוף בדוק עם Curl, שים לב שיש להוסיף "נתונים" ידנית לאחר נקודת ההרכבה ו-"/v1" לפני נקודת ההרכבה, ראה גם פרמטר --capath
$ curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix
הערך הסודי מאוחזר על ידי שרת Zabbix בכל רענון של נתוני תצורה ומאוחסנים במטמון התצורה. ה אסימון אימות עבור גישת קריאה בלבד לנתיבי ההפניה חייב יסופקו בתצורת השרת (פרמטר 'VaultToken'). אם ה לא ניתן לאחזר בהצלחה את ערך המאקרו מהפריט המתאים השימוש בערך יהפוך ללא תמיכה.
אפשר גם להפעיל רענון של ערכים סודיים מ-Vault, באמצעות שורת הפקודה 'secrets_reload' אופציה.
Proxy Zabbix לעולם לא מתקשר עם Vault כדי לקבל סודות מלבד אישורי מסד נתונים. ערכים סודיים ב-Proxy Zabbix מאוחזרים שרת Zabbix על כל תצורה סנכרון ומאוחסן בתצורה מטמון באותו אופן כמו בשרת Zabbix.
זה אומר שפרוקסי של Zabbix לא יכול להתחיל באיסוף נתונים לאחר הפעלה מחדש עד שהוא מקבל את עדכון נתוני התצורה משרת Zabbix עבור הפעם הראשונה. יש לאפשר הצפנה בין שרת Zabbix לבין פרוקסי; אחרת נרשמת הודעת אזהרה בשרת.
זה נתמך לאחסון אישורי מסד נתונים המשמשים את שרת Zabbix, פרוקסי וחזית קצה בסתר בכספת:
אישורי מסד נתונים שיאוחזרו מהכספת יישמרו במטמון על ידי חזיתי. שים לב שספריית הקבצים הזמנית של מערכת הקבצים משמשת עבור שמירה במטמון של אישורי מסד נתונים ב-frontend. אתה יכול להשתמש ב ZBX_DATA_CACHE_TTL קבוע ל לשלוט באיזו תדירות מטמון הנתונים רענון/לא חוקי.
ניתן להשתמש בפקודות הבאות כדי להגדיר את הערכים עבור הנתיב שהוזכר בדוגמה:
# אפשר נקודת הרכבה "סודית/" אם עדיין לא מופעלת, שים לב שיש להשתמש ב-"kv-v2"
$ vault secrets מאפשרים -path=secret/ kv-v2
# שים סודות חדשים עם מפתחות שם משתמש וסיסמה תחת נקודת ההרכבה "סוד/" והנתיב "סוד/zabbix/בסיס נתונים"
$ vault kv put secret/zabbix/database username=zabbix password=<סיסמה>
# בדוק שהסוד נוסף בהצלחה
$ vault kv קבל סוד/zabbix/בסיס נתונים
# לבסוף בדוק עם Curl, שים לב שיש להוסיף "נתונים" ידנית לאחר נקודת ההרכבה ו-"/v1" לפני נקודת ההרכבה, ראה גם פרמטר --capath
$ curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix/database
עבור שרת/פרוקסי של Zabbix נוספו פרמטרי תצורה חדשים עבור אימות כספת ואחזור אישורי מסד נתונים:
שרת Zabbix ו-Proxy Zabbix קוראים את התצורה הקשורה לכספת פרמטרים מ-zabbix_server.conf ו-zabbix_proxy.conf בעת ההפעלה.
שרת Zabbix ו-Proxy Zabbix יקראו בנוסף "VAULT_TOKEN" משתנה סביבה פעם אחת במהלך האתחול ובטל אותו כך שיעשה זאת לא להיות זמין באמצעות סקריפטים מפוצלים; זו שגיאה אם שניהם VaultToken ו-VAULT_TOKEN מכילים ערך.
לוכסן קדימה ונקודתיים הם סמלים שמורים. קו נטוי ניתן להשתמש רק כדי להפריד בין נקודת הרכבה לנתיב (למשל סוד/zabbix כאשר נקודת ההר היא "סודית" ו-"zabbix" היא נתיב) ובמקרה של ניתן להשתמש בפקודות מאקרו של כספת, נקודתיים רק כדי להפריד בין נתיב למפתח. זה אפשר לקוד כתובת URL "/" ו-":" אם יש צורך ליצור mount נקודה עם שם שמופרד באמצעות לוכסן קדימה (למשל foo/bar/zabbix כאשר נקודת ההר היא "foo/bar" והנתיב הוא "zabbix" as "foo%2Fbar/zabbix") ואם השם או הנתיב של נקודת ההרכבה צריכים להכיל המעי הגס.
יש להוסיף אישור חתום על ידי רשות אישורים (CA). חנות ברירת המחדל של CA. לחלופין, מיקום חנות CA מותאם אישית יכול להיות שצוין באמצעות פרמטר תצורת SSLCALocation; שים לב שב במקרה זה יש להכין את ספריית האישורים באמצעות openssl כלי השירות c_rehash, לדוגמה, הגדר את SSLCALocation והעתק את "ca.pem" בתוך הספרייה הזו, ואז הפעל את הפקודה הבאה: