Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

6 Conexión segura a la interfaz web

Descripción general

Esta sección proporciona los pasos de configuración de Zabbix y ejemplos de configuración para conexiones TLS seguras entre el frontend de Zabbix y el servidor de Zabbix.

Configuración

Por defecto, la comunicación entre el frontend de Zabbix y el servidor de Zabbix no está cifrada. Para una mayor seguridad, habilite TLS en ambos lados. A continuación se muestra un ejemplo de la forma más sencilla de hacerlo.

1. Genere certificados y claves.

Cree un directorio de trabajo:

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

Cree un certificado CA (ajuste el valor MyZabbixCA para que coincida con el nombre común real):

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

Genere una clave privada y un certificado para el servidor de Zabbix (ajuste el valor zabbix-server.example.com para que coincida con el nombre común 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

Genere una clave privada y un certificado para el frontend de Zabbix (ajuste el valor zabbix-frontend-node para que coincida con el nombre común 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. Establezca los permisos adecuados.

Para el servidor de Zabbix (ajuste la propiedad/grupo según el usuario del demonio del servidor de Zabbix de su distribución):

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

Para el frontend (ajuste la propiedad/grupo según el usuario del servidor web de su distribución):

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

En zabbix_server.conf añada:

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

Luego reinicie el servidor:

sudo systemctl restart zabbix-server

4. Configure el frontend de Zabbix.

Durante la instalación de la interfaz web, habilite la opción Cifrar conexiones desde la interfaz web (y la opción Verificar emisor y sujeto del certificado del servidor, si es necesario) y complete los campos Archivo CA TLS, Archivo de clave TLS, Archivo de certificado TLS (y Emisor del certificado TLS del servidor y Sujeto del certificado TLS del servidor, si es necesario):

Parámetro Descripción
Archivo CA TLS Especifique la ruta completa al archivo del certificado de la Autoridad de Certificación (CA) utilizado para verificar el certificado del servidor.
Archivo de clave TLS Especifique la ruta completa al archivo de clave privada del cliente correspondiente al certificado del cliente.
Archivo de certificado TLS Especifique la ruta completa al archivo de certificado del cliente si se requiere autenticación mutua TLS.
Emisor del certificado TLS del servidor Especifique un Nombre Distinguido (DN) del emisor para comparar con el certificado del servidor.
Sujeto del certificado TLS del servidor Especifique un Nombre Distinguido (DN) del sujeto para comparar con el certificado del servidor.

En instalaciones existentes, edite los siguientes campos en 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';
       // Opcionalmente:
       // $ZBX_SERVER_TLS['CERTIFICATE_ISSUER']  = '/CN=MyZabbixCA/';
       // $ZBX_SERVER_TLS['CERTIFICATE_SUBJECT'] = '/CN=zabbix-server.example.com/';

5. Verifique el cifrado confirmando que no haya mensajes de error en el frontend de Zabbix o en el archivo de registro del servidor de Zabbix:

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