Certificati SSL gestiti dal load balancer

Utilizzare i certificati SSL (Secure Socket Layer) con il load balancer tramite il servizio Load Balancer.

Nota

In questo argomento viene descritto come creare e gestire certificati SSL all'interno del servizio Load Balancer. Si consiglia di utilizzare il servizio Certificati per la creazione e la gestione dei certificati. Per ulteriori informazioni, vedere Certificati.

È possibile visualizzare i certificati gestiti dal servizio Certificato utilizzati da un load balancer tramite la console. Per ulteriori informazioni, vedere Elenco dei certificati gestiti dal servizio.

Per utilizzare SSL standard con un load balancer e le relative risorse, è necessario fornire un certificato.

Per utilizzare la TLS reciproca (mTLS) con il load balancer, devi aggiungere una o più autorità di certificazione (CA) o bundle CA (Certificate Authority) al sistema.

  • Certificate Authority: un'autorità di certificazione privata in grado di rilasciare certificati foglia. Per un load balancer e le risorse associate, la CA è un truststore creato all'interno del servizio certificati e non viene caricato dall'utente.
  • Bundle CA: raccolta di certificati pubblici CA che è possibile caricare come gruppo aggregato. I bundle CA non includono chiavi private o certificati foglia.
Suggerimento

Si consiglia di caricare i bundle di certificati che si desidera utilizzare prima di creare i listener o i set backend a cui si desidera associarli.

È possibile eseguire i task di certificato SSL seguenti:

Configurare la gestione SSL per un load balancer.

Elencare i dettagli per un load balancer.

Creare un nuovo certificato per un load balancer.

Recupera i dettagli di un certificato.

Aggiornare un certificato in scadenza.

Eliminare un certificato da un load balancer.

I load balancer utilizzano in genere certificati a dominio singolo. Tuttavia, i load balancer con listener che includono la configurazione dell'instradamento delle richieste (vedere Richiedi instradamento) potrebbero richiedere un certificato SAN (Soggetto Alternative Name) (denominato anche certificato multidominio) o un certificato jolly. Il servizio Load Balancer supporta ognuno di questi tipi di certificato.

Nota

  • Il servizio Load Balancer non genera certificati SSL. Può importare solo un certificato esistente di cui si è già proprietari. Il certificato può essere emesso da un fornitore, ad esempio Verisign o GoDaddy. È inoltre possibile utilizzare un certificato autofirmato generato con uno strumento open source, ad esempio OpenSSL o Let's Encrypt. Per istruzioni su come generare un certificato autofirmato, consultare la documentazione dello strumento corrispondente.
  • Se si sottomette un certificato con firma automatica per SSL backend, è necessario sottomettere lo stesso certificato nel campo Certificato CA corrispondente.

Oracle Cloud Infrastructure accetta solo certificati di tipo x.509 in formato PEM. Di seguito è riportato un certificato con codifica PEM di esempio.


-----BEGIN CERTIFICATE-----
<Base64_encoded_certificate>
-----END CERTIFICATE-----

Conversione in formato PEM

Se si ricevono certificati e chiavi in formati diversi da PEM, è necessario convertirli prima di poterli caricare nel sistema. È possibile utilizzare OpenSSL per convertire certificati e chiavi in formato PEM. I seguenti comandi di esempio forniscono una guida.

Catena di certificati o certificati da DER a PEM

openssl x509 -inform DER -in <certificate_name>.der -outform PEM -out <certificate_name>.pem

Chiave privata da DER a PEM

openssl rsa -inform DER -in <private_key_name>.der -outform PEM -out <private_key_name>.pem

Bundle di certificati da PKCS#12 (PFX) a PEM

openssl pkcs12 -in <certificate_bundle_name>.p12 -out <certificate_bundle_name>.pem -nodes

Bundle di certificati da PKCS#7 a PEM

openssl pkcs7 -in <certificate_bundle_name>.p7b -print_certs -out <certificate_bundle_name>.pem

Configurazione della verifica del certificato peer

La verifica del certificato peer viene utilizzata per l'autenticazione del client. La profondità di verifica del certificato peer è il numero di certificati nella catena che devono essere verificati per l'autenticazione del client.

Sono previsti i seguenti valori da impostare:

  • Un certificato intermedio, un certificato client, un certificato radice - 2
  • Certificato client, certificato radice - 1s

Per decidere se la verifica del certificato peer è configurata in modo errato, tenere presente quanto segue:

  • Il client indica che non è in grado di verificare il certificato e si verifica un errore di handshake SSL del client. Questo messaggio di errore varia in base al tipo di client.
  • Nei log del load balancer viene visualizzato l'errore seguente: Client %s has SSL certificate verify error
  • Utilizzare la utility OpenSSL per eseguire il comando seguente: openssl verify -verbose -CAfile RootCert.pem Intermediate.pem

    Si è verificato un errore che mostra a quale profondità si verifica l'errore di convalida: error 20 at 0 depth lookup:unable to get local issuer certificate

Per risolvere questa situazione, fornire la profondità di certificato corretta e verificare che il certificato client e il certificato dell'autorità di certificazione corrispondano e siano nell'ordine corretto.

Caricamento delle catene di certificati

Se si dispone di più certificati che formano una singola catena di certificazione (ad esempio, eventuali certificati intermedi di autorità di certificazione), includere tutti i certificati pertinenti in un unico file nell'ordine corretto prima di caricarli nel sistema. L'ordine corretto inizia con il certificato firmato direttamente dall'autorità di certificazione root attendibile nella parte inferiore dell'elenco. Eventuali certificati aggiuntivi vengono incollati sopra il certificato firmato.

Combinare i file del certificato del server (SSL_Certificate.crt) e del certificato dell'autorità di certificazione intermedia (intermediateCA.crt) in un singolo file concatenato.

Per ottenere un singolo file concatenato dal certificato SSL e dal certificato CA (Certificate Authority) intermedio, aprire un prompt dei comandi ed eseguire il comando seguente:

cat ssl_certificate.crt IntermediateCA.crt >> certbundle.pem

L'esempio seguente di un file concatenato della catena di certificati include quattro certificati:

-----BEGIN CERTIFICATE-----
Base64-encoded_certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded_certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded_certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded_certificate
-----END CERTIFICATE-----

Sottomissione di chiavi private

Nota

Per la chiave privata RSA si consiglia di utilizzare una lunghezza minima di 2048 bit.

Se l'invio della chiave privata ha restituito un errore, le tre cause più comuni sono:

  • È stata fornita una passphrase non corretta.

  • Il formato della chiave privata è errato.

  • Il sistema non riconosce il metodo di cifratura usato per la chiave in uso.

Coppia di chiavi non corrispondente

Se si riceve un errore relativo alla mancata corrispondenza della chiave privata e della chiave pubblica, prima del caricamento utilizzare i seguenti comandi OpenSSL per confermare che fanno parte della stessa coppia:

openssl x509 -in certificate_name.crt -noout -modulus | openssl sha1
openssl rsa -in private_key.key -noout -modulus | openssl sha1

Verificare che i valori hash sha1 restituiti corrispondano esattamente. Se sono diversi, la chiave privata fornita non viene utilizzata per firmare il certificato pubblico e non può essere utilizzata.

Coerenza chiave privata

Se si riceve un errore relativo alla chiave privata, è possibile utilizzare OpenSSL per verificarne la coerenza:

openssl rsa -check -in <private_key>.pem

Questo comando verifica che la chiave sia intatta, che la passphrase sia corretta e che il file contenga una chiave privata RSA valida.

Decifrazione di una chiave privata

Se il sistema non riconosce la tecnologia di cifratura utilizzata per la chiave privata, decifrare la chiave. Caricare la versione non cifrata della chiave con il bundle di certificati. È possibile utilizzare OpenSSL per decifrare una chiave privata:

openssl rsa -in <private_key>.pem -out <decrypted_private_key>.pem

Configurazione della gestione SSL

Informazioni sulla configurazione della gestione SSL per una risorsa del load balancer.

È possibile eseguire i task di gestione SSL riportati di seguito per un load balancer.

  • Termina SSL nel load balancer. Questa configurazione è SSL frontend. Il load balancer può accettare il traffico cifrato da un client. Non esiste alcuna cifratura del traffico tra il load balancer e i server backend.
  • Implementare SSL tra il load balancer e i server backend. Questa configurazione è SSL backend. Il load balancer non accetta il traffico cifrato dai server client. Il traffico tra il load balancer e i server backend viene cifrato.
  • Implementa SSL point-to-point. Il load balancer può accettare il traffico cifrato SSL dai client e cifrare il traffico verso i server backend.

Interruzione di SSL nel load balancer

Per interrompere la cifratura SSL a livello di load balancer, devi creare un listener in una porta come la 443, quindi associare un bundle di certificati caricato con il listener. Per ulteriori informazioni, vedere Creazione di un listener del load balancer.

Implementazione di SSL per il backend

Per implementare SSL tra il load balancer e i server backend in uso, è necessario associare un bundle di certificati caricato al set backend. Per ulteriori informazioni, vedere Creazione di un set backend del load balancer.

Nota

  • Per avere più server backend nel set backend, firmare i server backend con un certificato CA intermedio. Il certificato CA intermedio deve essere incluso nel bundle di certificati.
  • I servizi backend in uso devono essere in grado di accettare e arrestare SSL.

Visualizzazione della lista di certificati gestiti dal servizio

Visualizzare una lista dei certificati gestiti dal servizio Certificati per un load balancer.

I certificati del load balancer gestiti dal servizio Certificati possono essere elencati solo all'interno della console del load balancer. Per eseguire altri task del servizio Certificati, ad esempio la creazione, la modifica e l'eliminazione di un certificato, vedere Certificati.

Per visualizzare i certificati SSL creati utilizzando il servizio Load Balancer, vedere Elenco dei certificati del load balancer.

Utilizzo di Console

  1. Nella pagina della lista Load balancer, selezionare il load balancer che si desidera utilizzare. Se hai bisogno di assistenza per trovare la pagina della lista o il load balancer, vedere Elenco dei load balancer.
  2. Nella pagina dei dettagli del load balancer selezionare Certificati e cifrature e trovare la sezione Certificati servizio certificato.
    Viene visualizzata la lista Certificati gestiti dal servizio di certificazione. Tutti i certificati gestiti dal servizio nel load balancer selezionato vengono visualizzati in una tabella. Per ulteriori informazioni sul funzionamento del servizio Certificati, vedere Certificati.
Viene visualizzata la lista Certificati gestiti dal servizio di certificazione. Tutti i certificati gestiti del servizio Certificati nel load balancer selezionato vengono visualizzati in una tabella. Per ulteriori informazioni sul funzionamento del servizio Certificati, vedere Certificati.

Filtro dei risultati dell'elenco

Utilizzare i filtri per limitare i certificati gestiti dal servizio Certificati nell'elenco. Eseguire una delle azioni riportate di seguito a seconda delle opzioni visualizzate.

  • Dalla casella Cerca e filtro sopra la tabella elenco, selezionare uno o più filtri e specificare i valori che si desidera utilizzare per limitare l'elenco. In generale, i filtri corrispondono alle colonne visualizzate nella tabella elenco, sebbene alcuni filtri rappresentino attributi non visualizzati nella tabella. Il filtro Compartimento viene sempre visualizzato accanto ai filtri applicati.
  • Sul lato sinistro della pagina dell'elenco, selezionare un valore da uno dei filtri disponibili, ad esempio compartimento, stato o tag.

Modificare l'ordine degli elementi nella tabella elenco utilizzando le icone di ordinamento accanto ai nomi delle colonne.

Per informazioni sulla ricerca di risorse e sulla gestione delle colonne nella tabella elenco, se tali funzioni sono disponibili, vedere Elenca risorse.

Azioni

Nella tabella elenco, selezionare il nome di un certificato gestito dal servizio Certificati per aprire la relativa pagina dei dettagli, in cui è possibile visualizzarne lo stato ed eseguire altri task.