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. Labākai drošībai 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 distributīva 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 distributīva 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 saskarnes instalēšanas laikā iespējojiet opciju Šifrēt savienojumus no Web saskarnes (un opciju Pārbaudīt servera sertifikāta izdevēju un subjektu, ja nepieciešams) un aizpildiet laukus TLS CA fails, TLS atslēgas fails, TLS sertifikāta fails (un laukus Servera TLS sertifikāta izdevējs un Servera TLS sertifikāta subjekts, ja nepieciešams):

Parametrs Apraksts
TLS CA fails Norādiet pilnu ceļu uz sertifikācijas iestādes (CA) sertifikāta failu, ko izmanto servera sertifikāta pārbaudei.
TLS atslēgas fails Norādiet pilnu ceļu uz klienta privātās atslēgas failu, kas atbilst klienta sertifikātam.
TLS sertifikāta fails Norādiet pilnu ceļu uz klienta sertifikāta failu, ja ir nepieciešama savstarpēja TLS autentifikācija.
Servera TLS sertifikāta izdevējs Norādiet izdevēja atšķirto nosaukumu (DN), ar kuru salīdzināt servera sertifikātu.
Servera TLS sertifikāta subjekts Norādiet subjekta atšķirto nosaukumu (DN), ar kuru 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