17 Confianza en el certificado TLS de Google Chrome
Descripción general
Esta página proporciona pasos de configuración de Zabbix y ejemplos de configuración para usar Google Chrome con el frontend de Zabbix o con endpoints de zabbix-web-service protegidos por un certificado autofirmado o por una autoridad de certificación privada.
Estas instrucciones asumen que el servidor web de destino ya está configurado para HTTPS. Para configurar TLS en el frontend de Zabbix, consulte Secure connection to the frontend.
Configuración
Google Chrome en Linux usa una base de datos NSS de certificados por usuario para los certificados de confianza. Para que Chrome confíe en un certificado autofirmado o en una autoridad de certificación privada, agregue los certificados requeridos a la base de datos NSS de la cuenta de usuario que ejecuta Chrome.
1. Instale los paquetes requeridos.
Para Debian/Ubuntu:
sudo apt install ca-certificates libnss3-tools
Para sistemas basados en RHEL:
sudo dnf install ca-certificates nss-tools
O:
sudo yum install ca-certificates nss-tools
2. Prepare los archivos de certificado.
Para cada certificado necesario: cree un archivo .crt basado en PEM para el certificado autofirmado, o cree archivos .crt separados basados en PEM para el certificado de la autoridad de certificación raíz y, si es necesario, para cada certificado intermedio.
3. Cree el directorio de la base de datos NSS.
Use el directorio personal del usuario que ejecuta Chrome.
Por ejemplo:
sudo mkdir -p /var/lib/zabbix/.pki/nssdb
sudo -u zabbix certutil -N -d sql:/var/lib/zabbix/.pki/nssdb
sudo chown -R zabbix:zabbix /var/lib/zabbix/.pki/nssdb
Si Chrome en el sistema de destino usa una ubicación diferente para la base de datos NSS, use ese directorio en su lugar.
Asegúrese de que los archivos de certificado sean legibles por el usuario que ejecuta Google Chrome. Si es necesario, cópielos a una ubicación accesible para ese usuario.
4. Importe los certificados.
Si usa un certificado autofirmado:
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb \
-A -t "P,," \
-n "Zabbix self-signed certificate" \
-i /path/to/self-signed.crt
Si usa una autoridad de certificación privada, importe el certificado de la autoridad de certificación raíz en la base de datos:
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb \
-A -t "C,," \
-n "Zabbix root certificate authority" \
-i /path/to/root-ca.crt
Si se usan certificados intermedios, importe cada uno por separado:
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb \
-A -t ",," \
-n "Zabbix intermediate certificate" \
-i /path/to/intermediate-ca.crt
5. Verifique la base de datos de certificados.
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb -L
6. Pruebe Chrome.
Google Chrome usa la base de datos de certificados de la cuenta de usuario que lo inicia. Si la cuenta de usuario no tiene un directorio personal escribible, configure un directorio personal y directorios XDG escribibles antes de ejecutar la prueba.
Ejemplo (reemplace google-chrome por chromium si se usa Chromium.):
sudo -u zabbix env \
HOME=/var/lib/zabbix-home \
XDG_CONFIG_HOME=/var/lib/zabbix-home/.config \
XDG_DATA_HOME=/var/lib/zabbix-home/.local/share \
XDG_CACHE_HOME=/var/lib/zabbix-home/.cache \
google-chrome --headless --disable-gpu \
--user-data-dir=/var/lib/zabbix-home/chrome-profile \
--dump-dom https://FQDN_OF_ZABBIX_SERVER
Si la configuración es correcta, el comando devuelve el HTML de la página solicitada.
Si Chrome no confía en el certificado, el comando devuelve una página de error de certificado que contiene mensajes como NET::ERR_CERT_AUTHORITY_INVALID.
Solución de problemas
| Error | Posible causa |
|---|---|
NET::ERR_CERT_AUTHORITY_INVALID |
El certificado se importó en el perfil de usuario incorrecto, falta el certificado de la autoridad certificadora raíz o falta un certificado intermedio. |
NET::ERR_CERT_COMMON_NAME_INVALID |
El certificado no coincide con el nombre de host usado en la URL del navegador. |
NET::ERR_CERT_DATE_INVALID |
El certificado ha caducado, aún no es válido o el reloj del sistema es incorrecto. |
| Chrome sigue mostrando una advertencia de certificado después de la importación | Chrome está usando una base de datos NSS diferente para el usuario actual, o las marcas de confianza del certificado son incorrectas. |