17 Fiducia del certificato TLS di Google Chrome
Panoramica
Questa pagina fornisce i passaggi di configurazione di Zabbix e esempi di configurazione per l'uso di Google Chrome con il frontend di Zabbix o con endpoint zabbix-web-service protetti da un certificato autofirmato o da una autorità di certificazione privata.
Queste istruzioni presuppongono che il server web di destinazione sia già configurato per HTTPS. Per configurare TLS sul frontend di Zabbix, vedere Connessione sicura al frontend.
Configurazione
Google Chrome su Linux utilizza un database di certificati NSS per utente per i certificati attendibili. Per fare in modo che Chrome si fidi di un certificato autofirmato o di una autorità di certificazione privata, aggiungi i certificati richiesti al database NSS dell'account utente che esegue Chrome.
1. Installa i pacchetti richiesti.
Per Debian/Ubuntu:
sudo apt install ca-certificates libnss3-tools
Per sistemi basati su RHEL:
sudo dnf install ca-certificates nss-tools
Oppure:
sudo yum install ca-certificates nss-tools
2. Prepara i file del certificato.
Per ogni certificato necessario: crea un file .crt basato su PEM per il certificato autofirmato, oppure crea file .crt separati basati su PEM per il certificato dell'autorità di certificazione radice e, se necessario, per ciascun certificato intermedio.
3. Crea la directory del database NSS.
Usa la directory home dell'utente che esegue Chrome.
Ad esempio:
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 Chrome sul sistema di destinazione usa una posizione diversa per il database NSS, usa invece quella directory.
Assicurati che i file del certificato siano leggibili dall'utente che esegue Google Chrome. Se necessario, copiali in una posizione accessibile a quell'utente.
4. Importa i certificati.
Se utilizzi un certificato autofirmato:
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 utilizzi un'autorità di certificazione privata, importa il certificato dell'autorità di certificazione radice nel database:
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 vengono usati certificati intermedi, importa ciascuno separatamente:
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb \
-A -t ",," \
-n "Zabbix intermediate certificate" \
-i /path/to/intermediate-ca.crt
5. Verifica il database dei certificati.
sudo -u zabbix certutil -d sql:/var/lib/zabbix/.pki/nssdb -L
6. Testa Chrome.
Google Chrome utilizza il database dei certificati dell'account utente che lo avvia. Se l'account utente non dispone di una directory home scrivibile, configura una home scrivibile e le directory XDG prima di eseguire il test.
Esempio (sostituisci google-chrome con chromium se viene usato 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
Se la configurazione è corretta, il comando restituisce l'HTML della pagina richiesta.
Se Chrome non si fida del certificato, il comando restituisce una pagina di errore del certificato contenente messaggi come NET::ERR_CERT_AUTHORITY_INVALID.
Risoluzione dei problemi
| Errore | Possibile causa |
|---|---|
NET::ERR_CERT_AUTHORITY_INVALID |
Il certificato è stato importato nel profilo utente sbagliato, il certificato dell'autorità di certificazione radice manca oppure manca un certificato intermedio. |
NET::ERR_CERT_COMMON_NAME_INVALID |
Il certificato non corrisponde all'hostname usato nell'URL del browser. |
NET::ERR_CERT_DATE_INVALID |
Il certificato è scaduto, non è ancora valido oppure l'orologio di sistema non è corretto. |
| Chrome mostra ancora un avviso relativo al certificato dopo l'importazione | Chrome sta usando un database NSS diverso per l'utente corrente oppure i flag di attendibilità del certificato non sono corretti. |