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

4 Biztonságos kapcsolat az adatbázissal

Áttekintés

Ez a szakasz a Zabbix beállítási lépéseit és konfigurációs példáit tartalmazza biztonságos TLS kapcsolatok a következők között:

Adatbázis Zabbix összetevők
MySQL Zabbix frontend, Zabbix szerver, Zabbix proxy
PostgreSQL Zabbix frontend, Zabbix szerver, Zabbix proxy

A DBMS-en belüli kapcsolattitkosítás beállításához lásd a hivatalos szállítót dokumentáció a részletekért:

  • MySQL: forrás- és replika-replikációs adatbázis-kiszolgálók.
  • MySQL: csoportreplikáció stb. adatbázis-kiszolgálók.
  • PostgreSQL titkosítási lehetőségek.

Minden példa a MySQL CE (8.0) és a PgSQL GA-kiadásain alapul (13) az AlmaLinux 8 használatával elérhető hivatalos adattárakból.

Követelmények

A titkosítás beállításához a következők szükségesek:

  • Fejlesztő által támogatott operációs rendszer OpenSSL >=1.1.X vagy alternatív.

Javasoljuk, hogy kerülje az operációs rendszert az élettartam végén, különösen új telepítések esetén

  • Adatbázis motor (RDBMS) telepítve és karbantartva a hivatalos a fejlesztő által biztosított adattár. Az operációs rendszereket gyakran szállítják elavult adatbázisszoftver-verziókkal, amelyekhez titkosítást kell alkalmazni támogatás nincs megvalósítva, például RHEL 7 alapú rendszerek ill PostgreSQL 9.2, MariaDB 5.5 titkosítási támogatás nélkül.
Terminológia

Ennek a beállításnak a megadása kényszeríti a TLS-kapcsolat használatát az adatbázishoz Zabbix szerver/proxy és frontend az adatbázishoz:

  • kötelező - csatlakozzon TLS-sel, mint szállítási móddal, azonosító nélkül csekk;
  • verify_ca - csatlakozzon TLS-sel és ellenőrizze a tanúsítványt;
  • verify_full - csatlakozzon TLS-sel, ellenőrizze a tanúsítványt, és ellenőrizze a DBHost által megadott adatbázis-azonosító (CN) megegyezik a tanúsítványával;

Zabbix konfiguráció

Frontend az adatbázishoz

Az adatbázishoz való biztonságos kapcsolat a frontend során konfigurálható telepítés:

  • Jelölje be az Adatbázis TLS titkosítás jelölőnégyzetet a Configure DB connection lépés a szállítási titkosítás engedélyezéséhez.
  • Jelölje be az Adatbázis-tanúsítvány ellenőrzése jelölőnégyzetet, amely akkor jelenik meg A TLS titkosítás mező be van jelölve a titkosítás engedélyezéséhez tanúsítványokat.

MySQL esetén az Adatbázis TLS titkosítás jelölőnégyzet a következő letiltva, ha a Database host beállítása localhost, mert a kapcsolat amely socket fájlt (Unix rendszeren) vagy megosztott memóriát (Windows rendszeren) használ, nem titkosítva legyen.
PostgreSQL esetén a TLS titkosítás jelölőnégyzet le van tiltva, ha az érték az Adatbázis host mező perjellel kezdődik, vagy a mező üres.

A következő paraméterek válnak elérhetővé a TLS titkosításban tanúsítvány mód (ha mindkét jelölőnégyzet be van jelölve):

Paraméter Leírás
Adatbázis TLS CA-fájl Adja meg az érvényes TLS-tanúsítványszolgáltató (CA) fájl teljes elérési útját.
Adatbázis TLS-kulcsfájlja Adja meg az érvényes TLS-kulcsfájl teljes elérési útját.
Adatbázis TLS-tanúsítványfájl Adja meg az érvényes TLS-tanúsítványfájl teljes elérési útját.
Adatbázis gazdagép ellenőrzése Jelölje be ezt a jelölőnégyzetet a gazdagép-ellenőrzés aktiválásához.
Letiltva a MYSQL-nél, mert a PHP MySQL könyvtár nem teszi lehetővé a peer tanúsítvány érvényesítési lépésének kihagyását.
Adatbázis TLS titkosítási listája Adja meg az érvényes titkosítások egyéni listáját. A rejtjellista formátumának meg kell felelnie az OpenSSL szabványnak.
Csak MySQL esetén érhető el.

A TLS-paramétereknek érvényes fájlokra kell mutatniuk. Ha ők nem létező vagy érvénytelen fájlokra mutat, akkor a engedélyezési hiba.
Ha a tanúsítványfájlok írhatók, a frontend figyelmeztetést generál a rendszer information](/manual/web_interface/frontend_sections/reports/status_of_zabbix) jelentse, hogy "A TLS-tanúsítványfájloknak csak olvashatóknak kell lenniük." (csak megjelenik ha a PHP felhasználó a tanúsítvány tulajdonosa).

A jelszóval védett tanúsítványok nem támogatottak.

Használati esetek

A Zabbix frontend grafikus felületet használ a lehetséges opciók meghatározásához: kötelező, verify_ca, verify_full. Adja meg a szükséges beállításokat a telepítésben varázsló lépése DB-kapcsolatok konfigurálása. Ezek a lehetőségek a konfigurációs fájlt (zabbix.conf.php) a következő módon:

GUI beállítások Konfigurációs fájl Leírás Eredmény
...
// TLS-kapcsolathoz használjuk.
$DB ['ENCRYPTION'] = igaz;
$DB['KEY_FILE'] = '';
$DB['CERT_FILE'] = ';
$ DB['CA_FILE'] = ';
$DB['VERIFY_HOST'] = hamis;
$DB['CIPHER_LIST'] = ';< br>...
Ellenőrizze az Adatbázis TLS-titkosítását
Hagyja az Adatbázis-tanúsítvány ellenőrzése jelölőnégyzetet bejelöletlenül
Engedélyezze a „szükséges” módot.
...
$DB['ENCRYPTION'] = igaz; \\ $DB['KEY_FILE'] = '';
$DB['CERT_FILE'] = '';
$DB['CA_FILE' ] = '/etc/ssl/mysql/ca.pem';
$DB['VERIFY_HOST'] = hamis;
$DB['CIPHER_LIST'] = ';
...
1. Ellenőrizze az Adatbázis TLS-titkosítást és az Az adatbázis-tanúsítvány ellenőrzését
2. Adja meg az Adatbázis TLS CA-fájl elérési útját
Engedélyezze a 'verify_ca' módot.
...
// TLS-kapcsolathoz használják szigorúan meghatározott titkosítási listával.
$DB['ENCRYPTION'] = igaz;
$DB['KEY_FILE'] = '<kulcs_fájl_elérési út>';
$DB['CERT _FILE'] = '<kulcs_fájl_elérési út>';
$DB['CA_FILE'] = '<kulcs_fájl_elérési út>';
$DB['VERIFY _HOST'] = igaz;
$DB['CIPHER_LIST'] = '<titkosítás_lista>';
...

Vagy:

...
// TLS-kapcsolathoz használatos titkosítási lista definiálása nélkül – a MySQL szerver által kiválasztott
$DB['ENCRYPTION'] = true;
$DB['KEY_FILE'] = '<kulcs_fájl_elérési út>';
$DB['CERT_FILE'] = '<kulcs_fájl_elérési út>';
$DB['CA_FILE'] = '<kulcs_fájl_elérési út>';
$DB['VERIFY_HOST'] = igaz;
$DB['CIPHER_LIST'] = ';
. ..
1. Ellenőrizze az Adatbázis TLS-titkosítást és az Az adatbázis-tanúsítvány ellenőrzését
2. Adja meg az Adatbázis TLS kulcsfájl elérési útját.
3. Adja meg az Database TLS CA fájl elérési útját
4. Adja meg az Adatbázis TLS-tanúsítványfájl elérési útját.
6. Adja meg a TLS titkosítási listát (opcionális)
Engedélyezze a 'ellenőrzés_teljes' módot a MySQL számára.
...
$DB['ENCRYPTION'] = igaz;
$DB['KEY_FILE'] = '<kulcs_fájl_elérési út>';
$DB['CERT_FILE'] = '<kulcs_fájl_elérési út>';
$DB['CA_FILE'] = '<kulcs_fájl_útvonal>';
$DB['VERIFY_HOST'] = igaz;
$DB[' CIPHER_LIST'] = ' ';
...
1. Ellenőrizze az Adatbázis TLS-titkosítást és az Az adatbázis-tanúsítvány ellenőrzését
2. Adja meg az Adatbázis TLS kulcsfájl elérési útját.
3. Adja meg az Database TLS CA fájl elérési útját
4. Adja meg az Adatbázis TLS-tanúsítványfájl elérési útját.
6. Jelölje be az Adatbázis gazdagép ellenőrzése
Engedélyezze a 'verify_full' módot a PostgreSQL-hez.

Lásd még: Titkosítási konfigurációs példák ehhez MySQL, titkosítás konfigurációs példák ehhez PostgreSQL.

Zabbix szerver/proxy konfiguráció

Az adatbázishoz való biztonságos kapcsolatok konfigurálhatók a megfelelő paraméterek a Zabbix [szerverben] (/manual/appendix/config/zabbix_server) és/vagy proxy konfigurációs fájl.

Konfiguráció Eredmény
Nincs Kapcsolódás az adatbázishoz titkosítás nélkül.
1. Állítsa be a DBTLSConnect=required A kiszolgáló/proxy TLS-kapcsolatot hoz létre az adatbázishoz. Titkosítatlan kapcsolat nem engedélyezett.
1. Állítsa be a DBTLSConnect=verify_ca
2. DBTLSCAFile beállítása - adja meg a TLS tanúsítványkibocsátó fájlt
A kiszolgáló/proxy az adatbázis-tanúsítvány ellenőrzése után TLS-kapcsolatot hoz létre az adatbázishoz.
1. Állítsa be a DBTLSConnect=verify_full
2. DBTLSCAFile beállítása - adja meg a TLS tanúsítványkibocsátó fájlt
A kiszolgáló/proxy TLS-kapcsolatot hoz létre az adatbázishoz, miután ellenőrizte az adatbázis-tanúsítványt és az adatbázis-gazdaazonosítót.
1. DBTLSCAFile beállítása – adja meg a TLS tanúsítványkibocsátó fájlját
2. DBTLSCertFile beállítása – adja meg az ügyfél nyilvános kulcsú tanúsítványfájlját
3. DBTLSKeyFile beállítása - adja meg az ügyfél privát kulcsának fájlját
A kiszolgáló/proxy ügyféltanúsítványt biztosít az adatbázishoz való csatlakozás során.
1. Set DBTLSCipher – azon titkosítási rejtjelek listája, amelyeket az ügyfél engedélyez a TLS protokollokat használó kapcsolatokhoz TLS 1.2-ig

vagy DBTLSCipher13 – azon titkosítási rejtjelek listája, amelyeket az ügyfél engedélyez a TLS 1.3 protokollt használó kapcsolatokhoz
(MySQL) TLS a kapcsolat a megadott listából származó titkosítással jön létre.
(PostgreSQL) Ennek az opciónak a beállítása hibának minősül.