Le direttive SSL (Secure Sockets Layer) sono i parametri di configurazione che controllano le funzioni SSL in IBM HTTP Server.
La maggior parte delle direttive SSL in IBM HTTP Server hanno lo stesso comportamento. Una direttiva specificata per una determinata configurazione host virtuale sovrascrive una direttiva specificata nella configurazione server di base. Inoltre una direttiva specificata per una directory secondaria sovrascrive una direttiva specificata per la relativadirectory principale. Esistono tuttavia alcune eccezioni.
Inoltre una direttiva specificata per una directory secondaria deve essere aggiunta alladirettiva specificata per la relativa directory principale. In questo caso, la direttiva per la directory principale non sovrascrive la direttiva per la directory secondaria, ma viene aggiunta ad essa ed entrambe le direttive vengono applicate alla directory secondaria.
Sintassi: |
|
Ambito | Host virtuale |
Valore predefinito | Disabilitato |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Per ogni host virtuale sono consentite più istanze |
Valori | Un URL completo che fa riferimento a un responder OCSP, ad esempio http://nomehost:2560/. La parte del percorso dell'URL non viene utilizzata quando si inoltrano richieste OCSP. |
Se è configurato il controllo CRL, questo viene eseguito prima di ogni controllo OCSP. Il controllo OCSP viene eseguito solo se il risultato del CRL non è noto o non è decisivo.
Se sono configurati SSLOCSPEnable e SSLOCSPResponderURL, il responder definito da SSLOCSPResponderURL viene controllato per primo. Se lo stato di revoca non è noto o non è decisivo, IHS controlla i responder OCSP come descritto per SSLOCSPEnable.
Sintassi: |
|
Ambito | Host virtuale |
Valore predefinito | Disabilitato |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Per ogni host virtuale è consentita una istanza |
Valori | Nessuno |
Se è configurato il controllo CRL, questo viene eseguito prima di ogni controllo OCSP. Il controllo OCSP viene eseguito solo se il risultato del CRL non è noto o non è decisivo.
Se sono configurati SSLOCSPEnable e SSLOCSPResponderURL, il responder definito da SSLOCSPResponderURL viene controllato per primo. Se lo stato di revoca non è noto o non è decisivo, IHS controlla i responder OCSP come descritto per SSLOCSPEnable.
Sintassi: | ![]() ![]() ![]() ![]() ![]() ![]()
|
Ambito | Base globale e host virtuale |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale |
Valori | Nome file del file di chiavi.
|
Sintassi: | SSLAcceleratorDisable |
Ambito | Virtuale e globale |
Valore predefinito | Il dispositivo acceleratore è abilitato |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale. |
Valori | Nessuno. Posizionare questa direttiva in un punto qualsiasi del file di configurazione, incluso un host virtuale. Durante l'inizializzazione, se viene accertata l'installazione di un dispositivo acceleratore su una macchina, questo acceleratore viene utilizzato per aumentare il numero di transazioni protette. Questa direttiva non utilizza argomenti. |
Sintassi: | SSLAllowNonCriticalBasicConstraints on|off |
Ambito | Server globale o host virtuale |
Valore predefinito | Disattiva |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale |
Valori | Nessuno. Questa direttiva cambia il comportamento dell'algoritmo di convalida dei certificati in modo che una estensione Basic Constraints non critica su un certificato Certificate Authority (CA) dell'emittente non causerà un errore di convalida.
Ciò consente la compatibilità con un aspetto della specifica GPKI dal governo del Giappone in conflitto con RFC3280. Nota: RFC3280 indica che l'estensione deve apparire come estensione critica in tutti i certificati CA che contengono le chiavi pubbliche utilizzate per convalidare le firme digitali sui certificati.
|
Sintassi: | SSLCacheDisable |
Ambito | Uno per ogni istanza del server Apache fisico, consentito solo esternamente alle sezioni di host virtuale. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Non consentito. |
Valori | Nessuno. |
Sintassi: | SSLCacheEnable |
Ambito | Uno per ogni istanza del server Apache fisico, consentito solo esternamente alle sezioni di host virtuale. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Non consentito. |
Valori | Nessuno |
Sintassi: | SSLCacheErrorLog /usr/HTTPServer/logs/sidd_logg |
Ambito | Configurazione server esterna all'host virtuale. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Non consentito. |
Valori | Nome file valido. |
Sintassi: | SSLCachePath /usr/HTTPServer/bin/sidd |
Ambito | Configurazione server esterna all'host virtuale. |
Valore predefinito | <server-root>/bin/sidd |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Non consentito. |
Valori | Nome percorso valido. |
Sintassi: | SSLCachePath /usr/HTTPServer/logs/sidd |
Ambito | Configurazione server esterna all'host virtuale. |
Valore predefinito | Se la direttiva non viene specificata e la cache è abilitata, il server tenta di utilizzare il file <server-root>/logs/siddport. |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Non consentito. |
Valori | Nome percorso valido. Il server Web cancella questo file durante l'avvio; non utilizzare il nome file esistente. |
Sintassi: | SSLCacheTraceLog /usr/HTTPServer/logs/sidd-trace.log |
Ambito | Configurazione server esterna all'host virtuale. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Non consentito. |
Valori | Nome percorso valido. |
Sintassi: | SSLCipherBan <cipher_specification> |
Ambito | Istanze multiple per sezione di directory. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Consentito per sezioni di directory. L'ordine di preferenza è dall'alto verso il basso. |
Valori | Vedere Specifiche di cifratura di SSL versione 2 e Specifiche di cifratura di SSL Versione 3 e TLS Versione 1. |
Sintassi: | SSLCipherRequire <cipher_specification> |
Ambito | Istanze multiple per sezione di directory. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Consentito per sezioni di directory. |
Valori | Vedere Specifiche di cifratura di SSL versione 2 e Specifiche di cifratura di SSL Versione 3 e TLS Versione 1. |
Sintassi: | SSLCipherSpec nome abbreviato o SSLCipherSpec nome lungo |
Ambito | Host virtuale. |
Valore predefinito | Se non viene indicato alcun valore, il server utilizza tutte le specifiche di codifica disponibili nella libreria GSK installata. |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Consentito. L'ordine di preferenza è dall'alto verso il basso, dal primo all'ultimo. Se il client non supporta le specifiche di codifica, il collegamento viene terminato. |
Valori | Vedere Specifiche di cifratura di SSL versione 2 e Specifiche di cifratura di SSL Versione 3 e TLS Versione 1. |
Sintassi: | SSLClientAuth <livello richiesto> [crl] |
Ambito | Host virtuale. |
Valore predefinito | SSLClientAuth none |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale. |
Valori |
Se si specifica il valore 0/Nessuno, non è possibile utilizzare l'opzione CRL. |
La direttiva SSLClientAuthGroup definisce un gruppo espressione denominato contenente una serie di coppie valore e attributo del certificato client specifiche. Questo gruppo denominato può essere utilizzato dalle direttive SSLClientAuthRequire. Il client, che invia questa espressione, deve fornire un certificato prima che il server consenta l'accesso alla risorsa protetta.
Sintassi: | SSLClientAuthGroup espressione attributo nome gruppo |
Ambito | Configurazione server, host virtuale. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Consentito. |
Sovrascrittura | Nessuno |
Valori | Espressione logica costituita da controlli
di attributi collegati mediante AND, OR, NOT e parentesi. Ad esempio:SSLClientAuthGroup IBMpeople Org = IBM |
Descrizione di espressioni logiche valide. Nella sezione seguente viene fornita una descrizione di esempi con espressioni logiche valide. Ad esempio: SSLClientAuthGroup (CommonName = "Fred Smith" OR CommonName = "John Deere") AND Org = IBM significa che l'oggetto non sarà utilizzato a meno che il certificato del client non contenga il nome Fred Smith o John Deer e la società IBM. Gli unici attributi di confronto validi per i controlli degli attributi sono uguale e non uguale (= and !=). È possibile collegare ogni controllo di attributo con AND, OR o NOT (anche &&, || e !). Per raggruppare i confronti utilizzare le parentesi. Se il valore dell'attributo contiene un carattere non alfanumerico, delimitare il valore con apici.
Nome esteso | Nome breve |
---|---|
CommonName | CN |
Paese | Le |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
Località | In |
Org | P |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
In questa direttiva è possibile utilizzare il nome esteso o quello breve.
SSLClientAuthGroup IBMpeople Org = IBMo
SSLClientAuthGroup NotMNIBM ST != MN && Org = IBM
Un nome gruppo non può contenere spazi. Per ulteriori informazioni, fare riferimento a Direttiva SSLClientAuthRequire.
La direttiva SSLClientAuthRequire specifica i valori attributo o i gruppi dei valori attributi che è necessario convalidare su un certificato client prima che il server consenta l'accesso alla risorsa protetta.
Sintassi: | Espressione attributo SSLClientAuthRequire |
Ambito | Configurazione server, host virtuale |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Consentito. La funzione unisce queste direttive con "AND". |
Sovrascrittura | AuthConfig |
Valori | Espressione logica costituita da controlli
di attributi collegati mediante AND, OR, NOT e parentesi. Ad esempio:SSLClientAuthRequire group != IBMpeople && ST = M |
Se il certificato ricevuto non dispone di un attributo particolare, non è disponibile alcuna verifica per una corrispondenza attributo. Anche se il valore corrispondente specificato è " ", questo caso potrebbe non essere identico a quello di non disporre affatto dell'attributo. Qualsiasi attributo, specificato nella direttiva SSLClientAuthRequire non disponibile sul certificato, fa rifiutare la richiesta.
Nome esteso | Nome breve |
---|---|
CommonName | CN |
Paese | Le |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
Località | In |
Org | P |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
In questa direttiva è possibile utilizzare il nome esteso o quello breve.
L'utente specifica un'espressione logica di attributi specifici del certificato client. È possibile utilizzare in modo logico AND, OR oppure NOT per diverse espressioni per specificare il raggruppamento desiderato dei valori attributo del certificato client. Operatori validi sono '=' e '!='. L'utente può specificare anche un nome gruppo, configurato mediante Direttiva SSLClientAuthGroup, per configurare un gruppo di attributi.
SSLClientAuthRequire (CommonName="John Doe" || StateOrProvince=MN) && Org !=IBMo
SSLClientAuthRequire group!=IBMpeople && ST=MN
SSLClientAuthRequire group != IBMpeople && "ST= MN"Per ulteriori informazioni, fare riferimento a Direttiva SSLClientAuthGroup.
La direttiva SSLCRLHostname specifica il nome TCP/IP o l'indirizzo del server LDAP su cui si trova il database Certificate Revocation List (CRL).
Sintassi: | <SSLCRLHostName <Nome o indirizzo TCP/IP> |
Ambito | Server globale o host virtuale. |
Valore predefinito | Per impostazione predefinita è disabilitata. |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Il nome o l'indirizzo TCP/IP del server LDAP |
Utilizzare la direttiva SSLCRLHostname, insieme a SSLCRLPort, SSLCRLUserID e a SSLStashfile, per la configurazione statica di un repository CRL basato su LDAP. È necessario utilizzare queste direttive solo per interrogare il repository CRL basato su LDAP se una estensione del certificato CRLDistributionPoint X.509v3 esplicita non è presente o se il server specificato nell'estensione non risponde (non disponibile).
Se una estensione CRLDistributionPoint è presente nel certificato e il server specificato nell'estensione risponde (è disponibile), allora il server LDAP specificato in CRLDistributionPoint viene interrogato in maniera anonima, senza utilizzare queste direttive.
La direttiva SSLCRLPort specifica la porta del server LDAP su cui si trova il database Certificate Revocation List (CRL).
Sintassi: | SSLCRL<porta> |
Ambito | Server globale o host virtuale. |
Valore predefinito | Per impostazione predefinita è disabilitata. |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Porta del server LDAP; valore predefinito = 389. |
Utilizzare la direttiva SSLCRLPort, insieme a SSLCRLUserID, SSLCRLHostname e a SSLStashfile, per la configurazione statica di un repository CRL basato su LDAP. È necessario utilizzare queste direttive solo per interrogare il repository CRL basato su LDAP se una estensione del certificato CRLDistributionPoint X.509v3 esplicita non è presente o se il server specificato nell'estensione non risponde (non disponibile).
Se una estensione CRLDistributionPoint è presente nel certificato e il server specificato nell'estensione risponde (è disponibile), allora il server LDAP specificato in CRLDistributionPoint viene interrogato in maniera anonima, senza utilizzare queste direttive.
La direttiva SSLCRLUserID specifica l'ID utente da inviare al server LDAP su cui si trova il database Certificate Revocation List (CRL).
Sintassi: | SSLCRLUserID <[prompt] <idutente> |
Ambito | Server globale o host virtuale. |
Valore predefinito | Impostato in modo predefinito su anonimo se non si specifica un ID utente. |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | ID utente del server LDAP. Utilizzare l'opzione di richiesta per abilitare il server HTTP a richiedere la password necessaria per accedere al server LDAP durante l'avvio. |
Utilizzare la direttiva SSLCRLUserID, insieme a SSLCRLPort, SSLCRLHostname e a SSLStashfile, per la configurazione statica di un repository CRL basato su LDAP. È necessario utilizzare queste direttive solo per interrogare il repository CRL basato su LDAP se una estensione del certificato CRLDistributionPoint X.509v3 esplicita non è presente o se il server specificato nell'estensione non risponde (non disponibile).
Se una estensione CRLDistributionPoint è presente nel certificato e il server specificato nell'estensione risponde (è disponibile), allora il server LDAP specificato in CRLDistributionPoint viene interrogato in maniera anonima, senza utilizzare queste direttive.
Sintassi: | SSLDisable |
Ambito | Server globale o host virtuale. |
Valore predefinito | Per impostazione predefinita è disabilitata. |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Nessuno |
Sintassi: | SSLEnable |
Ambito | Server globale o host virtuale. |
Valore predefinito | Per impostazione predefinita è disabilitata. |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Nessuno |
La direttiva SSLFakeBasicAuth abilita il supporto di autenticazione di base falsa.
Sintassi: | SSLFakeBasicAuth |
Ambito | In una sezione della directory utilizzata con AuthName, AuthType e direttive di richiesta. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Una instance per stanza di directory. |
Valori | Nessuno |
Sintassi: | SSLFIPSDisable |
Ambito | Virtuale e globale. |
Valore predefinito | Per impostazione predefinita è disabilitata. |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Nessuno |
Sintassi: | SSLFIPSEnable |
Ambito | Virtuale e globale. |
Valore predefinito | Per impostazione predefinita è disabilitata. |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Nessuno |
La direttiva SSLPKCSDriver identifica il nome completo per il modulo o il driver utilizzato per accedere al dispositivo PKCS11.
Sintassi: | Nome completo per il modulo utilizzato per accedere al dispositivo PKCS11>. Se il modulo si trova nel percorso utente, specificare solo il nome del modulo. |
Ambito | Server globale o host virtuale. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Percorso e nome del modulo o del driver PKCS11. |
La direttiva SSLProtocolDisable consente di specificare uno o più protocolli SSL che non possono essere utilizzati dal client per un determinato host virtuale. Questa direttiva deve trovarsi nel contenitore <VirtualHost>.
Sintassi: | SSLProtocolDisable <nomeprotocollo> |
Ambito | Host virtuale |
Valore predefinito | Disabilitato |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Più istanze consentite per host virtuale. |
Valori | Per questa direttiva sono disponibili i seguenti valori.
|
<VirtualHost *:443> SSLEnable SSLProtocolDisable SSLv2 SSLv3 (qualsiasi altra direttiva) </VirtualHost>
Sintassi: | SSLProxyEngine attivata|disattivata |
Ambito | Host virtuali basati su IP |
Valore predefinito | Disattiva |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Una per ogni host virtuale e server globale |
Valori | attivato|disattivato |
Sintassi: | SSLServerCert [prompt] my_certificate_label; su dispositivo PKCS11 - SSLServerCert mytokenlabel:mykeylabel |
Ambito | Host virtuali basati su IP. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Etichetta certificato. Utilizzare l'opzione /prompt per abilitare il server HTTP a richiedere la password del token crittografico durante l'avvio. Non utilizzare delimitatori intorno all'etichetta del certificato. Verificare che l'etichetta sia contenuta in una sola riga. Gli spazi vuoti iniziali e finali vengono ignorati. |
La direttiva SSLStashfile indica il percorso del file contenente la password crittografata per l'apertura del dispositivo PKCS11.
Sintassi: | SSLStashFile /usr/HTTPServer/mystashfile.sth |
Ambito | Host virtuale e server globale. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Il nome file di un file stash LDAP e/o PKCS11 creato con il comando sslstash. |
Il file SSLStashFile non fa riferimento a un file stash per il KeyFile in uso in quanto viene calcolato automaticamente in base al nome del KeyFile ed è un tipo differente di file stash.
Utilizzare il comando sslstash ubicato nella directory bin di IBM HTTP Server, per creare il file stash delle password CRL. La password specificata tramite il comando sslstash deve essere quella utilizzata per il collegamento al server LDAP.
Uso: sslstash [-c] <directory_al_file_password_e_al_nome_file> <nome_funzione> <password>
Utilizzare la direttiva SSLStashFile, insieme a SSLCRLPort, SSLCRLHostname e a SSLCRLUserID, per la configurazione statica di un repository CRL basato su LDAP. È necessario utilizzare queste direttive solo per interrogare il repository CRL basato su LDAP se una estensione del certificato CRLDistributionPoint X.509v3 esplicita non è presente o se il server specificato nell'estensione non risponde (non disponibile).
Se una estensione CRLDistributionPoint è presente nel certificato e il server specificato nell'estensione risponde (è disponibile), allora il server LDAP specificato in CRLDistributionPoint viene interrogato in maniera anonima, senza utilizzare queste direttive.
La direttiva SSLTrace consente di abilitare la registrazione debug in mod_ibm_ssl e viene utilizzata insieme alla direttiva LogLevel. Per abilitare la registrazione debug in mod_ibm_ssl, impostare LogLevel per eseguire il debug e aggiungere la direttiva SSLTrace all'ambito globale nel file di configurazione di IBM HTTP Server, dopo la direttiva LoadModule per mod_ibm_ssl. Questa direttiva viene generalmente utilizzata alla richiesta del supporto IBM durante la verifica di un possibile problema con mod_ibm_ssl. Si consiglia di non abilitare questa direttiva nelle normali condizioni di lavoro.
Sintassi: | SSLTrace |
Ambito | Globale |
Valore predefinito | La registrazione debug in mod_ibm_ssl non è abilitata |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Ignorato |
Valori | Nessuno |
La direttiva SSLV2Timeout imposta il timeout per gli ID della sessione SSL versione 2.
Sintassi: | SSLV2Timeout 60 |
Ambito | Base globale e host virtuale. |
Valore predefinito | 40 |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Da 0 a 100 secondi. |
La direttiva SSLV3Timeout imposta il timeout per gli ID di sessione SSL versione 3 e TLS.
Sintassi: | SSLV3Timeout 1000 |
Ambito | Base globale e host virtuale.
|
Valore predefinito | 120 |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Un'istanza per ogni host virtuale e server globale. |
Valori | Da 0 a 86400 secondi. |
La direttiva SSLVersion abilita il rifiuto di accesso all'oggetto se il client tenta di connettersi con una versione del protocollo SSL diversa da quella specificata.
Sintassi: | SSLVersion ALL |
Ambito | Uno per sezione di directory. |
Valore predefinito | Nessuno |
Modulo | mod_ibm_ssl |
Più istanze nel file di configurazione | Una istanza per <Directory> o per stanza <Percorso>. |
Valori | SSLV2|SSLV3|TLSV1|ALL |