Certificati ACME SSL

ACME Protocol

Il protocollo ACME (Automatic Certificate Management Environment) è un protocollo per automatizzare le interazioni tra le Certification Authorities ed i web server degli utenti, permettendo la generazione e il deploy dei certificati digitali in maniera semplice ed economica.

Il protocollo ACME è un protocollo mantenuto da IETF e promosso da Internet Security Research Group che mette a disposizione un servizio di Certification Authority gratuito per la generazione di certificati digitali del tipo Domain Validation.

Questo servizio chiamato Let's Encrypt è generalmente associato al protocollo ACME.

Il protocollo ACME prevede vari meccanismi per il rilascio di un certificato digitale per la validazione di dominio dv. Il meccanismo solitamente usato è chiamato http challenge, in cui:

  • Creata una chiave privata viene generato un CSR, certificate signing request contenente un nome di dominio valido.

  • Il CSR viene spedito al servizio di CA Let's Encrypt.

  • La CA chiede di pubblicare nel dominio specificato dalla CSR un file contente una chiave. Questa chiave deve essere raggiungibile da una url sempre indicata dal servizio.

  • Una volta eseguita la pubblicazione, il servizio di CA verifica l'esistenza della chiave.

  • Se l'esito è positivo, la CA spedisce il certificato che può essere pubblicato.

Requesting challenges to validate
example.com

Figura 1 HTTP Challenge, fonte https://letsencrypt.org/how-it-works

Requesting authorization to act for
example.com

Figura 2 HTTP Challenge, fonte https://letsencrypt.org/how-it-works

Oplon Global Distributed Gateway e ACME

Oplon Global Distributed Gateway in quanto ADC terminatore di SSL ed SSL Offloading si trova nella posizione ideale per l'applicazione del protocollo ACME e del HTTP Challenge.

image3

Figura 3 HTTP Challenge con Oplon ADC

Per poter usufruire di questa funzionalità è necessario attivare un regola di rewrite.

La regola intercetta le richieste di verifica della CA e risponde con la chiave corretta del dominio da validare.

Oplon CSR ACME Setup

Per poter usufruire della funzionalità di generazione di certificati digitali attraverso il protocollo ACME, è necessario attivare la regola di rewrite LBLHttpAcmeChallengeCsr nel modulo ADC attraverso il quale è erogato il dominio da validare.

Attraverso il menu ADC Settings selezionare Rewrite management e poi Rewrite header rules.

image4

Figura 4 ADC Settings > Rewrite manament > Rewrite header rules

Attraverso il campo search, cercare la regola LBLHttpAcmeChallengeCsr.

È sufficiente usare "acme" come filtro.

image5

Figura 5 ricerca di LBLHttpAcmeChallengeCsr, usando acme come filtro.

Selezionare la regola LBLHttpAcmeChallengeCsr di un qualsiasi modulo template e copiarla nel modulo di bilanciamento che eroga i servizi del dominio da validare.

A questo punto si deve applicare la regola al modulo di bilanciamento.

Attraverso il menu ADC Settings, selezionare ADCs.

image6

Figura 6 ADC Settings > ADCs

Entrare nella maschera di configurazione del modulo ADC

Aperto il pannello Default rewrite rules, nel parametro rewriteHeaderRules LBLHttpAcmeChallengeCsr.

image7

Figura 7 Inserimento della regola LBLHttpAcmeChallengeCsr nelle regole di rewrite di default di un ADC

Salvare le modifiche e reinizializzare il modulo ADC usando i link in alto a destra.

image8

Figura 8 Link di segnalazione di salvatagggio e reinizializzazione

Generazione certificato SSL

Attraverso il menu selezionare Files e poi Keystore.

image9

Figura 9 Menu Files > Keystores per ottenere l'elenco dei keystore presenti

La vista elenca tutti i keystore, contenitori dei certificati digitali.

Selezionare il keystore corretto e premere il pulsante di editazione.

Per l'editazione è necessario inserire la password del keystore.

image10

Figura 10 Inserimento password per keystore.

Per generare un nuovo certificato premere il tasto new image11

Per la domain validation è sufficiente inserire nel campo CN (common name) il nome del dominio.

Inserire nel campo alias password la stessa password digitata per il keystore.

image12

Figura 11 Creazione nuovo certificato. CN e Alias password sono obbligatori

Il nuovo certificato è inserito nel keystore.

Il nome dell'issuer del certificato e uguale al nome del dominio inserito. Il certificato infatti non è ancora firmato dalla CA.

image13

Figura 12 Subject e Issuer coincidono nei certificati non firmati dalla CA.

Per la generazione e l'invio del CSR è sufficiente selezionare il certificato creato e premere il pulsante di generazione CSR

image14

Figura 13 Generazione ed invio CSR a Let's Encrypt per la firma del certificato

È necessario inserire l'alias password per l'invio.

image15

Figura 14 Inserimento alias password

Il certificato è firmato.

image16

Figura 15 CSR avvenuta correttamente.

image17

Figura 16 Il nome dell'issuer corrisponde al nome della CA

Salvare il keystore attraverso il pulsante save per confermare le modifiche.