ACME SSLCertificate

Back

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 [1] è 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

LBL GDG e ACME

LBL®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.

Figura 3 HTTP Challenge con LBL 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.

LBL 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.

Figura 4 ADC Settings -> Rewrite manament -> Rewrite header rules

 

Attraverso il campo search, cercare la regola LBLHttpAcmeChallengeCsr.

È sufficiente usare “acme” come filtro.

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.

Figura 6 ADC Settings -> ADCs

Entrare nella maschera di configurazione del modulo ADC

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

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.

Figura 8 Link di segnalazione di salvatagggio e reinizializzazione

Generazione certificato SSL

Attraverso il menu selezionare Files e poi Keystore.

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.

Figura 10 Inserimento password per keystore.

Per generare un nuovo certificato premere il tasto new

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.

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.

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

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

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

Figura 14 Inserimento alias password

Il certificato è firmato.

Figura 15 CSR avvenuta correttamente.

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

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

Sei interessato alle nostre soluzioni?