6 Drošs savienojums ar lietotāja saskarni

Pārskats

Šajā sadaļā ir sniegti Zabbix iestatīšanas soļi un konfigurācijas piemēri drošiem TLS savienojumiem starp Zabbix lietotāja saskarne un Zabbix serveri.

Konfigurācija

Pēc noklusējuma saziņa starp Zabbix lietotāja saskarne un Zabbix serveris nav šifrēta. Lai uzlabotu drošību, iespējojiet TLS abās pusēs. Tālāk ir sniegts piemērs vienkāršākajam veidam, kā to izdarīt.

1. Ģenerējiet sertifikātus un atslēgas.

Izveidojiet darba direktoriju:

sudo mkdir -p /etc/zabbix/ssl && cd /etc/zabbix/ssl

Izveidojiet CA sertifikātu (pielāgojiet MyZabbixCA vērtību, lai tā atbilstu faktiskajam vispārpieņemtajam nosaukumam):

sudo openssl genrsa -out ca.key 4096
sudo openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -subj "/CN=MyZabbixCA/"

Ģenerējiet privāto atslēgu un sertifikātu Zabbix serverim (pielāgojiet zabbix-server.example.com vērtību, lai tā atbilstu faktiskajam vispārpieņemtajam nosaukumam):

sudo openssl genrsa -out server.key 2048
sudo openssl req -new -key server.key -out server.csr -subj "/CN=zabbix-server.example.com/"
sudo openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -sha256 -out server.crt

Ģenerējiet privāto atslēgu un sertifikātu Zabbix lietotāja saskarnei (pielāgojiet zabbix-frontend-node vērtību, lai tā atbilstu faktiskajam vispārpieņemtajam nosaukumam):

sudo openssl genrsa -out frontend.key 2048
sudo openssl req -new -key frontend.key -out frontend.csr -subj "/CN=zabbix-frontend-node/"
sudo openssl x509 -req -days 365 -in frontend.csr -CA ca.crt -CAkey ca.key -CAcreateserial -sha256 -out frontend.crt

2. Iestatiet atbilstošas atļaujas.

Zabbix serverim (pielāgojiet īpašnieku/grupu atbilstoši jūsu distribūcijas Zabbix servera dēmona lietotājam):

sudo chown root:zabbix /etc/zabbix/ssl/server.{crt,key} /etc/zabbix/ssl/ca.crt
sudo chmod 640 /etc/zabbix/ssl/server.key
sudo chmod 644 /etc/zabbix/ssl/server.crt /etc/zabbix/ssl/ca.crt

Lietotāja saskarnei (pielāgojiet īpašnieku/grupu atbilstoši jūsu distribūcijas tīmekļa servera lietotājam):

sudo chown root:www-data /etc/zabbix/ssl/frontend.{crt,key}
sudo chmod 640 /etc/zabbix/ssl/frontend.key
sudo chmod 644 /etc/zabbix/ssl/frontend.crt

3. Konfigurējiet Zabbix serveri.

Failā zabbix_server.conf pievienojiet:

TLSFrontendAccept=cert
TLSCertFile=/etc/zabbix/ssl/server.crt
TLSKeyFile=/etc/zabbix/ssl/server.key
TLSCAFile=/etc/zabbix/ssl/ca.crt
# Pēc izvēles:
# TLSFrontendCertIssuer=/CN=MyZabbixCA/
# TLSFrontendCertSubject=/CN=zabbix-frontend-node/

Pēc tam restartējiet serveri:

sudo systemctl restart zabbix-server

4. Konfigurējiet Zabbix lietotāja saskarni.

Web interfeisa instalēšanas laikā iespējojiet opciju Encrypt connections from Web interface (un opciju Verify server certificate issuer and subject, ja nepieciešams) un aizpildiet laukus TLS CA file, TLS key file, TLS certificate file (un laukus Server TLS certificate issuer un Server TLS certificate subject, ja nepieciešams):

Parametrs Apraksts
TLS CA file Norādiet pilnu ceļu uz sertifikācijas iestādes (CA) sertifikāta failu, ko izmanto servera sertifikāta pārbaudei.
TLS key file Norādiet pilnu ceļu uz klienta privātās atslēgas failu, kas atbilst klienta sertifikātam.
TLS certificate file Norādiet pilnu ceļu uz klienta sertifikāta failu, ja ir nepieciešama savstarpēja TLS autentifikācija.
Server TLS certificate issuer Norādiet izdevēja atšķirto nosaukumu (DN), ar ko salīdzināt servera sertifikātu.
Server TLS certificate subject Norādiet subjekta atšķirto nosaukumu (DN), ar ko salīdzināt servera sertifikātu.

Esošās instalācijās rediģējiet šādus laukus failā zabbix.conf.php:

$ZBX_SERVER_TLS['ACTIVE'] = '1';
$ZBX_SERVER_TLS['CA_FILE'] = '/etc/zabbix/ssl/ca.crt';
$ZBX_SERVER_TLS['KEY_FILE'] = '/etc/zabbix/ssl/frontend.key';
$ZBX_SERVER_TLS['CERT_FILE'] = '/etc/zabbix/ssl/frontend.crt';
// Pēc izvēles:
// $ZBX_SERVER_TLS['CERTIFICATE_ISSUER']  = '/CN=MyZabbixCA/';
// $ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] = '/CN=zabbix-server.example.com/';

5. Pārbaudiet šifrēšanu, pārliecinoties, ka Zabbix lietotāja saskarne vai Zabbix servera žurnālfailā nav kļūdu ziņojumu:

tail -f /var/log/zabbix/zabbix_server.log