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 saskarni un Zabbix serveri nav šifrēta. Lai uzlabotu drošību, iespējojiet TLS abās pusēs. Tālāk ir parādīts vienkāršākais piemērs, kā to izdarīt.
1. Izveidojiet 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 kopīgajam nosaukumam):
sudo openssl genrsa -out ca.key 4096
sudo openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -subj "/CN=MyZabbixCA/"
Izveidojiet privāto atslēgu un sertifikātu Zabbix serverim (pielāgojiet zabbix-server.example.com vērtību, lai tā atbilstu faktiskajam kopīgajam 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
Izveidojiet privāto atslēgu un sertifikātu Zabbix lietotāja saskarnei (pielāgojiet zabbix-frontend-node vērtību, lai tā atbilstu faktiskajam kopīgajam 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 pareizās 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 saskarnes instalēšanas laikā iespējojiet opciju Encrypt connections from Web interface (un, ja nepieciešams, opciju Verify server certificate issuer and subject) un aizpildiet laukus TLS CA file, TLS key file, TLS certificate file (un, ja nepieciešams, laukus Server TLS certificate issuer un Server TLS certificate subject):

| Parameter | Description |
|---|---|
| TLS CA file | Norādiet pilnu ceļu uz sertifikātu iestādes (CA) sertifikāta failu, kas tiek izmantots 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šķirīgo nosaukumu (DN), kas jāsalīdzina ar servera sertifikātu. |
| Server TLS certificate subject | Norādiet subjekta atšķirīgo nosaukumu (DN), kas jāsalīdzina ar 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 saskarnes vai Zabbix servera žurnālfailā nav kļūdu ziņojumu:
tail -f /var/log/zabbix/zabbix_server.log