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

2 PostgreSQL encryption configuration

סקירה כללית

סעיף זה מספק מספר דוגמאות לתצורת הצפנה עבור CentOS 8.2 ו-PostgreSQL 13.

חיבור בין Zabbix frontend ו PostgreSQL לא יכול להיות מוצפן (פרמטרים ב-GUI מושבתים), אם הערך של Database שדה host מתחיל בקו נטוי או שהשדה ריק.

דרישות מוקדמות

התקן את מסד הנתונים PostgreSQL באמצעות ה-official מאגר.

PostgreSQL אינו מוגדר לקבל חיבורי TLS ישירות מהקופסה. אנא עקוב אחר ההוראות מהתיעוד של PostgreSQL עבור הכנת תעודה עם postgresql.conf וכן גם עבור גישת משתמש שליטה דרך ph_hba.conf.

כברירת מחדל, שקע PostgreSQL נקשר ל-localhost, עבור ה- חיבורי רשת מרחוק מאפשרים להאזין ברשת האמיתית מִמְשָׁק.

הגדרות PostgreSQL לכולם מצבים יכול להיראות כך זֶה:

/var/lib/pgsql/13/data/postgresql.conf:

 ...
        ssl = פועל
        ssl_ca_file = 'root.crt'
        ssl_cert_file = 'server.crt'
        ssl_key_file = 'server.key'
        ssl_ciphers = 'גבוה:בינוני:+3DES:!aNULL'
        ssl_prefer_server_ciphers = מופעל
        ssl_min_protocol_version = 'TLSv1.3'
        ...

עבור בקרת גישה, התאם את /var/lib/pgsql/13/data/pg_hba.conf:

 ...
        ### דורש
        hostssl כולם כולם 0.0.0.0/0 md5
       
        ### אמת CA
        hostssl הכל הכל 0.0.0.0/0 md5 clientcert=verify-ca
       
        ### לאמת מלא
        hostssl הכל הכל 0.0.0.0/0 md5 clientcert=verify-full
        ...

מצב נדרש

חזיתי

כדי לאפשר הצפנה לתחבורה בלבד עבור חיבורים בין Zabbix ממשק קצה ומסד הנתונים:

  • בדוק הצפנת TLS של מסד נתונים
  • השאר את אמת אישור מסד נתונים לא מסומן

שרת

כדי לאפשר הצפנה לתחבורה בלבד עבור חיבורים בין שרת ל- את מסד הנתונים, הגדר את /etc/zabbix/zabbix_server.conf:

 ...
        DBHost=10.211.55.9
        DBName=zabbix
        DBUser=zbx_srv
        DBPassword=<strong_password>
        DBTLSConnect=נדרש
        ...

אמת את מצב CA

חזיתי

כדי לאפשר הצפנה עם אימות רשות האישורים עבור חיבורים בין חזית Zabbix למסד הנתונים:

  • בדוק הצפנת מסד נתונים TLS ו-אמת את אישור מסד הנתונים
  • ציין נתיב ל-קובץ מפתח TLS של מסד נתונים
  • ציין נתיב ל-קובץ TLS CA של מסד נתונים
  • ציין נתיב ל-קובץ אישור TLS של מסד נתונים

לחלופין, ניתן להגדיר זאת ב-/etc/zabbix/web/zabbix.conf.php:

 ...
        $DB['ENCRYPTION'] = נכון;
        $DB['KEY_FILE'] = '';
        $DB['CERT_FILE'] = '';
        $DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt';
        $DB['VERIFY_HOST'] = false;
        $DB['CIPHER_LIST'] = '';
        ...

שרת

כדי לאפשר הצפנה עם אימות אישור עבור חיבורים בין שרת Zabbix למסד הנתונים, הגדר /etc/zabbix/zabbix_server.conf:

 ...
        DBHost=10.211.55.9
        DBName=zabbix
        DBUser=zbx_srv
        DBPassword=<strong_password>
        DBTLSConnect=verify_ca
        DBTLSCAFile=/etc/ssl/pgsql/root.crt
        ...

אמת מצב מלא

חזיתי

כדי לאפשר הצפנה עם אישור וזהות מארח מסד הנתונים אימות לחיבורים בין חזית Zabbix למסד הנתונים:

  • בדוק הצפנת מסד נתונים TLS ו-אמת את אישור מסד הנתונים
  • ציין נתיב ל-קובץ מפתח TLS של מסד נתונים
  • ציין נתיב ל-קובץ TLS CA של מסד נתונים
  • ציין נתיב ל-קובץ אישור TLS של מסד נתונים
  • בדוק אימות מארח מסד נתונים

לחלופין, ניתן להגדיר זאת ב-/etc/zabbix/web/zabbix.conf.php:

 $DB['ENCRYPTION'] = נכון;
        $DB['KEY_FILE'] = '';
        $DB['CERT_FILE'] = '';
        $DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt';
        $DB['VERIFY_HOST'] = נכון;
        $DB['CIPHER_LIST'] = '';
        ...

שרת

כדי לאפשר הצפנה עם אישור וזהות מארח מסד הנתונים אימות לחיבורים בין שרת Zabbix למסד הנתונים, הגדר את /etc/zabbix/zabbix_server.conf:

 ...
        DBHost=10.211.55.9
        DBName=zabbix
        DBUser=zbx_srv
        DBPassword=<strong_password>
        DBTLSConnect=verify_full
        DBTLSCAFile=/etc/ssl/pgsql/root.crt
        DBTLSCertFile=/etc/ssl/pgsql/client.crt
        DBTLSKeyFile=/etc/ssl/pgsql/client.key
        ...