Autenticazione del certificato client Secure Sockets Layer
Il software client che desidera stabilire una connessione sicura a un server utilizzando il protocollo Secure Socket Layer (SSL) viene avviato sfruttando il protocollo SSL o il protocollo avanzato denominato Transport Layer Security (TLS) per eseguire un handshake SSL con certificati SSL. Un certificato personale può rappresentare il server o un particolare client ed è firmato da un'autorità di certificazione (CA) per garantire che il certificato personale sia identificato correttamente.
SSL garantisce che l'amministratore disponga del certificato del firmatario CA utilizzato per firmare il certificato personale e che sia archiviato nell'archivio attendibile del client e/o del server. L'autenticazione del certificato client SSL avviene durante l'handshake della connessione utilizzando i certificati SSL.
- Il lato server deve determinare se avrà luogo l'autenticazione del client. L'autenticazione del client deve essere abilitata nella configurazione SSL del server e nella Common Secure Interoperability versione 2 (CSIv2 ) configurazione se viene utilizzato il protocollo Inter-ORB (IIOP).
- IL CSIv2 la configurazione deve avvenire nella sicurezza globale, non in un dominio di sicurezza.
- Il certificato del firmatario del client deve essere estratto dall'archivio chiavi del client e aggiunto al truststore del server.
- Il certificato del firmatario del server deve essere estratto dall'archivio chiavi del server e aggiunto all'archivio attendibilità del client.
Configurazione di un WebSphere server per l'autenticazione del client
L'autenticazione del certificato client si verifica se il lato server richiede che il lato client invii un certificato. UN WebSphere® il server può essere configurato per l'autenticazione del certificato client nella configurazione SSL. Questa configurazione influisce WebSphere quando agisce solo come server, non quando agisce come client.
- Clic .
- Seleziona una configurazione SSL.
- In Proprietà aggiuntive selezionare Qualità di protezione (QoP ) impostazioni.
- In Autenticazione client selezionareRequired .
- Fare clic su OK per salvare le modifiche.
Puoi anche usare il modifySSLConfig comandare con il -clientAuthentication flag impostato su VERO per abilitare l'autenticazione del client. Vedere SSLConfigCommands gruppo di comando per il AdminTask oggetto per ulteriori informazioni su questo comando..
- Clic .
- In Sicurezza RMI/IIOP, selezionaCSIv2 inbound communications .
- Nel CSIv2 Sezione Livello di trasporto e in Autenticazione certificato client selezionareRequired .
- ClicOK per salvare le modifiche
Puoi anche usare il configureCSIInbound comandare con il -clientCertAuth flag impostato su Necessario per abilitare l'autenticazione del client CSIv2. Leggere SecurityConfigurationCommands gruppo di comando per il AdminTask oggetto per ulteriori informazioni su questo comando.
Se il lato client è configurato per l'autenticazione client, il certificato del firmatario del client deve essere aggiunto all'archivio attendibilità del server. Quando si dispone di un certificato dal client in un file di certificato, è possibile aggiungerlo all'archivio attendibilità del server.
- Clic .
- Seleziona l'archivio attendibilità configurato per l'autenticazione client.
- In Proprietà aggiuntive, seleziona Certificati del firmatario.
- Fare clic su Add.
- Nel campo Alias digitare un nome alias con cui archiviare il certificato.
- Nella casella Nome file digitare il percorso completo del file del certificato.
- ClicOK per salvare le modifiche
Puoi anche usare il addSignerCertificate comando per aggiungere un firmatario al truststore del server. Leggere SignerCertificateCommands gruppo di comando per il AdminTask oggetto per ulteriori informazioni su questo comando.
Se si utilizza l'autenticazione client in un ambiente cluster, l'autenticazione client deve essere configurata per ogni nodo in cui si trovano i server nel cluster.
Configurazione del lato client per l'autenticazione del client
Client:
I client amministrativi, i thin client o i pure client devono disporre di un certificato personale nel proprio archivio chiavi. IL WebSphere Archivio chiavi predefinito del client che viene creato quando WebSphere Application Server è installato contiene già un certificato personale. Questo negozio di chiavi può essere trovato nel filessl.client.props file nel com.ibm.ssl.keyStore proprietà. Gli archivi chiavi client non sono gestiti da WebSphere Application Server, quindi l'utilità di gestione delle chiavi ( iKeyman) o l'utilità Java™ keytool può essere utilizzata per estrarre il certificato in un file di certificato.
- Inizio iKeyman.
- Selezionare .
- Immettere il percorso del file dell'archivio chiavi. Puoi ottenerlo dassl.client.props file.
- Fare clic su OK.
- Immettere la password per l'archivio chiavi e fare clic suOK
- In Certificati personali selezionare il certificato predefinito del client.
- Immettere un percorso e un nome file per il file del certificato e fare clic suOK .
Il file che contiene il certificato estratto può essere utilizzato per aggiungere il firmatario al truststore del server. Seguire i passaggi in Configurazione di un WebSphere server per l'autenticazione del client sezione per aggiungere il firmatario al truststore del server.
- Abilitare SSL:
com.ibm.CSI.performTransportAssocSSLTLSSupported=true com.ibm.CSI.performTransportAssocSSLTLSRequired=false - Disabilita l'autenticazione del client a livello di messaggio:
com.ibm.CSI.performClientAuthenticationRequired=false com.ibm.CSI.performClientAuthenticationSupported=false - Abilita l'autenticazione client a livello di trasporto (supportata ma non obbligatoria):
com.ibm.CSI.performTLClientAuthenticationRequired=false com.ibm.CSI.performTLClientAuthenticationSupported=true
I thin client e i pure client potrebbero non utilizzare il file WebSphere Application Server file delle proprietà SSL,ssl.client.props . Molto probabilmente utilizzano le proprietà del sistema Java per impostare l'archivio chiavi client e l'archivio attendibile. Il certificato del firmatario del server deve essere aggiunto al truststore specificato con il file java.net.ssl.trustStore proprietà del sistema. Strumento chiave o iKeyman può essere utilizzato per aggiungere il certificato del firmatario. Il firmatario deve essere estratto dal certificato personale nel key store specificato dal file javax.net.ssl.keyStore proprietà di sistema e aggiunta all'archivio attendibilità del server.
javax.net.ssl.keyStore
javax.net.ssl.keyStorePassword
javax.net.ssl.keyStoreType
javax.net.ssl.trustStore
javax.net.ssl.trustStorePassword
javax.net.ssl.trustStoreTypeServer che funge da client:
Il cliente può essere a WebSphere server che funge da client. In tal caso, determinare quale configurazione SSL viene utilizzata come lato client della comunicazione, estrarre il firmatario del certificato e aggiungerlo all'archivio attendibilità lato server. Si consiglia di utilizzare il firmatario del certificato radice.
- Clic .
- Nel menu a discesa Utilizzi archivio chiavi, selezionaRoot certificate keystore .
- Seleziona uno dei dueDmgrDefaultRootStore (per un server di distribuzione di rete) oNodeDefaultRootStore (per un server delle applicazioni).
- In Proprietà aggiuntive selezionarePersonal certificates .
- Seleziona il certificato radice predefinito (solitamente chiamatoroot ), quindi fare clic suExtract .
- Nella casella Nome file certificato digitare il percorso completo del file in cui conservare il certificato.
- Fare clic su OK per salvare.
Puoi anche usare il extractCertificate comando per estrarre il certificato radice. Leggere PersonalCertificateCommands gruppo di comando per il AdminTask oggetto per ulteriori informazioni su questo comando.
Il file del certificato creato può essere trasportato sul lato server e aggiunto all'archivio attendibilità del server.
Quando un server funge da client, il server lato client richiede il firmatario dal server di destinazione. Il firmatario può essere recuperato utilizzando il certificato del firmatario Recuperare dal porto opzione.
- Clic .
- Seleziona il truststore del server dalla raccolta.
- Sotto Proprietà aggiuntive, Selezionare Certificati firmatari.
- Fare clic su Retrieve from port.
- Immettere un nome host di destinazione e un nome di porta di destinazione.
- Immettere un nome alias per il certificato.
- Clic Recuperare le informazioni sul firmatario.
- Fare clic su OK per salvare.
Puoi anche usare ilretrieveSignerFromPort comando per recuperare il firmatario dalla porta. Leggere SignerCertificateCommands gruppo di comando per il AdminTask oggetto per ulteriori informazioni su questo comando.
Configurazione di un browser per l'autenticazione del client:
Quando WebSphere Application Server è configurato per l'autenticazione del certificato client e viene effettuato un tentativo di accedere al server da un browser, il browser deve disporre di un certificato per l'autenticazione del certificato client. Se la configurazione SSL predefinita del server è stata modificata per abilitare l'autenticazione del certificato client, non sarà possibile accedere alla console di amministrazione.
È possibile creare un certificato per il browser utilizzando la console di gestione. È necessario prima creare un archivio chiavi e quindi creare un certificato concatenato. Dopo aver creato il certificato, utilizza le istruzioni del tuo browser per importare un certificato. I browser richiedono che ogni parte della catena venga aggiunta per verificare il certificato, quindi il certificato radice deve essere estratto e aggiunto al browser. Seguire le istruzioni nel Configurazione del lato client per l'autenticazione del client sezione per informazioni sull'estrazione del certificato radice.
- Clic .
- Fare clic su New.
- Immettere un nome per l'archivio chiavi.
- Immettere il percorso completo del file dell'archivio chiavi.
- Immettere una password per l'archivio chiavi e quindi confermare.
- Fare clic su OK per salvare.
- Clic .
- Seleziona l'archivio chiavi creato in precedenza.
- Sotto Proprietà aggiuntive, fare clicPersonal certificates .
- Nell'elenco a discesa sotto Creare pulsante, selezionaChained Certificate .
- Immettere un nome alias per il certificato.
- Fornire un nome comune per il certificato. Il nome è ilCN parte del soggetto DN.
- È possibile inserire informazioni in uno qualsiasi dei campi rimanenti per creare il DN dell'oggetto del certificato concatenato.
- Fare clic su OK per salvare.
Puoi anche usare il createKeyStore comando per creare un archivio chiavi. Leggere KeyStoreCommands gruppo di comando per il AdminTask oggetto per ulteriori informazioni su questo comando.
Puoi anche usare il createChainedCertificate comando per creare un certificato concatenato. Leggere PersonalCertificateCommands gruppo di comando per il AdminTask oggetto per ulteriori informazioni su questo comando.
Quando l'autenticazione del certificato client è abilitata, l'autenticazione del certificato Web può essere eseguita come discusso nella sezione successiva.
Autenticazione del certificato Web
L'autenticazione basata sul certificato può essere eseguita sulla piattaforma Java 2, Enterprise Edition ( J2EE ) moduli Web quando il modulo è configurato per l'autenticazione del certificato client. Ciò consente a un utente di accedere a un modulo Web utilizzando un certificato per l'autenticazione e di mappare tale certificato a un utente dal registro.
L'abilitazione dell'autenticazione del certificato Web richiede che la configurazione SSL del server sia configurata per l'autenticazione del certificato client sul server su cui è installato il modulo.
Il lato server determina che deve avvenire l'autenticazione del client. Vedi il Configurazione di un WebSphere server per l'autenticazione del client sezione per informazioni su come configurare l'autenticazione del client. Il lato client deve avere il firmatario del server da aggiungere al truststore del client. Vedi il Configurazione del lato client per l'autenticazione client sezione per ulteriori informazioni.
ILweb.xml del modulo web deve avere il metodo di autenticazione impostato su CLIENT-AUTH nella sezione login-config del fileweb.xml file:
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>Il certificato deve essere associato a un utente nel registro altrimenti non sarai in grado di accedere a quel modulo web.
Per localOS registri utenti, il valore CN del DN dell'oggetto del certificato deve essere mappato a un utente nel registro utenti del sistema operativo locale. Ad esempio, se il DN dell'oggetto del certificato è CN=tester,o=ibm,c=us, Poi tester è l'utente cercato nel registro utenti locale. Se l'utente non esiste nel registro locale, l'autenticazione fallisce.
Il registro utenti LDAP (Lightweight Directory Access Protocol) fornisce più opzioni per mappare un certificato su un'identità utente. La modalità di mappatura del certificato predefinita in LDAP viene utilizzata per una corrispondenza esatta del DN tra la voce nel registro LDAP e il DN del soggetto nel certificato. Ad esempio, se il DN del certificato è CN=user1,o=ibm,c=us, nel registro LDAP deve essere presente una voce con quel valore esatto. Il registro utenti LDAP dispone inoltre di un'opzione di filtro del certificato che può fornire una corrispondenza a una parte particolare del DN dell'oggetto del certificato rispetto alle voci nel repository LDAP. Per ulteriori dettagli sulla mappatura dei certificati LDAP, leggere Impostazioni di configurazione del repository Lightweight Directory Access Protocol.
In una configurazione di repository federati, per impostazione predefinita, l'accesso tramite certificato client non è supportato per il repository basato su file. Per abilitare il supporto per la mappatura dei certificati nel repository basato su file, seguire la procedura nell'argomento Abilitazione del supporto di accesso del certificato client in un repository basato su file di repository federati.
Il registro LDAP del repository federato supporta la mappatura dei certificati. Utilizza le stesse regole e proprietà di mappatura utilizzate dal registro utenti LDAP.
Il registro utente personalizzato può associare i certificati a un utente se il registro personalizzato ha implementato il file mapCertificate() metodo.