Cos'è una catena di certificati SSL? Come funziona

Di Benish Parvaiz·

Una catena di certificati SSL aiuta i browser e altri client a verificare che il certificato digitale di un sito Web sia attendibile. Quando visiti un sito Web tramite HTTPS, il tuo browser controlla il suo certificato TLS per confermare che identifica il dominio richiesto e può essere convalidato tramite un'autorità di certificazione (CA) attendibile. Questa verifica spesso dipende da una catena di certificati che collega il certificato del sito Web a un certificato radice attendibile. Se manca un certificato intermedio o la catena non può essere convalidata, gli utenti potrebbero riscontrare avvisi di sicurezza o errori di connessione. Comprendere come funziona una catena di certificati SSL aiuta i proprietari di siti Web, gli amministratori di sistema e i professionisti della sicurezza a risolvere i problemi relativi ai certificati e a mantenere connessioni HTTPS affidabili.

Cos'è una catena di certificati SSL?

What Is an SSL Certificate Chain?

Una catena di certificati SSL, chiamata anche catena di certificazione di fiducia, è una sequenza di certificati digitali che stabilisce un percorso dal certificato di un sito Web a un'autorità di certificazione radice attendibile. Sebbene SSL rimanga un termine comune, le moderne connessioni HTTPS utilizzano Transport Layer Security (TLS).

Una catena tipica contiene tre tipi di certificati: il certificato foglia del sito Web, uno o più certificati intermedi e un certificato radice. Il certificato foglia identifica il sito Web o il server. I certificati intermedi consentono di delegare l'emissione del certificato, mentre il certificato radice funge da ancoraggio di fiducia quando viene considerato attendibile dal client.

Ad esempio, quando un browser si connette a un sito Web HTTPS, convalida il certificato del sito Web e tenta di creare un percorso attendibile attraverso i certificati intermedi disponibili fino a un certificato radice nel relativo archivio attendibile. Controlla inoltre il nome host, le date di validità, le firme digitali e altri requisiti di certificato applicabili.

Una catena di certificati valida aiuta a stabilire l'identità del server durante l'handshake TLS. Tuttavia, ciò non dimostra che un sito Web sia legittimo, privo di malware o gestito da un'organizzazione affidabile.

Come funziona la catena di fiducia dei certificati SSL?

What Is an SSL Certificate Chain?

La catena di fiducia dei certificati consente ai browser e ad altri client di convalidare il certificato di un sito Web utilizzando certificati emessi da autorità attendibili. Ogni certificato si collega a un'autorità emittente, creando un percorso dal certificato del sito Web a un trust Anchor accettabile.

Passaggio 1: il sito Web presenta il proprio certificato

Quando un browser si connette a un sito Web tramite HTTPS, il server presenta il proprio certificato foglia durante l'handshake TLS. Questo certificato contiene la chiave pubblica del sito Web, le informazioni sul dominio, i dettagli dell'emittente, il periodo di validità e la firma digitale.

Il browser controlla se il nome host richiesto corrisponde alle voci SAN (Subject Alternative Name) del certificato e se il certificato soddisfa i requisiti di convalida applicabili.

Passaggio 2: il certificato intermedio stabilisce il collegamento successivo

Il certificato del sito Web viene comunemente emesso da una CA intermedia anziché direttamente da una CA radice. Il client utilizza la chiave pubblica del certificato intermedio per verificare la firma sul certificato foglia.

Alcune catene contengono più certificati intermedi. Ogni collegamento deve soddisfare le regole di convalida del certificato pertinenti affinché il client possa creare un percorso affidabile.

Passaggio 3: la catena raggiunge una radice attendibile

Un certificato radice appartiene a un'autorità di certificazione radice ed è generalmente autofirmato. I browser e i sistemi operativi mantengono i certificati radice attendibili in base alle proprie politiche di attendibilità.

Il client tenta di connettere il certificato foglia tramite i certificati intermedi richiesti a una radice attendibile. Normalmente il server non ha bisogno di inviare il certificato radice perché il client dispone già delle informazioni di attendibilità.

Passaggio 4: il client convalida la catena

Il client controlla le firme dei certificati, i periodi di validità, il nome host, i vincoli dei certificati e altri requisiti applicabili. A seconda della sua configurazione, potrebbe anche verificare le informazioni sulla revoca del certificato.

Se il client crea un percorso valido e supera i controlli richiesti, può accettare il certificato del server. In caso contrario, la connessione potrebbe produrre un avviso relativo al certificato o fallire.

Certificato radice vs. certificato intermedio vs. certificato foglia

What Is an SSL Certificate Chain?

Ogni certificato nella catena ha uno scopo specifico. Comprendere queste differenze aiuta gli amministratori a configurare correttamente HTTPS e a risolvere gli errori dei certificati.

1. Certificato Foglia

Un certificato foglia, chiamato anche certificato di entità finale, identifica un sito Web o un server. Contiene la chiave pubblica, le informazioni sul dominio, l'emittente, le date di validità e la firma digitale.

Il server presenta questo certificato al client durante l'handshake TLS. Il client ne verifica l'identità e la validità prima di accettarlo per la connessione.

2. Certificato intermedio

Un certificato intermedio appartiene a un'autorità di certificazione subordinata che emette certificati o delega l'emissione a un'altra autorità. Collega il certificato del sito Web a un certificato radice attendibile.

Le CA intermedie consentono alle CA radice di mantenere le proprie chiavi private più isolate delegando al tempo stesso l'emissione dei certificati. Se manca un certificato intermedio richiesto e non può essere ottenuto tramite un altro meccanismo disponibile, il client potrebbe non essere in grado di convalidare la catena.

3. Certificato radice

Un certificato radice appartiene a un'autorità di certificazione radice e funge da ancoraggio di fiducia quando viene accettato dall'archivio attendibilità di un cliente. In genere è autofirmato, ma il fatto di essere autofirmato non rende automaticamente attendibile un certificato.

Il client deve riconoscere la radice come attendibile in base alla policy di attendibilità configurata.

Caratteristica

Certificato fogliare

Certificato intermedio

Certificato radice

Scopo principale

Identifica il sito web

Delega all'emissione del certificato

Agisce come un'ancora di fiducia

Emesso da

Di solito una CA intermedia

Una CA radice o un'altra CA intermedia

Comunemente autofirmato

Contiene una chiave pubblica

Sì

Sì

Sì

Inviato dal server

Sì

Di solito, quando richiesto

Normalmente non richiesto

Ruolo nella convalida

Stabilisce l'identità certificata del server

Connette la foglia al trust Anchor

Stabilisce la fiducia del cliente

Una tipica catena segue quindi questo percorso:

Certificato del sito web → Certificato CA intermedio → Certificato radice attendibile

La catena esatta dipende dall'autorità di certificazione, dalla configurazione del server e dai certificati disponibili per il client.

Come i browser convalidano una catena di certificati SSL

I browser convalidano le catene di certificati durante l'handshake TLS per determinare se l'identità del server può essere considerata attendibile.

Verifica del nome host

Il browser verifica se il dominio richiesto corrisponde alle voci SAN del certificato. Un certificato rilasciato peresempio.compotrebbe non coprirenegozio.esempio.coma meno che non sia incluso il nome host aggiuntivo o un carattere jolly appropriato.

Una mancata corrispondenza del nome host può attivare un avviso del browser o causare il rifiuto della connessione.

Verifica della firma digitale

Le firme digitali aiutano i clienti a verificare l'integrità e l'autenticità del certificato all'interno del percorso di certificazione. Il client utilizza la chiave pubblica del certificato emittente per verificare la firma sul certificato in esame.

Le operazioni crittografiche sono centrali in questo processo. Per una spiegazione correlata, leggere la guida di CyberLad ahashing nella sicurezza informatica.

Scadenza del certificato

I certificati hanno periodi di validità definiti dai loroNon primaeNon dopocampi. Il cliente verifica se i relativi certificati sono validi al momento della verifica.

Un certificato foglia o intermedio scaduto può impedire la corretta convalida. Gli amministratori devono monitorare le date di scadenza e verificare che i certificati rinnovati siano stati installati correttamente.

Archivio attendibilità e percorso del certificato

Il client tenta di creare un percorso valido dal certificato foglia attraverso i certificati intermedi fino a un trust ancoraggio accettabile. Controlla inoltre i vincoli dei certificati applicabili e i requisiti di utilizzo delle chiavi.

Gli archivi di fiducia variano in base al sistema operativo, al browser e all'applicazione. Un certificato ritenuto attendibile in un ambiente potrebbe non essere attendibile in un altro.

Revoca del certificato

I certificati possono essere revocati prima della data di scadenza se le loro chiavi private sono compromesse o altre condizioni richiedono la revoca. Le autorità di certificazione possono pubblicare informazioni sulla revoca tramite gli elenchi di revoche di certificati (CRL) o il protocollo di stato dei certificati online (OCSP).

Il comportamento del controllo delle revoche varia tra i client. Alcuni utilizzano informazioni memorizzate nella cache o meccanismi alternativi, quindi una validazione della catena di successo non sempre significa che ogni client abbia eseguito controlli di revoca identici.

Errori comuni della catena di certificati SSL e relative cause

What Is an SSL Certificate Chain?

Gli errori della catena di certificati si verificano quando un client non riesce a convalidare il certificato presentato da un server. Identificare l'errore specifico è essenziale perché ogni problema richiede una soluzione diversa.

1. Catena di certificati incompleta

Una catena incompleta si verifica quando il server non fornisce un certificato intermedio richiesto e il client non può creare un percorso attendibile utilizzando altri certificati disponibili.

Le cause comuni includono certificati intermedi mancanti, pacchetti di certificati errati e modifiche alla configurazione in seguito alla migrazione del server.

Come risolverlo:Ottieni i certificati intermedi corretti dalla tua autorità di certificazione e configura il server per presentare il certificato foglia seguito dagli intermedi richiesti.

2. Autorità di certificazione non attendibile

Un client può rifiutare una catena quando non riesce a connettere il certificato a un trust Anchor accettabile. Ciò può verificarsi con certificati autofirmati o certificati CA privati ​​che non sono stati installati nell'archivio attendibilità del client.

Come risolverlo:Utilizzare una CA pubblicamente attendibile per i siti Web pubblici. Per le applicazioni interne, distribuire il certificato radice dell'organizzazione attraverso un processo di gestione della fiducia approvato. Non installare mai un certificato radice sconosciuto semplicemente per ignorare un avviso.

3. Certificato scaduto

Un certificato foglia o intermedio scaduto può impedire la corretta convalida.

Come risolverlo:Controlla le date di validità, rinnova o sostituisci il certificato interessato e assicurati che la catena di certificati aggiornata sia installata in ogni punto terminale TLS pertinente.

4. Mancata corrispondenza del nome host

Una mancata corrispondenza del nome host si verifica quando il dominio richiesto non è coperto dalle voci SAN del certificato.

Come risolverlo:Installa un certificato che copra il nome host richiesto. Esamina le impostazioni dell'host virtuale, l'indicazione del nome del server (SNI) e i collegamenti dei certificati del bilanciatore del carico.

5. Pacchetto di certificati errato

Un server potrebbe presentare il certificato intermedio errato o un pacchetto di certificati ordinato in modo errato.

Come risolverlo:Confronta l'emittente del certificato foglia con i certificati intermedi configurati. Correggere il bundle e testare la configurazione del server prima di ricaricare il servizio.

6. Revoca o altra mancata convalida

Un certificato potrebbe non superare la convalida perché è stato revocato o non soddisfa un altro requisito di certificato applicabile.

Come risolverlo:Controlla lo stato del certificato e consulta le istruzioni della CA emittente. Sostituire un certificato revocato e indagare sulla causa. Disabilitare la verifica del certificato non è una soluzione sicura.

Come controllare una catena di certificati SSL

Puoi controllare la catena di certificati di un sito web pubblico utilizzando un servizio di test online o strumenti da riga di comando.

Metodo 1: utilizzare SSL Labs

Qualys SSL Labs SSL Server Test analizza i server TLS accessibili pubblicamente e segnala i problemi di certificazione e configurazione.

  1. Apri la pagina di test di SSL Labs.

  2. Inserisci il dominio che desideri controllare.

  3. Esegui il test e attendi l'analisi.

  4. Esaminare i dettagli del certificato e le informazioni sulla catena.

  5. Esamina gli avvisi relativi a attendibilità, scadenza, intermedi mancanti o convalida del nome host.

SSL Labs è utile per test esterni senza installare software aggiuntivo. Evita di inviare nomi host o sistemi interni sensibili a meno che le policy della tua organizzazione non consentano l'utilizzo di un servizio esterno.

Metodo 2: ispezionare i certificati con OpenSSL

OpenSSL può visualizzare i certificati presentati da un server durante una connessione TLS. Esegui:

openssl s_client -connect esempio.com:443 \
  -nomeserver esempio.com \
  -certispettacolo

Sostituisciesempio.comcon il dominio di destinazione.

Il-connettil'opzione specifica la destinazione e la porta. Il-nomeserverl'opzione invia il nome host tramite SNI, mentre-certi dello spettacolovisualizza i certificati inviati dal server.

Importante:La visualizzazione dei certificati non dimostra che la catena sia affidabile. Utilizza le opzioni di verifica per controllare il percorso del certificato e il nome host.

Metodo 3: verificare la catena e il nome host

Eseguire il comando seguente per richiedere la verifica del certificato e il controllo del nome host:

openssl s_client \
  -collega esempio.com:443 \
  -nomeserver esempio.com \
  -verifica_errore_ritorno \
  -verify_hostname esempio.com

Cerca un risultato di verifica riuscito, ad esempioVerifica il codice di ritorno: 0 (ok). L'output esatto dipende dalla versione di OpenSSL, dal trust store e dalle impostazioni di verifica.

Il-verifica_errore_ritornoL'opzione fa sì che vengano restituiti errori di verifica invece di consentire al comando di continuare dopo di essi. Vedidocumentazione ufficiale s_client di OpenSSL.

Metodo 4: controllare i dettagli dell'emittente e della scadenza

Se hai salvato il certificato foglia come file PEM, esegui:

openssl x509 -in certificato.pem -noout \
  -oggetto -emittente -date

Vengono visualizzati l'oggetto, l'emittente e le date di validità del certificato. Utilizzare l'output per verificare se l'emittente corrisponde alla CA prevista e se il certificato rientra nel periodo di validità.

Come risolvere una catena di certificati SSL incompleta

What Is an SSL Certificate Chain?

La correzione di una catena incompleta generalmente comporta l'identificazione dell'intermedio mancante, l'ottenimento del pacchetto di certificati corretto, la configurazione dell'endpoint TLS e il test del risultato.

Passaggio 1: identificare l'intermedio mancante

Esegui il comando OpenSSL riportato sopra o utilizza SSL Labs per esaminare la catena. Controlla quali certificati invia il server e se il client può creare un percorso affidabile.

Un fallimento nella verifica non significa sempre che manchi un intermedio. Esamina anche la scadenza, le mancate corrispondenze dei nomi host e i problemi di truststore.

Passaggio 2: ottenere il pacchetto di certificati corretto

Scarica i certificati intermedi richiesti dal sito Web ufficiale della tua autorità di certificazione o dal portale di gestione dei certificati. Conferma che i certificati corrispondono all'emittente del certificato foglia.

Il certificato radice è normalmente già disponibile nel truststore del client e generalmente non è necessario che sia incluso nel pacchetto di certificati del server.

Passaggio 3: configurare Nginx

Per Nginx, il file del certificato dovrebbe contenere prima il certificato foglia, seguito dai certificati intermedi richiesti.

server {
    ascolta 443 SSL;
    nome_server esempio.com;

    ssl_certificate /etc/ssl/certs/fullchain.pem;
    ssl_certificate_key /etc/ssl/private/example.com.key;
}

I percorsi sono esempi. Utilizza le posizioni corrette per il tuo ambiente e assicurati che la chiave privata sia protetta dalle autorizzazioni appropriate.

Testare la configurazione prima di ricaricare Nginx:

sudo nginx -t

Passaggio 4: controlla Apache e altri endpoint TLS

Le configurazioni di Apache possono utilizzareFileCertificato SSLfornire il certificato foglia e i necessari certificati intermedi. Segui la documentazione per la tua versione e distribuzione di Apache.

Se HTTPS termina su un proxy inverso, una rete per la distribuzione di contenuti, un firewall per applicazioni Web o un bilanciatore del carico, controlla il certificato installato a quel livello. L'aggiornamento solo del server di origine non risolverà un certificato errato servito da un proxy separato.

Passaggio 5: verificare la correzione

Dopo aver apportato le modifiche, eseguire nuovamente OpenSSL e SSL Labs. Confermare che il server presenti i certificati previsti e che il client possa convalidare la catena e il nome host.

Per ambienti con più server o punti terminali TLS, testare ciascun endpoint pertinente. Un risultato positivo su un server non garantisce che tutti gli endpoint abbiano la stessa configurazione.

Best practice per la catena di certificati SSL

Utilizza autorità di certificazione attendibili

Utilizzare CA pubblicamente attendibili per i siti Web pubblici. Per le applicazioni interne, distribuire in modo sicuro l'attendibilità della CA privata ai client autorizzati.

Rinnovo e monitoraggio automatizzati

Utilizza gli strumenti di gestione dei certificati, ove supportato, e avvisa gli amministratori prima che i certificati scadano. Verifica che i certificati rinnovati siano effettivamente distribuiti e serviti dagli endpoint pertinenti.

Proteggi le chiavi private

Limita l'accesso alle chiavi private dei certificati, archiviale in modo sicuro ed evita di esporle in log o repository pubblici. Se una chiave viene compromessa, sostituire il certificato interessato e seguire le procedure appropriate di risposta agli incidenti e di revoca.

Convalida dopo modifiche alla configurazione

Testa la catena di certificati dopo rinnovi, migrazioni di server, modifiche al sistema di bilanciamento del carico o aggiornamenti del proxy inverso. Controlla la corrispondenza del nome host, la scadenza, la costruzione della catena e gli errori di verifica.

Mantenere un inventario dei certificati

Registra proprietari di certificati, domini, CA emittenti, date di scadenza, posizioni di distribuzione e metodi di rinnovo. Un inventario centralizzato aiuta i team a trovare rapidamente i servizi interessati durante le interruzioni.

Monitorare i certificati di terze parti

I problemi relativi ai certificati possono influire sui servizi da cui dipende la tua organizzazione, non solo sul tuo sito web. Monitora importanti endpoint TLS esterni, inclusi provider di identità, gateway di pagamento e API. CyberLad spiega questo rischio più ampio inCinque rischi di terze parti che il tuo Vulnerability Scanner non può rilevare.

Utilizza configurazioni TLS sicure

Una catena di certificati valida è solo una parte della sicurezza HTTPS. Utilizza versioni TLS supportate, impostazioni crittografiche appropriate e pratiche di gestione delle chiavi sicure. Un certificato attendibile non garantisce che un'applicazione sia esente da vulnerabilità.

Conclusione

Una catena di certificati SSL è una parte essenziale della sicurezza HTTPS poiché consente ai browser e ad altri client di convalidare il certificato di un sito Web attraverso un percorso verso un'autorità di certificazione attendibile. Comprendere i certificati foglia, intermedi e radice aiuta gli amministratori a risolvere i problemi relativi a catene incomplete, certificati scaduti ed errori di attendibilità. Il monitoraggio regolare, la corretta configurazione del server, la gestione sicura delle chiavi private e la verifica post-distribuzione aiutano a mantenere connessioni TLS affidabili. Seguendo queste pratiche, i proprietari di siti web e i professionisti della sicurezza possono ridurre le interruzioni legate ai certificati e migliorare l’affidabilità della propria infrastruttura HTTPS.

Domande frequenti

Cos'è una catena di certificati SSL?

Una catena di certificati SSL è una sequenza di certificati digitali che stabilisce un percorso dal certificato di un sito Web a un'autorità di certificazione radice attendibile. Normalmente include il certificato foglia e uno o più certificati intermedi.

Qual è la differenza tra un certificato root e uno intermedio?

Un certificato radice funge da ancoraggio di fiducia quando viene accettato dal client. Un certificato intermedio delega l'emissione del certificato e connette il certificato foglia alla radice attendibile.

È necessario che un server Web invii il certificato di root?

Di solito no. Il server normalmente invia il proprio certificato foglia e i certificati intermedi richiesti. In genere il client dispone già del certificato radice attendibile nel proprio truststore.

Come posso controllare una catena di certificati SSL?

UtilizzareLaboratori SSLper ispezionare un sito Web pubblico o eseguireopenssl s_clientper esaminare i certificati presentati da un server. Includi opzioni di verifica del nome host e del certificato quando controlli se la catena può essere considerata attendibile.

Quali sono le cause di una catena di certificati SSL incompleta?

La causa più comune è la mancanza di un certificato intermedio. Anche pacchetti di certificati errati, configurazioni obsolete e impostazioni TLS incoerenti tra i server possono impedire ai client di creare un percorso di certificazione valido.

Come posso correggere una catena di certificati incompleta?

Ottenere i certificati intermedi corretti dalla CA, configurare il server per presentare il certificato foglia seguito dagli intermedi necessari e testare la configurazione aggiornata. I passaggi precisi dipendono dal software del server e dal punto terminale TLS.

Una catena di certificati SSL è uguale a un certificato SSL?

No. Un certificato contiene informazioni sull'identità e sulla chiave pubblica di un sito web. La catena è la sequenza di certificati utilizzati per stabilire un percorso affidabile da quel certificato a un trust Anchor accettabile.

Una catena di certificati valida significa che un sito web è sicuro?

No. Una catena valida aiuta a verificare l'identità certificata di un sito web secondo la politica di fiducia del cliente. Non garantisce che il sito web sia legittimo, privo di malware o protetto dalle vulnerabilità delle applicazioni.

Pronti per essere protetti?

Inizia oggi il tuo viaggio nella sicurezza

Ottieni una consulenza gratuita con i nostri esperti di sicurezza informatica. Nessun impegno richiesto.