Windows Server 2008 R2: creazione di un template per certificato utente con durata superiore ad un anno

Spesso può essere utile generare certificati con durata superiore all’anno per l’autenticazione di un utente tramite VPN in scenari in cui l’accesso all’infrastruttura è comunque ben delimitata e protetta non solo col certificato ma anche con un’autenticazione basata su utente e password (o altro fattore di autenticazione).

Nello scenario di esempio si ipotizzerà di avere una infrastruttura CA basata su Windows Server 2008.

Per aumentare la durata dei certificati generati occorre creare un nuovo Template copiando il template di default Utente tramite snap-in Certificate Templates (certtmpl.msc) e selezionando la creazione di un modello con versione.

Nello scenari di esempio verrà creato un template con nome Utente con durata biennale specificando appunto una durata biennale.

Dal momento che il certificato avrà una durata maggiore è anche consigliabile aumentare le dimensioni della chiave, portandola ad esempio a 4096, e impostare come provider delle richieste il Microsoft Software Key Storage Provider per evitare che venga richiesta una Smart Card quando viene richiesto un certificato. Inoltre è consigliabile impostare l’Hash con un algoritmo crittografico superiore a SHA-1 dal momento che quest’ultimo è stato violato e Google ha pubblicato un sito dove è possibile verificare in pratica compromissione (a riguardo di veda Google Just ‘Shattered’ An Old Crypto Algorithm — Here’s Why That’s Big For Web Security e il sito https://shattered.it).

Impostare poi il nome soggetto in base ai requisiti necessari come, ad esempio, l’inclusione dell’UPN (User Principal Names)

Impostare poi i Requisiti di rilascio configurando il Numero di firme digitali autorizzate, il Tipo di criterio richiesto nella firma digitale e il Criterio di applicazione.

Per quanto riguarda il Numero di firme digitali autorizzate nelle CA Windows 2008 R2 è necessario impostare il valore a 1 in quanto in Windows Server 2008 R2 viene fatto un enforcement relativo alle operazioni di richiesta dei certificati di tipo Enroll on Behalf Of come riportato nel post The certificate template requires too many RA signatures:

After copying the default Smartcard Logon or Smartcard User certificate template on a Windows 2008 R2 CA server, the template may not show up as selectable during Enroll on Behalf Of operations such as EOBO smartcard enrollment.

Clicking ‘Show all templates’ you may see the following error message for the template:

The certificate template requires too many RA signatures.  Only one RA signature is allowed.
Multiple request agent signatures are not permitted on a certificate request.

 

This is because Windows 2008 R2 requires an application policy to be defined for the EoBo operation (W2k3 did not enforce this requirement).

By default there is no number of authorized signatures defined (i.e. 0 signatures are allowed for the template – when you do an EoBo you therefore technically exceed the limit by 1).

Ticking the box as above allows the EoBo operation for the smartcard to succeed as it sets the number of allowed and required signatures to 1.

Una volta creato il template del certificato occore pubblicarlo tramite lo snap-in di gestione della Certificate Authority (certsrv.msc)

Per maggiori informazioni riguardo la gestione dei Template dei certificati nelle CA in Windows Server 2008 R2 si veda anche Administering Certificate Templates.