Guida di IBM HTTP Server: Autenticazione del client

Autenticazione client

Il server supporta tre livelli di autenticazione del client e due tipi di controllo per l'accesso basati sulle informazioni contenute nel certificato del client.

Livello di autenticazione del client

Tale livello viene impostato mediante l'istruzione SSLCLientAuth:

Selezione di "richiesto"...

Se viene selezionato il livello di autenticazione del client richiesto, il server richiede a tutti i client un certificato mediante una richiesta https. Il server autorizza i client verificando i certificati CA di root sicura nel database di chiavi locale. Un certificato CA di root sicura è un certificato firmato da un'autorità di certificazione indicata come CA sicura sul server utilizzato.

Se il client dispone di un certificato valido, il server stabilisce una connessione sicura. Se il certificato del client è scaduto oppure è firmato da una CA non indicata come sicura sul server, il server non stabilisce la connessione con il client.

Tenere presente che l'autenticazione del client SSL aumenta il traffico di rete.

Selezione di "facoltativo"...

Se si seleziona il livello facoltativo, il server richiede un certificato al client. Se il client non fornisce alcun certificato, la connessione sicura verrà stabilita ugualmente. Il server non stabilirà la connessione solo se il client fornisce un certificato scaduto o se è firmato da una CA non indicata come sicura sul server.

Tenere presente che l'autenticazione del client SSL aumenta il traffico di rete.

Selezione di "nessuno"

Se viene selezionato nessuno, il server non richiederà alcun certificato ai client.

Tipi di controllo accesso basati sulle informazioni contenute nel certificato del client

Il tipo di controllo viene impostato mediante le istruzioni SSLFakeBasicAuth o SSLClientAuthRequire.

Nota: il tipo di autenticazione del client consigliato è SSLClientAuthRequire

Istruzione SSLFakeBasicAuth

Si consiglia di non utilizzare l'istruzione SSLFakeBasicAuth. I file per la password creati per utilizzare la codifica Apache SSL (o mod_ssl e Apache) non funzioneranno con IBM HTTP Server in quanto il formato del nome è differente.

Il tipo SSLFakeBasicAuth è un metodo molto semplice per eseguire l'autenticazione del client. Se si specifica SSLFakeBasicAuth, il nome del certificato del client e la password (ovvero "password") verranno codificati mediante la codifica Base64 e verranno ubicati nel titolo dell'autorizzazione. E' necessario che il modulo mod_ibm_ssl sia il primo modulo dell'elenco, in modo che i moduli di autenticazione seguenti abbiano l'ID utente per l'autenticazione di base falso e la password disponibile. Tenere presente che il supporto dell'autenticazione di base contenuto in un host virtuale specificato non funzionerà, in quanto l'ID utente e la password forniti dall'utente saranno sostituiti dal nome e dalla password ("password") del client.

Per visualizzare il nome di un certificato del client, creare un programma CGI per stampare la variabile di ambiente SSL_CLIENT_DN.

Istruzione SSLClientAuthRequire

Il supporto SSLClientAuthRequire consente al webmaster di definire le espressioni logiche che contengono gli attributi x509. Queste espressioni vengono paragonate alle informazioni contenute nel certificato del client per garantire o negare l'accesso ad un oggetto. Prima che tutte queste operazioni possano essere eseguite, tuttavia, GSK convalida il certificato del client in modo che venga firmato da un'autorità di certificazione sicura.

L'istruzione SSLClientAuthRequire consente ad un webmaster di creare un'espressione logica che consiste in una serie di attributi collegati con AND, OR e NOT. E' possibile utilizzare anche le parentesi. Ad esempio:

SSLClientAuthRequire (CommonName = "Federico Verdi" OR CommonName = "Giovanni Volpe") AND Org = IBM
significa che l'operazione non sarà eseguita a meno che il certificato del client non contenga il nome Federico Verdi o Giovanni Volpe e la società IBM.

Gli unici attributi di paragone validi sono uguale o non uguale (= and !=). Ciascun attributo viene collegato con AND, OR e NOT (anche &&, || e !). Se per un'unica risorsa vengono specificate più istruzioni SSLClientAuthRequire, sulla risorsa si avrà un effetto equivalente all'unione degli operatori booleani AND.

Per unire più paragoni è possibile utilizzare le parentesi. Se il valore dell'attributo contiene un carattere non alfanumerico, il valore deve essere delimitato da apici.

Di seguito sono riportati gli attributi validi:

     IssuerStateOrProvince 
     IssuerCommonName 
     IssuerOrgUnit 
     IssuerCountry 
     IssuerLocality 
     IssuerOrg 
     IssuerEmail 
     StateOrProvince 
     CommonName 
     OrgUnit 
     Country 
     Locality 
     Org 
     Email 

Inoltre sono validi anche i seguenti nomi abbreviati:

     IST, ICN, IOU, IC, IL, IO, IE, ST, CN, OU, C, L, O, E 

Informazioni correlate