Gestire certificati SSL in cloud con Certificate Manager
da Massimo Della Rovere · pubblicato il 15 agosto, 2016 · modificato il 5 giugno, 2017

I certificati SSL sono stati sempre una parte importante della nostra struttura cloud, prima di questo servizio bisognava comprare i certificati SSL da fornitori esterni ad Amazon AWS e caricarli in ambiente IAM per poi utilizzarli con i servizi di CloudFront e Elastic Load Balancer. Finalmente adesso abbiamo la possibilità di gestire il tutto in un unico ambiente e oltretutto anche in maniera gratuita.

Il servizio di Certificate Manager permette la gestione completa di tutti i certificati SSL che necessitiamo utilizzare per le nostre istanze EC2 con ELB o per le distribuzioni di contenuti sia statici che dinamici tramite CloudFront. Possiamo richiedere certificati per qualsiasi dominio che possiamo in qualche maniera verificare. Sono ammessi sia domini fissi che wildcard, i certificati necessari dovranno essere richiesti nella regione geografica in cui sono presenti le nostre risorse AWS ad eccezione dei certificati che verranno usati in CloudFront in cui bisognerà indicare la regione US Virginia.

Scenario in Cloud Computing

Normalmente, molti di noi, sono abituati a vedere il certificato SSL come qualcosa che è strettamente legato al server web, il quale deve rispondere alle richieste HTTPS dirette alla nostra pagina o applicazione. Questa situazione va bene quando gestiamo un solo server o utilizziamo servizi autogestiti di hosting, ma cambia sostanzialmente quando parliamo di cloud computing, autoscaling e bilanciamento di traffico.

In quest’ultimo scenario abbiamo bisogno di diverse risorse e quasi sicuramente di diversi server che gestiscono in maniera congiunta la nostra applicazione. In questo modo la gestione dei certificati a livello di server diventa poco efficiente e in alcuni casi anche problematica. Infatti ogni modifica al certificato o un semplice rinnovo dovrebbe interessare tutte le risorse interessate e obbligarci ad eseguire diverse manutenzioni.

Certificate Manager

In un’ambiente di cloud computing e più precisamente negli Amazon Web Services possiamo centralizzare tutte queste manutenzioni, assegnare il certificato ad un ELB che le userà per tutte le istanze EC2 o ad una distribuzione CloudFront per le risorse statiche come immagini, video, CSS, javascript etc, etc. Nel proseguimento di questo articolo vedremo come sia semplice configurare un certificato in AWS.

Certificate Manager

Per usare questo servizio andiamo nella nostra management console e selezioniamo il servizio di certificate manager. Ci verrà presentata una schermata con i certificati attivi e il pulsante per richiederne di nuovi. Per semplicità vi riporto le schermate della mia configurazione in cui verranno elencati alcuni certificati nella zona di San Paolo per le istanze EC2 e altri nella zona USA Virgina per le distribuzioni CloudFront.

Request certificate

Una volta entrati in questa schermata possiamo procedere alla richiesta del nostro primo certificato SSL premendo il pulsante “request a certificate”. Inseriamo tutti i dati richiesti e i nomi di dominio e sotto-dominio che vogliamo certificare. Dato che non abbiamo costi aggiuntivi possiamo anche indicare un wildcard con *.dominio.com.

Dopo la sottomissione della richiesta di certificato vi verrà spedito un messaggio di conferma per posta elettronica ad uno degli indirizzi standard nel domino, come ad esempio admin@dominio-richiesto, postmaster@domino-richiesto, etc, quindi prima di questa operazione sinceratevi di avere l’accesso per la lettura di questa mail. Una volta confermata la mail lo stato del certificato passerà da Pending a Issued.

Certificato SSL con ELB

Adesso che abbiamo il certificato SSL presente nella nostra console AWS possiamo usarlo con il servizio di Elastic Load Balancer. Andiamo sulla pagina del servizio EC2 e selezioniamo la voce che riguarda ELB sulla sidebar di sinistra, selezioniamo la parte di configurazione che riguarda “Listeners” e aggiungiamo e/o modifichiamo la porta che riguarda la connessione HTTPS con le nostre istanze EC2.

Configurazione ELB

Se selezioniamo la voce “Change” vicino al certificato o il pulsante “Add” per inserire una nuova porta ci verrà richiesto il tipo di certificato da associare, come ad esempio un certificato presente in IAM (con upload), l’inserimento di un certificato manuale o nel nostro caso un certificato presente in “certificate manager”. Scegliendo questa ultima opzione ci verrà presentata una tendina in cui selezionare quello necessario.

Certificato SSL con CloudFront

Come accennato ad inizio articolo, per CloudFront (essendo un servizio global) tutti i certificati devono essere presenti nella regione USA Virginia (us-east-1). Quindi la procedura per richiedere un nuovo certificato SSL è la stessa di quella presentata precedentemente ma bisogna solo fare attenzione alla scelta della zona geografica.

Una volta che abbiamo i certificati SSL in (us-east-1) possiamo andare sul servizio di CloudFront e modificare una distribuzione. La scelta di un Custom SSL certificate la trovate nei parametri generali di configurazione della distribuzione. Una volta trovata l’opzione indicata qui di seguito procediamo alla scelta del certificato da collegare.

Custom SSL cloudfront

Come potete notare da questa schermata è anche possibile fare la richiesta di un nuovo certificato direttamente da questa schermata e poi fare il refresh per caricarlo nell’elenco di selezione e procedere così alla configurazione della distribuzione.

Verifica del certificato SSL

Ovviamente dopo aver assegnato un certificato SSL ad un Elastic Load Balancer o ad una distribuzione CloudFront ci conviene subito verificarlo tramite il nostro browser preferito o testarlo tramite la pagina QUALYS SSL Labs Test. Vi riporto qui di seguito la procedura per verificare il certificato con il browser Chrome.

Verifica certificato

Se selezionate il bottone indicato con il punto (2) potete vedere tutti i dettagli del nuovo certificato come la data di scadenza e i riferimenti di emissione. Per qualsiasi altra informazione scrivete pure nei commenti presenti in fondo a questo articolo.

Guida completa su AWS

Questo articolo appartiene ad una serie di pubblicazioni che costituiscono una guida completa dedicata agli Amazon Web Services. Molti servizi che trattiamo in questo blog vengono anche spiegati con dei video che trovate nel nostro canale youtube. Se volete seguire questo percorso didattico iscrivetevi alla community Cloud AWS.

1 Commento

  1. Ho appena scoperto questo blog con degli articoli sugli Amazon Web Services veramente interessanti, complimenti. Ritornando all'argomento dei certificati penso che il fattore del risparmio economico sia molto importante, specialmente in tutti quei sottodomini che si creano per prova e dove bisogna pagare un wildcard per gestirli.

condividi