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

4 חיבור מאובטח למסד הנתונים

סקירה כללית

סעיף זה מספק שלבי הגדרה של Zabbix ודוגמאות תצורה עבור חיבורי TLS מאובטחים בין:

מסד נתונים רכיבי Zabbix
MySQL חזית Zabbix, שרת Zabbix, פרוקסי Zabbix
PostgreSQL החזית של Zabbix, שרת Zabbix, פרוקסי של Zabbix

כדי להגדיר הצפנת חיבור בתוך ה-DBMS, עיין בספק הרשמי תיעוד לפרטים:

  • MySQL: שרתי מסד נתונים של שכפול מקור ושכפול.
  • MySQL: שכפול קבוצות וכו' שרתי מסד נתונים.
  • PostgreSQL אפשרויות הצפנה.

כל הדוגמאות מבוססות על מהדורות ה-GA של MySQL CE (8.0) ו-PgSQL (13) זמין דרך מאגרים רשמיים באמצעות AlmaLinux 8.

דרישות

נדרשים הדברים הבאים כדי להגדיר הצפנה:

  • מערכת הפעלה הנתמכת על ידי מפתחים עם OpenSSL >=1.1.X או חֲלוּפָה.

מומלץ להימנע ממערכת הפעלה במצב סוף החיים, במיוחד במקרה של התקנות חדשות

  • מנוע מסד נתונים (RDBMS) מותקן ומתוחזק מהפקיד מאגר מסופק על ידי המפתח. מערכות הפעלה נשלחות לעתים קרובות עם גרסאות תוכנת מסד נתונים מיושנות שעבורן הצפנה תמיכה אינה מיושמת, למשל מערכות מבוססות RHEL 7 ו PostgreSQL 9.2, MariaDB 5.5 ללא תמיכה בהצפנה.
טרמינולוגיה

הגדרת אפשרות זו אוכפת להשתמש בחיבור TLS למסד נתונים שרת/פרוקסי של Zabbix ו-frontend למסד נתונים:

  • חובה - התחבר באמצעות TLS כמצב תחבורה ללא זהות המחאות;
  • verify_ca - התחבר באמצעות TLS ואימות אישור;
  • verify_full - התחבר באמצעות TLS, אמת אישור ואמת זאת זהות מסד הנתונים (CN) שצוינה על ידי DBHost תואמת את האישור שלו;

תצורת Zabbix

ממשק קצה למסד הנתונים

ניתן להגדיר חיבור מאובטח למסד הנתונים במהלך ה-frontend הַתקָנָה:

  • סמן את תיבת הסימון הצפנת מסד TLS בתיבת הגדר DB חיבור שלב לאפשר הצפנת תחבורה.
  • סמן את תיבת הסימון אמת אישור מסד נתונים שמופיעה כאשר שדה הצפנת TLS מסומן כדי לאפשר הצפנה עם תעודות.

עבור 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

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