Gestire e aggiornare gratuitamente i certificati digitali in Microsoft Exchange con la CA Let’s Encrypt

Nel panorama attuale dell’IT, dove le configurazioni ibride tra ambienti on-premises e cloud come Exchange Online diventano sempre più comuni, garantire la sicurezza delle comunicazioni tramite certificati digitali diventa una priorità assoluta. Questo articolo vi offrirà una guida dettagliata su come gestire e aggiornare gratuitamente i certificati digitali in Microsoft Exchange con la CA Let’s Encrypt, una risorsa inestimabile non solo per chi gestisce server Exchange on-premises, ma anche per coloro che navigano la complessità delle configurazioni ibride con Exchange Online.

Cos’è Let’s Encrypt

Let’s Encrypt è un’autorità di certificazione (CA) gratuita, automatizzata e aperta, lanciata nel 2014 come progetto della Internet Security Research Group (ISRG). Ha lo scopo di rendere la crittografia su Internet ubiqua e facile da usare, al fine di migliorare la privacy e la sicurezza complessive del web. Fornisce certificati digitali X.509 necessari per abilitare HTTPS (SSL/TLS) sui siti web, senza alcun costo per gli utenti finali. Trovate tutti gli articoli che trattano di Let’s Encrypt utilizzando la chiave di ricerca Let’s encrypt – ICT Power

Caratteristiche principali di Let’s Encrypt includono:

  • Gratuità: Let’s Encrypt offre certificati SSL/TLS gratuitamente, nel tentativo di rendere criptate tutte le comunicazioni web. Ciò rende la sicurezza accessibile anche per i piccoli siti web e gli utenti con budget limitato.
  • Automazione: Supporta pienamente l’Automated Certificate Management Environment (ACME), un protocollo standardizzato per l’automazione delle attività relative ai certificati, come l’emissione, il rinnovo e la revoca. Questo riduce significativamente il lavoro manuale necessario per gestire i certificati SSL/TLS.
  • Sicurezza: Anche se i certificati sono gratuiti, ciò non compromette la sicurezza. Let’s Encrypt fornisce lo stesso livello di sicurezza dei certificati a pagamento.
  • Apertura: È un progetto open source che promuove la trasparenza. La documentazione, il software utilizzato per gestire l’autorità di certificazione e il protocollo ACME sono disponibili liberamente.
  • Accessibilità: Mirando a rendere la crittografia accessibile a tutti, Let’s Encrypt ha semplificato il processo di ottenimento di un certificato, rendendolo fattibile anche per chi non ha esperienza tecnica avanzata.

L’obiettivo di Let’s Encrypt di spingere l’intero web verso una connessione crittografata ha avuto un enorme impatto, aumentando significativamente il numero di siti web che utilizzano HTTPS e migliorando la sicurezza e la privacy online per tutti gli utenti di Internet.

Che tipo di certificati è possibile generare con Let’s Encrypt?

Con Let’s Encrypt, potete generare diversi tipi di certificati digitali gratuiti che si adattano a varie esigenze di sicurezza web. Eccoli:

  • Certificati Singoli: Questi certificati sono rilasciati per un unico nome di dominio completamente qualificato (FQDN). Per esempio, potete ottenere un certificato per www.esempio.com o mail.esempio.com. Sono perfetti per siti web o servizi specifici che necessitano di una connessione sicura.
  • Certificati Multi-dominio (SAN o UCC): I certificati multi-dominio, noti anche come certificati SAN (Subject Alternative Name) o UCC (Unified Communications Certificate), vi permettono di proteggere più nomi di dominio o sottodomini con un unico certificato. Questo tipo di certificato è molto utile per le organizzazioni che gestiscono diversi siti web o servizi web sotto nomi di dominio differenti. Con un certificato SAN, ad esempio, potete includere www.esempio.com, www.esempio.net, e mail.altroesempio.com tutti sotto lo stesso certificato.
  • Certificati Wildcard: I certificati Wildcard vi permettono di proteggere un dominio e un numero illimitato di sottodomini al livello specificato. Ad esempio, un certificato Wildcard per *.esempio.com coprirà mail.esempio.com, www.esempio.com, e qualsiasi altro sottodominio di esempio.com. Sono particolarmente utili quando avete bisogno di proteggere diversi sottodomini senza specificare in anticipo tutti i nomi.

Come si ottengono i certificati da Let’s Encrypt?

Potete ottenere questi certificati attraverso il processo ACME (Automatic Certificate Management Environment), utilizzando client ACME come Certbot o altri strumenti compatibili. Il processo tipicamente include la prova di controllo del dominio che desiderate proteggere, che può essere realizzata via file su un server web, record DNS, o altri metodi supportati da Let’s Encrypt.

NOTA: È importante notare che, mentre i certificati Let’s Encrypt sono gratuiti e automatici, richiedono un rinnovo regolare ogni 90 giorni. Fortunatamente, questo processo può essere automatizzato con la maggior parte dei client ACME, assicurando che la vostra sicurezza web rimanga aggiornata senza intervento manuale continuo.

Generazione di certificati digitali pubblici utilizzando la Certification Authority gratuita Let’s Encrypt e PowerShell

Let’s Encrypt utilizza il protocollo ACME per rilasciare i certificati digitali, dopo aver verificato che siate i legittimi proprietari del nome di dominio che volete utilizzare nel certificato. Tra i diversi client che potete utilizzare e che utilizzano il protocollo ACME, descritti alla pagina https://letsencrypt.org/docs/client-options/ , ho deciso di utilizzare un client scritto per PowerShell che si chiama Posh-ACME.

Posh-ACME è un’opzione popolare, poiché è un modulo PowerShell puro che funziona su Windows, Linux e macOS. Trovate tutti i passaggi per l’installazione del modulo PowerShell visitando la pagina Generazione di certificati digitali pubblici utilizzando la Certification Authority gratuita Let’s Encrypt e PowerShell – ICT Power

Richiesta di un nuovo certificato

Collegatevi al vostro server Exchange e aprite un prompt di PowerShell con privilegi elevati. Per generare un nuovo certificato wildcard per il mio server Exchange ho utilizzato i comandi:

Vi rimando alla pagina Tutorial – Posh-ACME (poshac.me) per una guida dettagliata dei comandi.

Figura 1: Script per la richiesta di un nuovo certificato

La validazione DNS di Let’s Encrypt è un metodo per dimostrare il controllo sul dominio per il quale si sta richiedendo un certificato SSL/TLS. Let’s Encrypt vi chiederà di creare un record DNS specifico (nello specifico un record TXT) nel dominio che state cercando di proteggere. Questo record contiene un valore unico generato durante il processo di richiesta del certificato. La mia zona DNS è ospitata su Azure.

Figura 2: Inserimento del record TXT per la DNS validation di Let’s Encrypt

Una volta che il record TXT è stato aggiunto e si è propagato (il che può richiedere da pochi secondi fino a diverse ore), potete procedere con la richiesta di verifica a Let’s Encrypt tramite il vostro client ACME. Let’s Encrypt quindi effettuerà una query DNS per il vostro dominio, cercando il record TXT che avete aggiunto. Se il valore del record corrisponde al token che hanno fornito, questo dimostra che avete il controllo sul dominio.

Figura 3: Emissione del certificato avvenuta con successo

Il comando PowerShell che ho lanciato installa il certificato sulla macchina in cui è stato lanciato.

Figura 4: Il certificato è stato installato nel server Exchange

Configurazione dei servizi di Exchange per l’utilizzo del nuovo certificato

Dopo la creazione del certificato potete associarlo ai servizi ai servizi SMTP e IIS. L’operazione va fatta dalla Exchange Management console. Io l’ho fatta da PowerShell ISE, caricando precedentemente lo snap-in di EMS e utilizzando i comandi:

Confermate la richiesta di sostituzione del certificato esistente.

Figura 5: Assegnazione del certificato ai servizi di Microsoft Exchange

Potete verificare che il certificato sia stato assegnato correttamente ai servizi utilizzando l’interfaccia web dell’Exchange Admin Center oppure con il comando PowerShell Get-ExchangeCertificate | fl Services, Subject, Issuer, Thumbprint

Figura 6: Assegnazione del certificato ai servizi di Exchange avvenuta correttamente

Modifica del certificato per le connessioni ibride con Exchange Online

La modifica del certificato per le connessioni ibride con Exchange Online è un passaggio cruciale quando si gestisce un ambiente ibrido Exchange, che integra la vostra infrastruttura di Exchange on-premises con Exchange Online in Microsoft 365 (precedentemente Office 365). Questa configurazione permette a entrambi gli ambienti di funzionare come un unico sistema distribuito, offrendo una serie di vantaggi in termini di gestione degli utenti, della posta elettronica e dei calendari.

Mantenere almeno un server Exchange on-premises è generalmente raccomandato quando si utilizza una configurazione ibrida con Exchange Online. Questa raccomandazione si basa su vari fattori operativi e di gestione. In una configurazione ibrida, molti degli attributi dell’utente di Exchange vengono gestiti tramite l’Active Directory (AD) on-premises e sincronizzati con Entra ID in Microsoft 365 tramite Microsoft Entra Connect.

Ricavate i nomi dei connettori di invio (creati dal wizard di creazione dell’ambiente Exchange ibrido) e di ricezione di frontend, utilizzando l’Exchange Admin Center (EAC), come mostrato nelle figure sotto:

Figura 7: Nome del connettore di invio della posta

Figura 8: Nome del connettore di ricezione della posta

Procedete quindi alla sostituzione del certificato utilizzando i comandi:

NOTA: Potrebbero apparire dei warning, che possono essere ignorati.

Figura 9: Configurazione del certificato per i connettori di ingresso e uscita

La configurazione è quindi completata. Da questo momento il vostro server Exchange utilizzerà il nuovo certificato generato da Let’s Encrypt per tutti i servizi.

Rimozione del vecchio certificato

Procedete alla rimozione del vecchio certificato direttamente dalla console dei certificati Machine, guardando la data di scadenza.

Figura 10: Rimozione del vecchio certificato

Nell’Exchange Admin Center (EAC) potrete verificare che adesso ci sarà un solo certificato.

Figura 11: Certificato utilizzato dai servizi di Exchange

Conclusioni

Concludendo, navigare nella gestione e nell’aggiornamento dei certificati digitali in un ambiente Microsoft Exchange, specialmente in configurazioni ibride con Exchange Online, può sembrare un’impresa complessa ma è fondamentale per garantire la sicurezza e l’integrità delle comunicazioni aziendali. La Certification Authority gratuita Let’s Encrypt offre un’opportunità inestimabile per le organizzazioni di tutte le dimensioni di implementare e rinnovare i certificati SSL/TLS senza costi aggiuntivi, mantenendo così una postura di sicurezza robusta senza gravare sul budget IT.

Per coloro che gestiscono una configurazione ibrida, mantenere un server Exchange on-premises risulta non solo una pratica raccomandata ma essenziale per una serie di operazioni di gestione e sincronizzazione. Questo approccio non solo facilita una migrazione graduale e sicura verso il cloud, ma assicura anche che la gestione degli attributi utente e altre funzionalità specifiche di Exchange rimangano flessibili e accessibili.

Implementando i passaggi e le best practices descritti in questo articolo, potete assicurarvi che il vostro ambiente Exchange, sia on-premises che online, operi con la massima efficienza, sicurezza e conformità. Ricordate, la chiave per una gestione efficace dei certificati e della sicurezza in generale è la proattività: monitorare regolarmente la vostra configurazione, aggiornare i certificati prima della loro scadenza e rimanere informati sulle ultime pratiche e tecnologie di sicurezza vi aiuterà a mantenere un passo avanti nelle sfide della sicurezza informatica.