סעיף זה מספק שלבי הגדרה של Zabbix ודוגמאות תצורה עבור חיבורי TLS מאובטחים בין:
מסד נתונים | רכיבי Zabbix |
---|---|
MySQL | חזית Zabbix, שרת Zabbix, פרוקסי Zabbix |
PostgreSQL | החזית של Zabbix, שרת Zabbix, פרוקסי של Zabbix |
כדי להגדיר הצפנת חיבור בתוך ה-DBMS, עיין בספק הרשמי תיעוד לפרטים:
כל הדוגמאות מבוססות על מהדורות ה-GA של MySQL CE (8.0) ו-PgSQL (13) זמין דרך מאגרים רשמיים באמצעות AlmaLinux 8.
נדרשים הדברים הבאים כדי להגדיר הצפנה:
מומלץ להימנע ממערכת הפעלה במצב סוף החיים, במיוחד במקרה של התקנות חדשות
הגדרת אפשרות זו אוכפת להשתמש בחיבור TLS למסד נתונים שרת/פרוקסי של Zabbix ו-frontend למסד נתונים:
ניתן להגדיר חיבור מאובטח למסד הנתונים במהלך ה-frontend הַתקָנָה:
עבור MySQL, תיבת הסימון הצפנת מסד נתונים TLS היא מושבת, אם מארח מסד נתונים מוגדר למארח מקומי, בגלל חיבור שמשתמש בקובץ socket (ב-Unix) או בזיכרון משותף (ב-Windows) אינו יכול להיות מוצפן.
עבור PostgreSQL, תיבת הסימון הצפנת TLS מושבתת, אם הערך של השדה מארח מסד נתונים מתחיל בקו נטוי או שהשדה ריק.
הפרמטרים הבאים הופכים לזמינים בהצפנת TLS ב מצב אישורים (אם שתי תיבות הסימון מסומנות):
פרמטר | תיאור |
---|---|
קובץ TLS CA של מסד נתונים | ציין את הנתיב המלא לקובץ רשות אישור TLS (CA) חוקי. |
קובץ מפתח TLS של מסד נתונים | ציין את הנתיב המלא לקובץ מפתח TLS חוקי. |
קובץ אישור TLS של מסד נתונים | ציין את הנתיב המלא לקובץ אישור TLS חוקי. |
אימות מארח מסד נתונים | סמן תיבת סימון זו כדי להפעיל אימות מארח. מושבת עבור MYSQL, מכיוון שספריית PHP MySQL אינה מאפשרת לדלג על שלב אימות אישור עמית. |
רשימת צופן TLS של מסד נתונים | ציין רשימה מותאמת אישית של צפנים חוקיים. הפורמט של רשימת הצופן חייב להתאים לתקן OpenSSL. זמין עבור MySQL בלבד. |
::: שימו לב חשוב פרמטרי TLS חייבים להצביע על קבצים חוקיים. אם הם להצביע על קבצים לא קיימים או לא חוקיים, זה יוביל ל- שגיאת הרשאה.
אם קבצי אישור ניתנים לכתיבה, ה-frontend יוצר אזהרה בפנים המערכת information](/manual/web_interface/frontend_sections/reports/status_of_zabbix) דווח כי "קובצי אישור TLS חייבים להיות לקריאה בלבד." (מוצג בלבד אם משתמש ה-PHP הוא הבעלים של האישור).
אישורים המוגנים בסיסמאות אינם נתמכים. :::
Frontend Zabbix משתמש בממשק GUI כדי להגדיר אפשרויות אפשריות: נדרש, verify_ca, verify_full. ציין את האפשרויות הנדרשות בהתקנה שלב האשף הגדר חיבורי DB. אפשרויות אלה ממופות ל- קובץ התצורה (zabbix.conf.php) באופן הבא:
הגדרות GUI | קובץ תצורה | תיאור | תוצאה |
---|---|---|---|
... // משמש לחיבור TLS. $DB ['ENCRYPTION'] = true; $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $ DB['CA_FILE'] = ''; $DB['VERIFY_HOST'] = false; $DB['CIPHER_LIST'] = '';< br>... |
בדוק הצפנת TLS של מסד נתונים השאיר את אימות אישור מסד נתונים לא מסומן |
אפשר מצב 'נדרש'. | |
... $DB['ENCRYPTION'] = true; \\ $DB['KEY_FILE'] = ''; $DB['CERT_FILE'] = ''; $DB['CA_FILE' ] = '/etc/ssl/mysql/ca.pem'; $DB['VERIFY_HOST'] = false; $DB['CIPHER_LIST'] = ''; ... |
1. סמן את הצפנת TLS של מסד נתונים ו-אמת את אישור מסד הנתונים 2. ציין נתיב ל-קובץ TLS CA של מסד נתונים |
הפעל את מצב 'verify_ca'. | |
... // משמש לחיבור TLS עם רשימת צופנים מוגדרת בקפדנות. $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = '<key_file_path>'; $DB['CERT _FILE'] = '<key_file_path>'; $DB['CA_FILE'] = '<key_file_path>'; $DB['אימות _HOST'] = true; $DB['CIPHER_LIST'] = '<cipher_list>'; ... או: ... // משמש לחיבור TLS ללא רשימת צופן מוגדרת - נבחר על ידי שרת MySQL $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = '<key_file_path>'; $DB['CERT_FILE'] = '<key_file_path>'; $DB['CA_FILE'] = '<key_file_path>'; $DB['VERIFY_HOST'] = true; $DB['CIPHER_LIST'] = ''; . .. |
1. סמן את הצפנת TLS של מסד נתונים ו-אמת את אישור מסד הנתונים 2. ציין נתיב ל-קובץ מפתח TLS של מסד נתונים 3. ציין נתיב ל-קובץ TLS CA של מסד נתונים 4. ציין נתיב ל-קובץ אישור מסד נתונים TLS 6. ציין רשימת צופן TLS (אופציונלי) |
אפשר מצב 'אימות_full' עבור MySQL. | |
... $DB['ENCRYPTION'] = true; $DB['KEY_FILE'] = '<key_file_path>'; $DB['CERT_FILE'] = '<key_file_path>'; $DB['CA_FILE'] = '<key_file_path>'; $DB['VERIFY_HOST'] = true; $DB[' CIPHER_LIST'] = ' '; ... |
1. סמן את הצפנת TLS של מסד נתונים ו-אמת את אישור מסד הנתונים 2. ציין נתיב ל-קובץ מפתח TLS של מסד נתונים 3. ציין נתיב ל-קובץ TLS CA של מסד נתונים 4. ציין נתיב ל-קובץ אישור מסד נתונים TLS 6. סמן אימות מארח מסד נתונים |
אפשר מצב 'verify_full' עבור PostgreSQL. |
ראה גם: דוגמאות לתצורת הצפנה עבור MySQL, הצפנה דוגמאות תצורה עבור PostgreSQL.
ניתן להגדיר חיבורים מאובטחים למסד הנתונים עם ההתאמה פרמטרים ב-zabbix שרת ו/או קובץ התצורה של proxy.
תצורה | תוצאה |
---|---|
ללא | חיבור למסד הנתונים ללא הצפנה. |
1. הגדר DBTLSConnect=required | שרת/פרוקסי צור חיבור TLS למסד הנתונים. חיבור לא מוצפן אסור. |
1. הגדר DBTLSConnect=verify_ca 2. הגדר DBTLSCAFile - ציין את קובץ רשות האישורים של TLS |
שרת/פרוקסי יוצרים חיבור TLS למסד הנתונים לאחר אימות אישור מסד הנתונים. |
1. הגדר DBTLSConnect=verify_full 2. הגדר DBTLSCAFile - ציין קובץ רשות אישורים TLS |
שרת/פרוקסי יוצרים חיבור TLS למסד הנתונים לאחר אימות אישור מסד הנתונים וזהות מארח מסד הנתונים. |
1. הגדר DBTLSCAFile - ציין קובץ רשות אישור TLS 2. הגדר DBTLSCertFile - ציין את קובץ אישור המפתח הציבורי של הלקוח 3. הגדר DBTLSKeyFile - ציין את קובץ המפתח הפרטי של הלקוח |
שרת/פרוקסי מספקים אישור לקוח בזמן ההתחברות למסד הנתונים. |
1. הגדר DBTLSCipher - רשימת צפני ההצפנה שהלקוח מתיר לחיבורים באמצעות פרוטוקולי TLS עד TLS 1.2 או DBTLSCipher13 - רשימת צפני ההצפנה שהלקוח מתיר לחיבורים באמצעות פרוטוקול TLS 1.3 |
(MySQL) TLS החיבור מתבצע באמצעות צופן מהרשימה המסופקת. (PostgreSQL) הגדרת אפשרות זו תיחשב כשגיאה. |