6 Connexió segura a la interfície

Visió general

Aquesta secció proporciona le passes de configuració i exemples de Zabbix per a connexions TLS segures entre la interfície de Zabbix i el servidor Zabbix.

Configuració

Per defecte, la comunicació entre la interfície de Zabbix i el servidor Zabbix no és pas xifrada. Per a una millor seguretat, activeu TLS a banda i banda. A continuació es mostra un exemple de la manera més senzilla de fer-ho.

1. Generar certificats i claus.

Creeu un directori de treball:

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

Creeu un certificat CA (ajusta el valor de MyZabbixCA perquè coincideixi amb el nom comú real):

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

Genereu una clau privada i un certificat per al servidor Zabbix (ajusta el valor de zabbix-server.example.com perquè coincideixi amb el nom comú real):

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

Genera una clau privada i un certificat per al frontend de Zabbix (ajusta el valor de zabbix-frontend-node perquè coincideixi amb el nom comú real):

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. Establiu els permisos adequats.

Per al servidor Zabbix (ajusteu la propietat/grup segons l'usuari del daemon del servidor Zabbix de la vostra distribució):

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

Per a la interfície (ajusteu la propietat/grup segons l'usuari del servidor web de la vostra distribució):

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. Configureu el servidor Zabbix.

A zabbix_server.conf afegiu:

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

Tot seguit, reinicieu el servidor:

sudo systemctl restart zabbix-server

4. Configureu el frontend de Zabbix.

Durant la instal·lació de la interfície web, activeu l'opció Xifrar les connexions des de la interfície web (i l'opció Verificar l'emissor i l'assumpte del certificat del servidor, si cal) i ompliu els camps Fitxer TLS CA, Fitxer de clau TLS, Fitxer de certificat TLS (i els camps Emissor del certificat TLS del servidor i Assumpte del certificat TLS del servidor, si cal):

Paràmetre Descripció
Fitxer TLS CA Especifiqueu la ruta completa al fitxer de certificat de l'autoritat de certificació (CA) utilitzat per verificar el certificat del servidor.
Fitxer de clau TLS Especifiqueu la ruta completa al fitxer de clau privada del client corresponent al certificat del client.
Fitxer de certificat TLS Especifiqueu la ruta completa al fitxer de certificat del client si es requereix autenticació TLS mútua.
Emissor del certificat TLS del servidor Especifiqueu un nom distingit (DN) de l'emissor que coincideixi amb el certificat del servidor.
Assumpte del certificat TLS del servidor Especifiqueu un nom distingit (DN) del subjecte que coincideixi amb el certificat del servidor.

En instal·lacions existents, editeu els camps següents a 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';
       // Opcionalment:
       // $ZBX_SERVER_TLS['CERTIFICATE_ISSUER'] = '/CN=MyZabbixCA/';
       // $ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] = '/CN=zabbix-server.example.com/';

5. Verifiqueu el xifrat confirmant que no hi ha missatges d'error a la interfície de Zabbix o al fitxer de registre del servidor Zabbix:

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