Condividi tramite


Configurare il servizio Web di registrazione certificati per il rinnovo basato sulla chiave del certificato su una porta personalizzata

Autori: Jitesh Thakur, Meera Mohideen, Consulenti tecnici con il gruppo Windows. Ankit Tyagi Tecnico del supporto con il gruppo Windows

Sommario

Questo articolo fornisce istruzioni dettagliate per implementare il servizio Web di informazioni sulle registrazioni di certificati (CEP) e il servizio Web di registrazione certificati (CES) su una porta personalizzata diversa da 443 per il rinnovo basato su chiavi del certificato per sfruttare la funzionalità di rinnovo automatico di CEP e CES.

Questo articolo illustra anche il funzionamento di CEP e CES e fornisce linee guida per la configurazione.

Nota

Il flusso di lavoro incluso in questo articolo si applica a uno scenario specifico. Lo stesso flusso di lavoro potrebbe non funzionare per una situazione diversa. Tuttavia, i principi rimangono invariati.

Dichiarazione di non responsabilità: questa configurazione viene creata per un requisito specifico in cui non si vuole usare la porta 443 per la comunicazione HTTPS predefinita per i server CEP e CES. Anche se questa configurazione è possibile, dispone di un supporto limitato. Il servizio clienti e il supporto tecnico possono essere utili se si segue attentamente questa guida e si devia in minima parte dalla configurazione del server Web fornita.

Sceneggiatura

Per questo esempio, le istruzioni sono basate su un ambiente che usa la configurazione seguente:

  • Una foresta Contoso.com con Servizi di certificazione Active Directory (AD CS) e un'infrastruttura a chiave pubblica (PKI).

  • Due istanze CEP/CES configurate su un server eseguito con un account di servizio. Un'istanza usa nome utente e password per la registrazione iniziale. L'altra usa l'autenticazione basata su certificati per il rinnovo basato su chiavi solo in modalità di rinnovo.

  • Un utente dispone di un gruppo di lavoro o di un computer non aggiunto a un dominio per registrare il certificato del computer usando le credenziali del nome utente e della password.

  • La connessione dall'utente a CEP e CES tramite HTTPS si verifica su una porta personalizzata, ad esempio 49999. Questa porta viene selezionata da un intervallo di porte dinamiche e non viene usata come porta statica da altri servizi.

  • Quando la durata del certificato si avvicina alla fine, il computer utilizza il rinnovo delle chiavi CES basato su certificato per rinnovare il certificato tramite lo stesso canale.

distribuzione

Istruzioni per la configurazione

Informazioni generali

  1. Configurare il modello per il rinnovo basato su chiavi.

  2. Come prerequisito, configurare un server CEP e CES per l'autenticazione con nome utente e password. In questo ambiente, si fa riferimento all'istanza come "CEPCES01".

  3. Configurare un'altra istanza CEP e CES usando PowerShell per l'autenticazione basata su certificati nello stesso server. L'istanza CES usa un account di servizio.

    In questo ambiente si fa riferimento all'istanza come "CEPCES02". L'account del servizio utilizzato è "cepcessvc".

  4. Configurare le impostazioni del client.

Configurazione

Questa sezione illustra i passaggi per configurare la registrazione iniziale.

Nota

È anche possibile configurare qualsiasi account del servizio utente, account del servizio gestito (MSA) o account del servizio gestito del gruppo (GMSA) affinché CES funzioni.

Come prerequisito, è necessario configurare CEP e CES in un server usando l'autenticazione con nome utente e password.

Configurare il modello per il rinnovo basato su chiave

È possibile duplicare un modello di computer esistente e configurare le impostazioni seguenti del modello:

  1. Nella scheda Nome oggetto del modello di certificato, assicurarsi che siano selezionate le opzioni Fornisci nella richiesta e Usa le informazioni sull'oggetto dei certificati esistenti per le richieste di rinnovo automatico. Nuovi modelli

  2. Passare alla scheda Requisiti di rilascio e quindi selezionare la casella di controllo Approvazione del gestore certificato della CA. Requisiti di rilascio

  3. Assegnare l'autorizzazione Lettura e Registrazione all'account del servizio cepcessvc per questo modello.

  4. Pubblicare il nuovo modello nella CA.

Nota

Assicurarsi che le impostazioni di compatibilità nel modello siano impostate su Windows Server 2012 R2 perché si è verificato un problema noto in cui i modelli non sono visibili se la compatibilità è impostata su Windows Server 2016 o versione successiva. Per ulteriori informazioni, vedere Non è possibile selezionare i modelli di certificato compatibili con la CA di Windows Server 2016 dalle CA o dai server CEP basati su Windows Server 2016 o versioni successive.

Configurare l'istanza CEPCES01

Passaggio 1: Installare l'istanza

Per installare l'istanza CEPCES01, usare uno dei metodi seguenti.

Metodo 1

Per istruzioni dettagliate su come abilitare CEP e CES per l'autenticazione con nome utente e password, vedere gli articoli seguenti:

Linee guida per il servizio Web di politica di registrazione dei certificati

Linee guida al servizio Web di registrazione certificati

Nota

Assicurarsi di non selezionare l'opzione "Abilita rinnovo Key-Based" se si configurano sia istanze CEP che CES di autenticazione con nome utente e password.

Metodo 2

È possibile usare i cmdlet di PowerShell seguenti per installare le istanze CEP e CES:

Import-Module ServerManager
Add-WindowsFeature Adcs-Enroll-Web-Pol
Add-WindowsFeature Adcs-Enroll-Web-Svc
Install-AdcsEnrollmentPolicyWebService -AuthenticationType Username -SSLCertThumbprint "sslCertThumbPrint"

Questo comando installa il servizio Web di informazioni sulle registrazioni di certificati (CEP) specificando che per l'autenticazione vengono usati un nome utente e una password.

Nota

In questo comando, <SSLCertThumbPrint> è l'impronta digitale del certificato da vincolare a IIS.

Install-AdcsEnrollmentWebService -ApplicationPoolIdentity -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Username

Questo comando installa il servizio Web di registrazione certificati (CES) per usare l'autorità di certificazione per un nome computer di CA1.contoso.com e un nome comune della CA di contoso-CA1-CA. L'identità del CES viene specificata come identità predefinita del pool di applicazioni. Il tipo di autenticazione è nome utente. SSLCertThumbPrint è l'impronta digitale del certificato da collegare a IIS.

Passaggio 2: Controllare la console di Gestione Internet Information Services (IIS)

Dopo aver completato l'installazione, si dovrebbe poter visualizzare la schermata seguente nella console di gestione di Internet Information Services (IIS). Screenshot che mostra la console di Gestione Internet Information Services.

In Sito Web predefinito, selezionare ADPolicyProvider_CEP_UsernamePassword e quindi aprire Impostazioni di applicazione. Prendere nota dell'ID e dell'URI.

È possibile aggiungere un nome descrittivo per la gestione.

Configurare l'istanza CEPCES02

Passaggio 1: Installare CEP e CES per il rinnovo basato su chiavi nello stesso server.

In PowerShell eseguire questo comando:

Install-AdcsEnrollmentPolicyWebService -AuthenticationType Certificate -SSLCertThumbprint "sslCertThumbPrint" -KeyBasedRenewal

Questo comando installa il servizio Web di informazioni sulle registrazioni di certificati (CEP) e specifica che per l'autenticazione viene usato un certificato.

Nota

In questo comando, <SSLCertThumbPrint> è l'impronta digitale del certificato da allegare a IIS.

Il rinnovo basato su chiavi consente ai client di certificati di rinnovare i certificati usando la chiave del certificato esistente per l'autenticazione. Quando si usa la modalità di rinnovo basato su chiave, il servizio restituisce solo i modelli di certificato impostati per il rinnovo basato su chiave.

Install-AdcsEnrollmentWebService -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Certificate -ServiceAccountName "Contoso\cepcessvc" -ServiceAccountPassword (read-host "Set user password" -assecurestring) -RenewalOnly -AllowKeyBasedRenewal

Questo comando installa il servizio Web di registrazione certificati (CES) per usare l'autorità di certificazione per un nome computer di CA1.contoso.com e un nome comune della CA di contoso-CA1-CA.

In questo comando, l'identità del servizio Web di registrazione certificati viene specificata come account del servizio cepcessvc. Il tipo di autenticazione è certificato. SSLCertThumbPrint è l'impronta digitale del certificato da associare a IIS.

Il cmdlet RenewalOnly consente l'esecuzione CES solo in modalità di rinnovo. Il cmdlet AllowKeyBasedRenewal specifica anche che il ces accetta richieste di rinnovo basate su chiavi per il server di registrazione. Si tratta di certificati client validi per l'autenticazione che non si collegano direttamente a un'entità di sicurezza.

Nota

L'account del servizio deve far parte del gruppo IIS_IUSRS sul server.

Passaggio 2: Controllare la console di gestione IIS

Dopo aver completato l'installazione, si dovrebbe poter visualizzare la schermata seguente nella console di gestione IIS. Responsabile IIS

Selezionare KeyBasedRenewal_ADPolicyProvider_CEP_Certificate in Sito Web predefinito e aprire Impostazioni di applicazione. Prendere nota dell’ID e dell'URI. È possibile aggiungere un nome descrittivo per la gestione.

Nota

Se l'istanza viene installata in un nuovo server, verificare l'ID per assicurarsi che sia lo stesso ID generato nell'istanza CEPCES01. È possibile copiare e incollare il valore direttamente se diverso.

Completare la configurazione dei servizi Web di registrazione certificati

Per registrare il certificato per la funzionalità di CEP e CES, è necessario configurare l'account computer del gruppo di lavoro in Active Directory e quindi configurare la delega vincolata nell'account del servizio.

Passaggio 1: Creare un account computer del computer del gruppo di lavoro in Active Directory

Questo account viene usato per l'autenticazione per il rinnovo basato su chiave e l'opzione Pubblica in Active Directory nel modello di certificato.

Nota

Non è necessario unire il computer client a un dominio.

Nuovo oggetto

Passaggio 2: Configurare l'account del servizio per la delega vincolata (S4U2Self)

Eseguire il comando di PowerShell seguente per abilitare la delega vincolata (S4U2Self o qualsiasi protocollo di autenticazione):

Get-ADUser -Identity cepcessvc | Set-ADAccountControl -TrustedToAuthForDelegation $True
Set-ADUser -Identity cepcessvc -Add @{'msDS-AllowedToDelegateTo'=@('HOST/CA1.contoso.com','RPCSS/CA1.contoso.com')}

Nota

In questo comando <cepcessvc> rappresenta l'account del servizio e <CA1.contoso.com> rappresenta l'autorità di certificazione.

Importante

Non abilitiamo il flag RENEWALONBEHALOF nella CA in questa configurazione perché utilizziamo la delega vincolata per svolgere lo stesso compito. In questo modo è possibile evitare di aggiungere l'autorizzazione per l'account del servizio alla sicurezza della CA.

Passaggio 3: Configurare una porta personalizzata nel server Web IIS
  1. Nella console di gestione IIS, selezionare Sito Web predefinito.

  2. Nel riquadro azioni selezionare Modifica associazione sito.

  3. Modificare l'impostazione predefinita della porta da 443 alla porta personalizzata. Lo screenshot di esempio mostra l'impostazione di una porta 49999. Modificare la porta

Passaggio 4: Modificare l'oggetto dei servizi di registrazione della CA in Active Directory
  1. Su un controller di dominio, aprire adsiedit.msc.

  2. Connettersi alla partizione di configurazione e passare all'oggetto dei servizi di registrazione della CA:

    CN=ENTCA,CN=Servizi di registrazione,CN=Servizi della chiave pubblica,CN=Servizi,CN=Configurazione,DC=contoso,DC=com

  3. Fare clic con il pulsante destro del mouse e modificare l'oggetto della CA. Modificare l'attributo msPKI-Enrollment-Servers usando la porta personalizzata con gli URI del server CEP e CES trovati nelle impostazioni di applicazione. Per esempio:

    140https://cepces.contoso.com:49999/ENTCA_CES_UsernamePassword/service.svc/CES0
    181https://cepces.contoso.com:49999/ENTCA_CES_Certificate/service.svc/CES1
    

    Modifica ADSI

Configurare il computer client

Nel computer client, configurare i criteri di registrazione e i criteri di registrazione automatica. A tale scopo, seguire questa procedura:

  1. Selezionare Avvia>Esegui e quindi immettere gpedit.msc.

  2. Passare a Configurazione del computer>Impostazioni di Windows>Impostazioni di sicurezza e quindi fare clic su Criteri della chiave pubblica.

  3. Abilitare il Client dei servizi certificati - Criteri di registrazione automatica in modo che corrisponda alle impostazioni mostrate nello screenshot seguente. Criteri di gruppo per i certificati

  4. Abilitare Client dei Servizi di Certificati - Politica di Registrazione dei Certificati.

    a) Fare clic su Aggiungi per aggiungere i criteri di registrazione e immettere l'URI CEP con UsernamePassword modificato in ADSI.

    b. Per tipo di autenticazione, selezionare nome utente/password.

    c. Impostare una priorità di 10 e quindi convalidare il server dei criteri. Immagine che mostra dove settare la priorità.

    Nota

    Assicurarsi che il numero di porta venga aggiunto all'URI ed sia consentito nel firewall.

  5. Registrare il primo certificato per il computer tramite certlm.msc. Screenshot che mostra dove selezionare i criteri di registrazione dei certificati.

    Selezionare il modello KBR e registrare il certificato. Screenshot che mostra dove selezionare il modello K B R.

  6. Aprire di nuovo gpedit.msc. Modificare il Client dei Servizi di Certificato – Criteri di Registrazione dei Certificati e quindi aggiungere i criteri di registrazione per rinnovo basato su chiave:

    a) Fare clic su Aggiungi, immettere l'URI CEP con Certificato modificato in ADSI.

    b. Impostare una priorità di 1 e quindi convalidare il server dei criteri. Verrà richiesto di eseguire l'autenticazione e scegliere il certificato registrato inizialmente.

    Criterio di registrazione

Nota

Assicurarsi che il valore di priorità dei criteri di registrazione per il rinnovo basato su chiavi sia inferiore a quello dei criteri di registrazione basati su nome utente e password. La prima preferenza viene assegnata alla priorità più bassa.

Test della configurazione

Per assicurarsi che il rinnovo automatico funzioni, verificare che il rinnovo manuale funzioni rinnovando il certificato con la stessa chiave usando mmc. Inoltre, dovrebbe essere richiesto di selezionare un certificato durante il rinnovo. È possibile scegliere il certificato che abbiamo iscritto in precedenza. Il prompt è previsto.

Aprire l'archivio certificati personali del computer e aggiungere la visualizzazione dei certificati archiviati. A tale scopo, aggiungere lo snap-in dell'account del computer locale a mmc.exe, evidenziare Certificati (computer locale) facendo clic su di esso, fare clic su Visualizzazione dalla scheda Azione a destra o nella parte superiore di mmc, fare clic su Opzioni di visualizzazione, selezionare Certificati archiviati e quindi fare clic su OK.

Metodo 1

Eseguire il comando seguente:

certreq -machine -q -enroll -cert <thumbprint> renew

Metodo 2

Spostare in avanti data e ora nel computer client per farla coincidere con data e ora del rinnovo del modello di certificato.

Ad esempio, il modello di certificato ha un'impostazione di validità di 2 giorni e un'impostazione di rinnovo di 8 ore configurata. Il certificato di esempio è stato emesso alle 04.00 del 18° giorno del mese e scade alle 04.00 del giorno 20. Il motore di registrazione automatica viene attivato al riavvio e a ogni intervallo di 8 ore (circa).

Pertanto, se si anticipa l'orario alle 20:10 del 19, poiché la finestra di rinnovo è stata impostata su 8 ore nel modello, eseguendo Certutil -pulse per attivare il motore AE il certificato viene registrato automaticamente per l’utente.

Comando

Al termine del test, ripristinare le impostazioni temporali sui valori originali e quindi riavviare il computer client.

Nota

Lo screenshot precedente è un esempio per dimostrare che il motore di registrazione automatica funziona come previsto perché la data della CA è ancora impostata sul 18. Pertanto, continua a rilasciare certificati. In una situazione reale, questo numero elevato di rinnovi non si verificherà.

Riferimenti

Guida al lab di test: dimostrazione del rinnovo basato su chiavi dei certificati

Servizi Web di registrazione certificati

Install-AdcsEnrollmentPolicyWebService

Install-AdcsEnrollmentWebService

Vedere anche

Forum sulla sicurezza di Windows Server

Domande frequenti sull’infrastruttura a chiave pubblica (PKI) di Servizi certificati Active Directory (AD CS)

Riferimenti e libreria della documentazione sull’infrastruttura a chiave pubblica (PKI) di Windows

Blog sull’infrastruttura a chiave pubblica (PKI) di Windows

Come configurare la delega vincolata Kerberos (S4U2Proxy o solo Kerberos) su un account di servizio personalizzato per le pagine proxy di Registrazione Web