Certificati ACME SSL
ACME Protocol
Il protocollo ACME (Automatic Certificate Management Environment) è un protocollo per automatizzare le interazioni tra le Certification Authorities e 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.
Figura 1 HTTP Challenge, fonte https://letsencrypt.org/how-it-works (opens in a new tab)
Figura 2 HTTP Challenge, fonte https://letsencrypt.org/how-it-works (opens in a new tab)
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.
Per poter usufruire di questa funzionalità è necessario attivare un regola di rewrite.
La regola di rewrite deve essere inserita in un gruppo/virtual domain/endpoint collegato ad un listener in porta 80
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.
Figura 4 ADC Settings > Rewrite Management > 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 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 salvataggio 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 edit.
Per l'edit è 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.