17 Confiança no certificado TLS do Google Chrome
Visão geral
Esta página fornece etapas de configuração do Zabbix e exemplos de configuração para usar o Google Chrome com o frontend do Zabbix ou endpoints do zabbix-web-service protegidos por um certificado autoassinado ou por uma autoridade certificadora privada.
Estas instruções pressupõem que o servidor web de destino já esteja configurado para HTTPS. Para configurar TLS no frontend do Zabbix, consulte Conexão segura com o frontend.
Configuração
O Google Chrome no Linux usa um banco de dados de certificados NSS por usuário para certificados confiáveis. Para fazer com que o Chrome confie em um certificado autoassinado ou em uma autoridade certificadora privada, adicione os certificados necessários ao banco de dados NSS da conta de usuário que executa o Chrome.
1. Instale os pacotes necessários.
Para Debian/Ubuntu:
sudo apt install ca-certificates libnss3-tools
Para sistemas baseados em RHEL:
sudo dnf install ca-certificates nss-tools
Ou:
sudo yum install ca-certificates nss-tools
2. Prepare os arquivos de certificado.
Para cada certificado necessário: crie um arquivo .crt baseado em PEM para o certificado autoassinado, ou crie arquivos .crt separados baseados em PEM para o certificado da autoridade certificadora raiz e, se necessário, para cada certificado intermediário.
3. Crie o diretório do banco de dados NSS.
Use o diretório home do usuário que executa o Chrome.
Por exemplo:
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
Se o Chrome no sistema de destino usar um local diferente para o banco de dados NSS, use esse diretório em vez disso.
Certifique-se de que os arquivos de certificado possam ser lidos pelo usuário que executa o Google Chrome. Se necessário, copie-os para um local acessível a esse usuário.
4. Importe os certificados.
Se estiver usando um certificado autoassinado:
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
Se estiver usando uma autoridade certificadora privada, importe o certificado da autoridade certificadora raiz para o banco de dados:
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
Se forem usados certificados intermediários, importe cada um separadamente:
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 o banco de dados de certificados.
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb -L
6. Teste o Chrome.
O Google Chrome usa o banco de dados de certificados da conta de usuário que o inicia. Se a conta de usuário não tiver um diretório home gravável, configure um home gravável e diretórios XDG antes de executar o teste.
Exemplo (substitua google-chrome por chromium se o Chromium for usado.):
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
Se a configuração estiver correta, o comando retornará o HTML da página solicitada.
Se o Chrome não confiar no certificado, o comando retornará uma página de erro de certificado contendo mensagens como NET::ERR_CERT_AUTHORITY_INVALID.
Solução de problemas
| Error | Possible cause |
|---|---|
NET::ERR_CERT_AUTHORITY_INVALID |
O certificado foi importado para o perfil de usuário incorreto, o certificado da autoridade certificadora raiz está ausente ou um certificado intermediário está ausente. |
NET::ERR_CERT_COMMON_NAME_INVALID |
O certificado não corresponde ao nome do host usado na URL do navegador. |
NET::ERR_CERT_DATE_INVALID |
O certificado expirou, ainda não é válido ou o relógio do sistema está incorreto. |
| Chrome ainda exibe um aviso de certificado após a importação | O Chrome está usando um banco de dados NSS diferente para o usuário atual, ou os sinalizadores de confiança do certificado estão incorretos. |