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

13 אחסון סודות

סקירה כללית

אפשר לאחסן מידע רגיש בסתר ב- 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 התקנה אשף.

אישורי מסד נתונים שיאוחזרו מהכספת יישמרו במטמון על ידי חזיתי. שים לב שספריית הקבצים הזמנית של מערכת הקבצים משמשת עבור שמירה במטמון של אישורי מסד נתונים ב-frontend. אתה יכול להשתמש ב ZBX_DATA_CACHE_TTL קבוע ל לשלוט באיזו תדירות מטמון הנתונים רענון/לא חוקי.

  • עבור שרת/פרוקסי ניתן להשתמש בפרמטר התצורה של VaultDBPath כדי לציין את הנתיב ממנו יהיו האישורים עבור מסד הנתונים מאוחזר על ידי מפתחות 'סיסמה' ו'שם משתמש' (לדוגמה: סוד/zabbix/בסיס נתונים).

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

 # אפשר נקודת הרכבה "סודית/" אם עדיין לא מופעלת, שים לב שיש להשתמש ב-"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 נוספו פרמטרי תצורה חדשים עבור אימות כספת ואחזור אישורי מסד נתונים:

  • VaultToken - אסימון אימות כספת (ראה Zabbix שרת/proxy קובץ תצורה לפרטים)
  • VaultURL - כתובת URL של שרת כספת HTTP[S]
  • VaultDBPath - נתיב הכספת ממנו יהיו אישורי מסד הנתונים מאוחזר על ידי מפתחות 'סיסמה' ו'שם משתמש' (לדוגמה: סוד/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") ואם השם או הנתיב של נקודת ההרכבה צריכים להכיל המעי הגס.

הגדרת TLS

יש להוסיף אישור חתום על ידי רשות אישורים (CA). חנות ברירת המחדל של CA. לחלופין, מיקום חנות CA מותאם אישית יכול להיות שצוין באמצעות פרמטר תצורת SSLCALocation; שים לב שב במקרה זה יש להכין את ספריית האישורים באמצעות openssl כלי השירות c_rehash, לדוגמה, הגדר את SSLCALocation והעתק את "ca.pem" בתוך הספרייה הזו, ואז הפעל את הפקודה הבאה:

 $c_rehash .