Approfitti l’automazione tramite ACME anche sul server Windows
14/mar/2022 | Jindřich Zechmeister
Il protocollo ACME è un moderno strumento di automazione che viene utilizzato principalmente sui server Linux, mentre negli ecosistemi Windows non è così diffuso. Vorrebbe automatizzare i certificati sul Suo server Windows, ma non sa come? Le mostreremo come può semplicemente utilizzare ACME sul server Windows, le impostazioni dei certificati e il rinnovo automatico incluso.
A cosa serve ACME
Per cominciare, ricordiamo brevemente a cosa serve il protocollo ACME e qual è il suo vantaggio inestimabile. È definito come come un protocollo di comunicazione per automatizzare le interazioni tra le autorità di certificazione e i server web dei loro utenti che consente l'implementazione automatica di un'infrastruttura a chiave pubblica.
Tramite ACME può facilmente richiedere ed ottenere un certificato TLS da una AC affidabile. L'intero processo è gestito dal bot ACME che di solito può anche implementare (installare) il nuovo certificato sul server web. L'uso è abbastanza diffuso nell'ambiente del server Linux, al contrario nell'ambiente Windows molti amministratori ancora non conoscono bot ACME che potrebbe il certificato addirittura installare.
Prerequisiti per l'utilizzo del certificato ACME
Per automatizzare l'acquisizione e l’implementazione di un certificato utilizzando il protocollo ACME è necessario soddisfare alcuni prerequisiti.
Poiché l'emissione di un certificato a seguito della sua richiesta tramite protocollo ACME è automatica, è logicamente necessario effettuare la verifica del richiedente prima della domanda stessa di certificato. A questo vengono aggiunti anche dei domini pre-verificati.
Basta che ci faccia sapere che è interessato ad ACME. In seguito, il nostro supporto procurerà la verifica sia della Sua organizzazione da DigiCert, sia dei domini che desidera proteggere. L'ultimo passo consiste nel generare degli accessi ACME unici per ciascun prodotto. Quindi, se volesse emettere, ad esempio, un certificato Thawte OV e Thawte EV, avrà una chiave ACME univoca per ciascuno di essi con cui preciserà nel client quale certificato deve essere emesso per un dominio determinato.
Seguitamente, concorderà forma di fatturazione con i commercianti SSLmarket, preferibilmente con un credito precaricato. È possibile, ad esempio, fare anche una fattura unica per un certo numero di certificati.
Attenzione: da DigiCert viene il processo di ottenimento di un certificato semplificato. Quando si fa una richiesta di emissione, il dominio non si più verifica tramite DNS/FILE challenge perché il dominio insieme all'organizzazione sono già autenticati.
Scelta di client giusto e le sue impostazioni
I client ACME sono disponibili in gran numero e il più diffuso è Certbot. Con sceglierlo sicuramente non sbaglierà. Tuttavia, la stragrande maggioranza dei client disponibili è progettata per server Linux o altre piattaforme simili, addirittura praticamente nessuno ha una GUI. I clienti ACME vengono generalmente gestiti tramite l'interfaccia a riga di comando.
Sono disponibili diverse opzioni per Windows e Windows Server, ma spesso scoprirà che il client non è in grado di completare il processo di acquisizione e installazione. La caratteristica più incisiva dei client ACME per Windows è l'impossibilità di implementare (binding) un nuovo certificato in IIS. Alcuni client offrono anche un'interfaccia utente grafica (GUI), ma non è chiaro se funzionino bene e soprattutto se funzionassero con l'implementazione ACME da DigiCert.
Noi abbiamo deciso di trovare e consigliare una specifica, completamente funzionale soluzione e un client che non solo possa ottenere un certificato da DigiCert, ma anche installarlo. È il client win-acme, il quale può scaricare dal sito web ufficiale.
Come configurare e utilizzare win-acme
Come era menzionato in precedenza, per autenticarsi su DigiCert, il client ACME ha bisogno di una chiave; la forniamo noi e Lei la configurerà nel client win-acme.
Scarichi il client dal sito web ufficiale e lo decomprima. Non eseguisca ancora il programma e invece apra il file setting.json. In questo file testuale vedrà nella sezione "Acme" tre url ACME, li cambi tutti su "https://acme.digicert.com/v2/acme/directory/". Altrimenti il programma non riconoscerà che dovrebbe comunicare con DigiCert ACME.
Solo dopo queste modifiche è possibile eseguire il file wacs.exe. Probabilmente vedrà l'avviso Smartscreen perché l'applicazione purtroppo non è firmata digitalmente. Lei deve questo aggirare.
Dopo aver avviato l'applicazione, non rilasci subito un certificato, deve prima impostare credentials ACME. Prima selezioni l'opzione O (More options) e poi A (Acme details). Il programma La chiederà di inserire Key Identifier e in seguito Key in Base64: riceverà entrambi i dati da noi come KID e HMAC key (denominati in questo modo). Li inserisca in ordine prima dato più breve, poi più lungo. Dopo aver inserito i dati, ritorni al menu principale.
Proceda all'emissione del certificato. Selezioni N dal menu principale e si lasci condurre dalla guida. Essa durante il processo di ottenimento di un nuovo certificato carica i dati di Sites in IIS e glieli offre da selezionare. Lei deve solo scegliere quale dominio desidera utilizzare come CN del certificato.
In primo luogo Le chiede al website, il quale deve scansionare, poi ottiene hostname da IIS. I dialoghi vengono confermati con la risposta y(es) o n(o) e l'opzione predefinita è sempre evidenziata in colori. Nel dialogo successivo, bot win-acme Le mostrerà bindings che ha trovato da hostname dato. Si tratta quindi di un elenco di domini e certificati ad essi collegati. Ancora una volta, scelga l'opzione corretta oppure può confermare la scelta predefinita (in genere se ha un solo sito web in IIS).
Successivamente, win-acme si collegherà a DigiCert tramite il protocollo ACME e cercherà di ottenere un nuovo certificato TLS. Ricordiamo che le chiavi ACME da noi generate determinano quale certificato sarà e per chi verrà emesso.
Dopo l'emissione del certificato che in genere richiede alcuni secondi, il nuovo certificato viene impostato sul dominio precedentemente selezionato in IIS. Quindi non deve importare laboriosamente il certificato e modificare Bindings. In basso, può vedere la conferma dell’avvenuta emissione del certificato e la conferma che è stato assegnato al dominio selezionato in IIS. In questo momento è attivo e tutto è pronto!
Non deve preoccuparsi per prolungamento del Suo certificato. Il client win-acme crea un evento sul server/stazione dato che viene ripetuto ogni giorno. Eventuali certificati in scadenza verranno avviati e rinnovati ogni giorno.
Conclusione
Il protocollo ACME è un potente aiuto per automatizzare il ciclo vitale dei certificati. Non esiti a implementarlo, Le può aiutare risparmiare centinaia di ore all'anno dedicate alla gestione manuale dei certificati TLS. Per ottenimento ACME URL, contatti il nostro supporto SSLmarket.