IIS, mutua autenticazione con certificati SSL

luca 18/04/2018 0

Non tutti sanno che IIS (Internet Information Services), il webserver di Microsoft, offre la possibilità di effettuare mutua autenticazione usando certificati SSL.

Probabilmente avrete visto che, all’interno della configurazione SSL di un sito, è possibile richiedere un certificato SSL client a chi effettua la connessione:

iis-ssl-001

in questo caso IIS verifica soltanto che il certificato presentato sia valido, ovvero firmato da una CA trusted.

La mutua autenticazione consente di fare un passo in più: in base al certificato che il client manda ad IIS avviene un mapping su un utente (locale o di dominio). E’ quindi possibile identificare un utente senza richiedere usernamepassword, ma basandosi sul certificato che questo possiede.

IIS consente due diversi mappingone-to-one (ad ogni certificato corrisponde un preciso utente) o many-to-one (a più certificati corrisponde un solo utente). Nel primo caso dovremo caricare in IIS l’intero certificato, mentre nel secondo indicheremo ad IIS le caratteristiche che i diversi certificati dovranno avere (ad esempio il valore di CN):

iis-ssl-002

Configurazione

La configurazione della funzionalità di Certificate Mapping non può essere fatta da interfaccia grafica (IIS Manager); è possibile solo modificando direttamente la configurazione di IIS.

Per prima cosa verifichiamo che sul server siano installati i seguenti role services:

iis-ssl-005

il primo (Client Certificate Mapping) serve per effettuare il mapping su account di dominio (Active Directory), mentre il secondo (IIS Client Certificate Mapping) per il mapping su account locali.

Apriamo quindi l’editor di configurazione del sito scelto:

iis-ssl-003

La configurazione dei due moduli di autenticazione si trova sotto security – authentication:

iis-ssl-004

Vediamo ad esempio il mapping su account locali. Per prima cosa dobbiamo abilitare il modulo e scegliere se attivare il mapping one-to-one o many-to-one (possiamo usarli anche entrambi):

iis-ssl-006

Per inserire un one-to-one mapping, clicchiamo su :

iis-ssl-007

quindi clicchiamo Add e inseriamo le informazioni richieste (certificato, username e password):

iis-ssl-008

Il certificato deve essere fornito in formato base64, rimuovendo le righe —BEGIN CERTIFICATE— e —END CERTIFICATE— e i caratteri di a capo in modo che sia tutto su una sola riga:

iis-ssl-010

Per un many-to-one mapping i passi sono simili… invece che caricare il certificato andremo a definire una o più rules. Se il certificato presentato soddisferà una rule, il mapping verrà realizzato:

iis-ssl-011

Ricordiamoci infine di disattivare gli altri metodi di autenticazione:

iis-ssl-012

Leave A Response »

Questo sito usa i cookie per poterti offrire una migliore esperienza di navigazione maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi