6 Безбедна веза са корисничким интерфејсом

Преглед

Овај одељак пружа кораке подешавања и примере конфигурације Zabbix-а за безбедне TLS везе између Zabbix фронтенда и Zabbix сервера.

Конфигурација

Подразумевано, комуникација између Zabbix корисничког интерфејса и Zabbix сервера је нешифрована. За бољу безбедност, омогућите TLS на обе стране. Испод је пример најједноставнијег начина да се то уради.

1. Генеришите сертификате и кључеве.

Направите радни директоријум:

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

Направите CA сертификат (подесите вредност MyZabbixCA да одговара стварном уобичајеном имену):

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

Генеришите приватни кључ и сертификат за Zabbix сервер (подесите вредност zabbix-server.example.com да одговара стварном уобичајеном имену):

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

Генеришите приватни кључ и сертификат за Zabbix фронтенд (прилагодите вредност zabbix-frontend-node да одговара стварном уобичајеном имену):

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. Подесите одговарајуће дозволе.

За Zabbix сервер (прилагодите власништво/групу према кориснику демона Zabbix сервера ваше дистрибуције):

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

За кориснички интерфејс (прилагодите власништво/групу према кориснику веб сервера ваше дистрибуције):

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. Конфигуришите Zabbix сервер.

У zabbix_server.conf додајте:

TLSFrontendAccept=cert
       TLSCertFile=/etc/zabbix/ssl/server.crt
       TLSKeyFile=/etc/zabbix/ssl/server.key
       TLSCAFile=/etc/zabbix/ssl/ca.crt
       # Опционо:
       # TLSFrontendCertIssuer=/CN=MyZabbixCA/
       # TLSFrontendCertSubject=/CN=zabbix-frontend-node/

Затим поново покрените сервер:

sudo systemctl restart zabbix-server

4. Конфигуришите Zabbix кориснички интерфејс.

Током инсталације веб интерфејса, омогућите опцију Шифрирај везе са веб интерфејса (и опцију Провери издаваоца и тему сертификата сервера, ако је потребно) и попуните поља TLS CA датотека, TLS датотека кључа, TLS датотека сертификата (и поља Издавалац TLS сертификата сервера и Тема TLS сертификата сервера, ако је потребно):

Parameter Description
TLS CA датотека Наведите пуну путању до датотеке сертификата ауторитета за сертификате (CA) која се користи за проверу сертификата сервера.
TLS датотека кључа Наведите пуну путању до датотеке приватног кључа клијента која одговара сертификату клијента.
TLS датотека сертификата Наведите пуну путању до датотеке сертификата клијента ако је потребна међусобна TLS аутентификација.
Издавалац TLS сертификата сервера Наведите препознатљиво име (DN) издаваоца које ће се подударати са сертификатом сервера.
Наслов TLS сертификата сервера Наведите препознатљиво име (DN) субјекта које ће се подударати са сертификатом сервера.

На постојећим инсталацијама, уредите следећа поља у 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';
       // Опционо:
       // $ZBX_SERVER_TLS['CERTIFICATE_ISSUER'] = '/CN=MyZabbixCA/';
       // $ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] = '/CN=zabbix-server.example.com/';

5. Проверите шифровање тако што ћете потврдити да нема порука о грешци у Zabbix фронтенду или датотеци дневника Zabbix сервера:

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