![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
Directivas SSL
Las directivas SSL (Secure Sockets Layer) son los parámetros de configuración que controlan las características SSL en IBM® HTTP Server.
Puede especificar muchas directivas SSL (Secure Sockets Layer) en IBM HTTP Server, ya sea dentro de una sección <virtual Host>, o bien globalmente, fuera de cualquier sección <virtualHost>.
La mayoría de las directivas que son válidas en ambos contextos no se copian o fusionan desde la configuración global en la configuración de host virtual, con estas excepciones: SSLEnable, SSLDisable, KeyFile, SSLServerCert, SSLTrace, SSLv2Timeout, y SSLv3Timeout. Para la mayoría de las otras directivas que son válidas dentro del ámbito de host virtual habilitado para SSL, debe especificarlas explícitamente dentro del host virtual habilitado para SSL de modo que las directivas entren en vigor. Ejemplos de otras directivas SSL que no se fusionan o copian son SSLCipherSpec y Uncompromisable.
Para las directivas SSL especificadas en un ámbito en el directorio (<Location>, <Directory> o htaccess), las secciones de configuraciones de un ámbito más general se fusionan en secciones de configuraciones con un ámbito más específico. Algunos ejemplos de directivas de esta categoría son SSLCipherBan, SSLCipherRequire, SSLClientAuthRequire y SSLVersion. Estas directivas se utilizan con menos frecuencia que las anteriores.
Aparte de la directiva keyfile especificada globalmente, evite fusionar configuraciones siempre que sea posible. Compruebe siempre el resultado de cualquier configuración que depende de la fusión de varios ámbitos de configuración.
- SSLOCSPResponderURL
- SSLOCSPEnable
- Directiva Keyfile
- Directiva SSLAcceleratorDisable
Directiva SSLAllowNonCriticalBasicConstraints
Directiva SSLCacheDisable
Directiva SSLCacheEnable
Directiva SSLCacheErrorLog
Directiva SSLCachePath
Directiva SSLCachePortFilename
Directiva SSLCacheTraceLog
- Directiva SSLCipherBan
- Directiva SSLCipherRequire
- Directiva SSLCipherSpec
- Directiva SSLClientAuth
- Directiva SSLClientAuthGroup
- Directiva SSLClientAuthRequire
- Directiva SSLClientAuthVerify
- Directiva SSLCRLHostname (en desuso)
- Directiva SSLCRLPort (en desuso)
- Directiva SSLCRLUserID (en desuso)
- Directiva SSLDisable
- Directiva SSLEnable
- Directiva SSLFakeBasicAuth
Directiva SSLFIPSDisable
- Directiva SSLFIPSEnable
- Directiva SSLInsecureRenegotiation
- Directiva SSLPKCSDriver
- Directiva SSLProtocolDisable
- Directiva SSLProtocolEnable
- Directiva SSLProxyEngine
- Directiva SSLRenegotiation
- Directiva SSLServerCert
- SSLSNIMap
- Directiva SSLStashfile
- SSLSuiteBMode
- Directiva SSLTrace
SSLUnknownRevocationStatus
- Directiva SSLV2Timeout
- Directiva SSLV3Timeout
- Directiva SSLVersion
SSLOCSPResponderURL
Nombre | Descripción |
---|---|
Sintaxis |
|
Ámbito | Host virtual |
Valor predeterminado | Inhabilitado |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una por host virtual |
Valores | Un URL completo que apunta a un respondedor OCSP, por ejemplo, http://nombrehost:2560/. |
Aunque esté configurada la comprobación CRL, la comprobación OCSP se realizará antes de cualquier comprobación CRL. La comprobación CRL sólo se produce si el resultado del CRL es desconocido o incierto.
Si se establece SSLOCSPResponderURL, IBM HTTP Server utiliza el URL proporcionado para comprobar el estado de revocación del certificado cuando se proporciona un certificado de cliente SSL.
SSLOCSPEnable
Nombre | Descripción |
---|---|
Sintaxis |
|
Ámbito | Host virtual |
Valor predeterminado | Inhabilitado |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Se permite una instancia para cada host virtual |
Valores | Ninguno |
Si se establece SSLOCSPEnable, y una cadena de certificado de cliente SSL contiene una extensión AIA, IBM HTTP Server contactará con el respondedor OCSP que indica la extensión AIA para comprobar el estado de revocación del certificado de cliente.
Si están configuradas tanto la comprobación OCSP como la comprobación CRL, la comprobación OCSP se realizará antes de cualquier comprobación CRL. La comprobación CRL sólo se produce si el resultado de la comprobación OCSP es desconocido o incierto.
Si se configuran SSLOCSPEnable y SSLOCSPResponderURL, el respondedor definido por SSLOCSPResponderURL se comprobará en primer lugar. Si el estado de revocación es desconocido o incierto, IBM HTTP Server comprueba los respondedores OCSP, tal como se describe a continuación.
Directiva Keyfile
Nombre | Descripción |
---|---|
Sintaxis | ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Ámbito | Host básico global y virtual |
Valor predeterminado | Ninguno |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global |
Valores | Nombre de archivo del archivo de claves.
|
![[z/OS]](../images/ngzos.gif)
CMS (Certificate Management Services)
CMS o RACF (Resource Access Control Facility)
Directiva SSLAcceleratorDisable
Nombre | Descripción |
---|---|
Sintaxis | SSLAcceleratorDisable |
Ámbito | Virtual y global |
Valor predeterminado | El dispositivo acelerador está habilitado |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual. |
Valores | Ninguna. Incluya esta directiva en cualquier lugar dentro del archivo de configuración, incluido dentro de un host virtual. Durante la inicialización, si el sistema determina que hay un dispositivo acelerador instalado en la máquina, el sistema utiliza ese acelerador para aumentar el número de transacciones seguras. Esta directiva no acepta argumentos. |
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Directiva SSLAllowNonCriticalBasicConstraints
Nombre | Descripción |
---|---|
Sintaxis | SSLAllowNonCriticalBasicConstraints on|off |
Ámbito | Servidor global o host virtual |
Valor predeterminado | Desactivado |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global |
Valores | Ninguna. Esta directiva cambia el comportamiento del algoritmo de
validación de certificados de modo que una extensión de restricciones
básicas no crítica sobre un certificado de entidad emisora de certificados
(CA) del emisor no causa una anomalía en la validación.
Esto permite compatibilidad con un aspecto de la especificación GPKI del
gobierno de Japón que está en conflicto con RFC3280. Atención: RFC3280 expone que esta extensión debe aparecer como extensión crítica en todos los certificados de CA que contienen claves públicas utilizadas para validar firmas digitales en certificados.
|
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Directiva SSLCacheDisable
Nombre | Descripción |
---|---|
Sintaxis | SSLCacheDisable |
Ámbito | Uno por instancia de Apache Server físico, habilitado sólo fuera de las stanzas del host virtual. |
Valor predeterminado | Ninguno |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | No se permite. |
Valores | Ninguna. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Directiva SSLCacheEnable
Nombre | Descripción |
---|---|
Sintaxis | SSLCacheEnable |
Ámbito | Uno por instancia de Apache Server físico, habilitado sólo fuera de las stanzas del host virtual. |
Valor predeterminado | Ninguno |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | No se permite. |
Valores | Ninguno. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Directiva SSLCacheErrorLog
Nombre | Descripción |
---|---|
Sintaxis | SSLCacheErrorLog /usr/HTTPServer/logs/sidd_logg |
Ámbito | Configuración del servidor fuera del host virtual |
Valor predeterminado | Ninguno |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | No se permite. |
Valores | Nombre de archivo válido. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Directiva SSLCachePath
La directiva SSLCachePath especifica la vía de acceso al daemon de almacenamiento en memoria caché del ID de sesión. A no ser que varias instancias de IHS, con múltiples parámetros ServerRoot o -d, estén compartiendo una instalación, no es necesario especificar esta directiva.
Cuando se utilizan varias instancias de IHS con una raíz de servidor alternativa como se ha descrito anteriormente, debe utilizar esta directiva para apuntar a esta instancia de IHS en la vía de acceso del archivo binario bin/sidd en la raíz de instalación única en lugar de las raíces de servidor independientes que se utilizan de manera predeterminada.
No existe ninguna razón práctica para copiar el archivo bin/sidd a una ubicación distinta o para utilizar esta directiva para especificar algo distinto del valor bin/sidd instalado en la raíz de servidor cuando se utilizan varias instancias. El valor de esta directiva no tiene que variar entre instancias de IHS que comparten los mismos archivos binarios.
Nombre | Descripción |
---|---|
Sintaxis | SSLCachePath /usr/HTTPServer/bin/sidd |
Ámbito | Configuración del servidor fuera del host virtual |
Valor predeterminado | <raíz-servidor>/bin/sidd |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | No se permite. |
Valores | Nombre de vía de acceso válido. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Directiva SSLCachePortFilename
Nombre | Descripción |
---|---|
Sintaxis | SSLCachePortFilename /usr/HTTPServer/logs/siddport |
Ámbito | Configuración del servidor fuera del host virtual |
Valor predeterminado | Si no se especifica esta directiva y está habilitada la memoria
caché, el servidor intenta utilizar el archivo
<raíz-servidor>/logs/siddport. NOTAS
|
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | No se permite. |
Valores | Nombre de vía de acceso válido. El servidor web suprime este archivo durante el inicio; no utilice un nombre de archivo existente. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Directiva SSLCacheTraceLog
Nombre | Descripción |
---|---|
Sintaxis | SSLCacheTraceLog /usr/HTTPServer/logs/sidd-trace.log |
Ámbito | Configuración del servidor fuera del host virtual |
Valor predeterminado | Ninguno. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | No se permite. |
Valores | Nombre de vía de acceso válido. |
Directiva SSLCipherBan
Nombre | Descripción |
---|---|
Sintaxis | SSLCipherBan <especificación_cifrado> |
Ámbito | Varias instancias por stanza de directorio. |
Valor predeterminado | Ninguno. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Permitidas por stanza de directorio. El orden de preferencia es de arriba a abajo. |
Valores | Consulte los valores en el tema sobre especificación de cifrado SSL. |
Directiva SSLCipherRequire
Nombre | Descripción |
---|---|
Sintaxis | SSLCipherRequire <especificación_cifrado> |
Ámbito | Varias instancias por stanza de directorio. |
Valor predeterminado | Ninguno. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Permitidas por stanza de directorio. |
Valores | Consulte estos valores en el tema de especificación de cifrados SSL |
Directiva SSLCipherSpec
La directiva SSLCipherSpec le permite personalizar los cifrados SSL soportados durante el reconocimiento. Puede personalizar el conjunto de cifrados SSL y el orden de preferencia de los cifrados SSL.
En plataformas distribuidas, cada protocolo
tiene su propia lista ordenada de cifrados. Los protocolos soportados son
SSL versión 2, SSL versión 3, TLS versión 1.0, TLS versión 1.1 y TLS
versión 1.2.
En z/OS, sólo hay dos listas de cifrados
habilitados, una para SSL versión 2 y otra para los demás protocolos. Los protocolos soportados son SSL versión 2, SSL
versión 3 y TLS versión 1.0.
Los cifrados SSL Versión 2 toman de forma predeterminada el valor de no cifrados, lo que significa que el protocolo está inhabilitado. Los demás protocolos toman el valor predeterminado de un conjunto de cifrados SSL que excluyen cifrados nulos, cifrados de exportación y cifrados poco seguros.
Cuando se utiliza el formato de un solo argumento de SSLCipherSpec, el cifrado proporcionado está habilitado en todos los protocolos en los que es válido. La primera vez que se realiza un cambio de este tipo para cada protocolo, se descartan los cifrados predeterminados para el protocolo.
Cuando se utiliza el formato varios argumentos de SSLCipherSpec, especificando el nombre de un protocolo SSL (o "ALL") como primer argumento, puede utilizar una sintaxis ampliada, con las siguientes ventajas:
- Pueden listarse varios cifrados con cada aparición de SSLCipherSpec
- Pueden eliminarse cifrados individuales del conjunto actual de cifrados habilitados, colocando "-" delante del nombre del cifrado.
- La primera vez que se modifica una lista de cifrados de un protocolo determinado, ese cifrado puede añadirse al final de los valores predeterminados, en lugar de sustituirlos, colocando "+" delante del nombre del cifrado.
Si proporciona el nombre de protocolo "ALL", la adición o supresión especificadas para cada nombre de cifrado se aplica a todos los protocolos en los que es válido el cifrado.
Como caso especial, para vaciar todas las listas de cifrado con un solo mandato, puede utilizar SSLCipherSpec ALL NONE. La utilización de este mandato es una buena manera de comenzar una configuración cada vez que no desea utilizar los cifrados predeterminados.
Nombre | Descripción |
---|---|
![]() |
![]() |
![]() |
![]() |
Ámbito | Configuración del servidor, host virtual. |
Valor predeterminado | Si no se especifica ninguno, el servidor utiliza todas las especificaciones de cifrados disponibles que no sean nulos, ni de exportación, ni poco seguros. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Permitido. El orden de preferencia es de arriba a abajo, del primero al último. |
![]() |
![]() |
![]() |
![]() |
Valores de nombres de cifrado | Consulte estos valores en el tema de especificación de cifrados SSL |
Ejemplo 1 | Si desea seleccionar sólo algunos cifrados, es mejor empezar
restableciendo todas las listas de cifrados y, a continuación, añadir los
que desea utilizar:
|
Ejemplo 2 | Si desea utilizar la mayor parte de los
valores predeterminados, pero hay uno o dos cifrados que no desea, puede
eliminarlos de todas las listas en las que están actualmente:
|
Directiva SSLClientAuth
Nombre | Descripción |
---|---|
Sintaxis | SSLClientAuth <nivel necesario> [crl] |
Ámbito | Host virtual. |
Valor predeterminado | SSLClientAuth none |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual. |
Valores |
Si especifica el valor 0/None, no puede utilizar la opción CRL. |
Required_reset | El servidor requiere un certificado válido de todos los clientes y, si no hay ningún certificado disponible, el servidor envía una alerta SSL al cliente. Esto permite al cliente saber que la anomalía SSL está relacionada con el certificado de cliente y hace que los navegadores vuelvan a solicitar la información de certificado de cliente en los accesos posteriores. Esta opción requiere GSKit versión 7.0.4.19 o posterior, o z/OS V1R8 o posterior. |

- Debe estar configurado un repositorio CRL estático (SSLCRLHost) para habilitar la comprobación de otros formularios de URI en los campos CRLDistributionPoint.
- Si los certificados utilizan los formularios LDAP o HTTP URI de las extensiones CertificateDistributionPoint o AIA, asegúrese de que el sistema IBM HTTP Server puede establecer conexiones de salida de este tipo; debe ajustar los valores del cortafuegos.
La directiva SSLUnknownRevocationStatus se proporciona para casos en los se producen errores recuperables en IBM HTTP Server cuando se está comunicando con el servidor de fondo e IBM HTTP Server no puede determinar el estado de revocación de un certificado. El comportamiento predeterminado es continuar el proceso del reconocimiento a menos que el servidor de fondo pueda indicar satisfactoriamente que el certificado se ha revocado.
Sólo se puede consultar el CRL a un servidor LDAP configurado explícitamente, y el reconocimiento SSL falla si no se puede alcanzar el servidor de fondo.
Directiva SSLClientAuthGroup
La directiva SSLClientAuthGroup define un grupo de expresión con nombre que contiene un conjunto concreto de pares de atributo y valor de certificado de cliente. Las directivas SSLClientAuthRequire pueden utilizar este grupo con nombre. El cliente debe proporcionar un certificado, que pasa esta expresión, antes de que el servidor permita el acceso al recurso protegido.
Nombre | Descripción |
---|---|
Sintaxis | SSLClientAuthGroup nombre grupo expresión atributo |
Ámbito | Configuración del servidor, host virtual. |
Valor predeterminado | Ninguno. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Permitido. |
Alterar temporalmente | Ninguno. |
Valores | Expresión lógica que consta de comprobaciones de atributos enlazados con los operadores AND,
OR, NOT y paréntesis. Por ejemplo:
|
El apartado siguiente proporciona una descripción de ejemplos con expresiones lógicas válidas. Por ejemplo: SSLClientAuthGroup ((CommonName = "Federico Sanz") OR (CommonName = "Juan Cuesta")) AND (Org = IBM) significa que no se proporciona el objeto, a no ser que el certificado de cliente contenga el nombre común Federico Sanz o Juan Cuesta y la organización sea IBM. Las únicas comparaciones válidas de las comprobaciones de atributos son igual y distinto (= y !=). Puede enlazar cada comprobación de atributo con los operadores AND, OR o NOT (también &&, || y !). Las comparaciones que se enlazan con AND, OR o NOT deben ir entre paréntesis. Si el valor del atributo contiene caracteres no alfanuméricos, debe delimitar el valor con comillas.
Nombre largo | Nombre abreviado |
---|---|
CommonName | CN |
País | C |
E | |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
Localidad | L |
Org | O |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
En esta directiva, se puede utilizar el nombre largo o el abreviado.
SSLClientAuthGroup IBMpeople Org = IBM)
o
bien SSLClientAuthGroup
NotMNIBM (ST != MN) && (Org = IBM)
Los nombres de grupo no pueden incluir espacios. Para obtener más información, consulte el apartado Directiva SSLClientAuthRequire.
Directiva SSLClientAuthRequire
La directiva SSLClientAuthRequire especifica valores de atributo o grupos de valores de atributo, que deben validarse con un certificado de cliente antes de que el servidor permita el acceso al recurso protegido.
Nombre | Descripción |
---|---|
Sintaxis | SSLClientAuthRequire expresión atributo |
Ámbito | Configuración del servidor, host virtual |
Valor predeterminado | Ninguno. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Permitido. La función une estas directivas mediante el operador "AND". |
Alterar temporalmente | AuthConfig |
Valores | Expresión lógica que consta de comprobaciones de atributos enlazados con los operadores AND,
OR, NOT y paréntesis. Por ejemplo:
|
Si el certificado recibido no tiene un atributo concreto, entonces no se verifica la coincidencia de atributos. Aún cuando el valor coincidente especificado sea " ", quizá esto aún no sea lo mismo que no tener ahí ningún atributo. Cualquier atributo especificado en la directiva SSLClientAuthRequire que no esté disponible en el certificado provocará que se rechace la petición.
Nombre largo | Nombre abreviado |
---|---|
CommonName | CN |
País | C |
E | |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
Localidad | L |
Org | O |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
En esta directiva, se puede utilizar el nombre largo o el abreviado.
El usuario especifica una expresión lógica de atributos de certificado de cliente concretos. Puede utilizar las operaciones lógicas AND , OR o NOT de varias expresiones si debe especificar la agrupación de valores de atributo de certificado de cliente. Las comparaciones que se enlazan con AND, OR o NOT deben ir entre paréntesis. Entre los operadores válidos se incluyen '=' y '!='. El usuario también puede especificar un nombre de grupo, que se configura utilizando Directiva SSLClientAuthGroup, para configurar un grupo de atributos.
SSLClientAuthRequire
((CommonName="John Doe") || (StateOrProvince=MN)) && (Org
!=IBM)
o
bien SSLClientAuthRequire
(group!=IBMpeople) && (ST=MN)
SSLClientAuthRequire (group
!= IBMpeople) && ("ST= MN")
Para obtener más información, consulte el apartado Directiva SSLClientAuthGroup. Directiva SSLClientAuthVerify
La directiva SSLClientAuthVerify controla si IBM HTTP Server genera errores en las solicitudes cuando se recibe un certificado de cliente pero falla la validación (por ejemplo, porque ha caducado o se ha revocado).
Nombre | Descripción |
---|---|
Sintaxis | SSLClientAuthVerify statuscode|OFF |
Ámbito | Servidor global o host virtual. |
Valor predeterminado | 500 |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por stanza de directorio. |
Valores | Código de estado de respuesta HTTP u OFF |
Utilice esta directiva con SSLClientAuth Optional Noverify para proporcionar una página web fácil de utilizar, en lugar del mensaje de error predeterminado del navegador.
Si configura un host virtual con SSLClientAuth Optional Noverify, se puede establecer una conexión SSL cuando se recibe un certificado de cliente pero falla la validación (por ejemplo, porque ha caducado o se ha revocado).
Utilice esta directiva en un contexto como Location o Directory para denegar las solicitudes que se reciben en esa conexión con un código de error específico o se manejan normalmente estableciendo OFF.
Al proporcionar un documento de error personalizado para ese estado, el administrador puede controlar la página que se presenta al usuario, por ejemplo, para indicar al usuario que su certificado no es válido y proporcionar instrucciones adicionales.
Si el documento de error es una redirección interna a otro URL en el mismo host virtual, debe asegurarse de que ese URL tiene SSLClientAuthVerify OFF en su contexto para que tampoco falle inmediatamente. A continuación se ofrece un ejemplo de este escenario.
El código de estado especificado debe ser un estado de respuesta que sea válido en HTTP y conocido por IBM HTTP Server. Los valores deben estar comprendidos entre 100 y 599, y normalmente se definen en un RFC o propuesta de estándares. Si no está seguro, pruebe con un código de estado en una configuración de prueba y utilice apachectl -t para ver si es válido. Otros códigos no utilizados que son válidos y serían buenas opciones incluyen: 418, 419, 420 y 421.
Debido a que el certificado de cliente no era válido, el documento de error no tendrá ninguna de las variables de entorno disponibles que contendrían información sobre el certificado de cliente. La causa del error de validación del certificado de cliente está disponible en la variable de entorno SSL_LAST_VALIDATION_ERROR. La variable podría ser GSKVAL_ERROR_REVOKED_CERT o GSKVAL_ERROR_CERT_EXPIRED. Si el certificado tiene varios problemas de validación, la causa notificada a menudo es GSKVAL_ERROR_CA_MISSING_CRITICAL_BASIC_CONSTRAINT.
Cada vez que falla una validación de certificado de cliente, se anotan dos mensajes en el registro de errores en loglevel Error. El segundo mensaje incluye la causa, por ejemplo:
[Tue Jun 08 08:54:25 2010]
[error] [client 9.37.243.128] [9e44c28] [731] SSL0208E: Error de
reconocimiento SSL,
Error de validación del certificado. [9.37.243.128:60347 -> 9.37.243.67:443] [08:54:25.000223331]
[Tue Jun 08 08:54:25 2010] [error] [client 9.37.243.128] [9e44c28] [731] Error de validación del certificado
durante reconocimiento, el último error de validación de certificado PKIX/RFC3280 fue
GSKVAL_ERROR_CA_MISSING_CRITICAL_BASIC_CONSTRAINT
[9.37.243.128:60347 -> 9.37.243.67:443] [08:54:25.000223331]
<VirtualHost *:443
SSLClientAuth Optional Noverify
<Location />
SSLClientAuthVerify 419
</Location>
ErrorDocument 419 /error419.html
<Location /error419.html>
SSLClientAuthVerify OFF
</Location>
</VirtualHost>
Directiva SSLCRLHostname (en desuso)
La directiva SSLCRLHostname especifica el nombre de TCP/IP o la dirección del servidor LDAP donde reside la base de datos CRL (lista de revocación de certificados).
Nombre | Descripción |
---|---|
Sintaxis | <SSLCRLHostName <nombre o dirección TCP/IP> |
Ámbito | Servidor global o host virtual. |
Valor predeterminado | Está inhabilitada por omisión. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | Nombre o dirección TCP/IP del servidor LDAP |
Utilice la directiva SSLCRLHostname, junto con las directivas SSLCRLPort, SSLCRLUserID y SSLStashfile, para la configuración estática de un repositorio CRL basado en LDAP. Sólo es necesario utilizar estas directivas para consultar el repositorio CRL basado en LDAP si falta una extensión de certificado CRLDistributionPoint X.509v3 explícita o el servidor especificado en la extensión no responde (no está disponible).
Si hay una extensión CRLDistributionPoint en el certificado y el servidor especificado en la extensión responde (está disponible), el servidor LDAP especificado en CRLDistributionPoint se consulta de forma anónima, sin utilizar estas directivas.
Directiva SSLCRLPort (en desuso)
La directiva SSLCRLPort especifica el puerto del servidor LDAP donde reside la base de datos CRL (lista de revocación de certificados).
Nombre | Descripción |
---|---|
Sintaxis | SSLCRL<puerto> |
Ámbito | Servidor global o host virtual. |
Valor predeterminado | Está inhabilitada por omisión. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | Puerto de servidor LDAP; valor predeterminado = 389. |
Utilice la directiva SSLCRLPort, junto con las directivas SSLCRLUserID, SSLCRLHostname y SSLStashfile, para la configuración estática de un repositorio CRL basado en LDAP. Sólo es necesario utilizar estas directivas para consultar el repositorio CRL basado en LDAP si falta una extensión de certificado CRLDistributionPoint X.509v3 explícita o el servidor especificado en la extensión no responde (no está disponible).
Si hay una extensión CRLDistributionPoint en el certificado y el servidor especificado en la extensión responde (está disponible), el servidor LDAP especificado en CRLDistributionPoint se consulta de forma anónima, sin utilizar estas directivas.
Directiva SSLCRLUserID (en desuso)
La directiva SSLCRLUserID especifica el ID de usuario que se va a enviar al servidor LDAP, donde reside la base de datos CRL (lista de revocación de certificados).
Nombre | Descripción |
---|---|
Sintaxis | SSLCRLUserID <[prompt] <idusuario> |
Ámbito | Servidor global o host virtual. |
Valor predeterminado | Toma por omisión el valor anónimo si no especifica ningún ID de usuario. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | ID de usuario y servidor LDAP. Utilice la opción de solicitud para permitir que el servidor HTTP le solicite la contraseña para acceder al servidor LDAP durante el arranque. |
Utilice la directiva SSLCRLUserID, junto con las directivas SSLCRLPort, SSLCRLHostname y SSLStashfile, para la configuración estática de un repositorio CRL basado en LDAP. Sólo es necesario utilizar estas directivas para consultar el repositorio CRL basado en LDAP si falta una extensión de certificado CRLDistributionPoint X.509v3 explícita o el servidor especificado en la extensión no responde (no está disponible).
Si hay una extensión CRLDistributionPoint en el certificado y el servidor especificado en la extensión responde (está disponible), el servidor LDAP especificado en CRLDistributionPoint se consulta de forma anónima, sin utilizar estas directivas.
Directiva SSLDisable
Nombre | Descripción |
---|---|
Sintaxis | SSLDisable |
Ámbito | Servidor global o host virtual. |
Valor predeterminado | Está inhabilitada por omisión. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | Ninguno. |
Directiva SSLEnable
Nombre | Descripción |
---|---|
Sintaxis | SSLEnable |
Ámbito | Servidor global o host virtual. |
Valor predeterminado | Está inhabilitada por omisión. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | Ninguno. |
Directiva SSLFakeBasicAuth
La directiva SSLFakeBasicAuth habilita el soporte de autenticación básica contra la falsificación.
Nombre | Descripción |
---|---|
Sintaxis | SSLFakeBasicAuth |
Ámbito | Dentro de la stanza de directorio, se utiliza junto con AuthName, AuthType y las directivas necesarias. |
Valor predeterminado | Ninguno. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por stanza de directorio. |
Valores | Ninguno. |
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Directiva SSLFIPSDisable
Nombre | Descripción |
---|---|
Sintaxis | SSLFIPSDisable |
Ámbito | Virtual y global. |
Valor predeterminado | Está inhabilitada por omisión. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | Ninguno. |
Directiva SSLFIPSEnable
La directiva SSLFIPSEnable habilita FIPS (Federal Information Processing Standards).
Esta directiva es aplicable a las plataformas distribuidas.

- La directiva es válida sólo en el ámbito global.
- Si cambia el valor de la directiva, debe detener y luego iniciar IBM HTTP Server para que el nuevo valor entre en vigor. El valor nuevo no entrará en vigor si se hace un reinicio.
Nombre | Descripción |
---|---|
Sintaxis | SSLFIPSEnable |
Ámbito | Virtual y global. |
Valor predeterminado | Está inhabilitada por omisión. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | Ninguno. |
Directiva SSLInsecureRenegotiation
La directiva SSLInsecureRenegotiation determina si se permite la renegociación SSL no segura (pre RFC5746). La renegociación SSL de cualquier tipo no es común, y no se debe cambiar el valor predeterminado off de esta directiva.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Cuando se especifica on, se permite la renegociación SSL no segura. Cuando se especifica off (el valor predeterminado), la renegociación SSL no segura no está permitida.
Nombre | Descripción |
---|---|
Sintaxis | Directiva SSLInsecureRenogotiation on|off |
Ámbito | Hosts virtuales |
Valor predeterminado | off |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global |
Valores | on|off |
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Directiva SSLPKCSDriver
La directiva SSLPKCSDriver identifica el nombre totalmente calificado en el módulo o el controlador utilizado para acceder al dispositivo PKCS11.
Nombre | Descripción |
---|---|
Sintaxis | Nombre plenamente cualificado al módulo utilizado para acceder al dispositivo PKCS11>. Si el módulo existe en la vía de acceso del usuario, especifique sólo el nombre del módulo. |
Ámbito | Servidor global o host virtual. |
Valor predeterminado | Ninguno. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | Vía de acceso y nombre del módulo o controlador de PKCS11. |
- nCipher
- AIX: /opt/nfast/toolkits/pkcs11/libcknfast.so
- HP: /opt/nfast/toolkits/pkcs11/libcknfast.sl
- Solaris: /opt/nfast/toolkits/pkcs11/libcknfast.so
- Windows: c:\nfast\toolkits\pkcs11\cknfast.dll
- IBM 4758
- AIX: /usr/lib/pkcs11/PKCS11_API.so
- Windows: $PKCS11_HOME\bin\nt\cryptoki.dll
- IBM e-business Cryptographic
Accelerator
- AIX: /usr/lib/pkcs11/PKCS11_API.so
Directiva SSLProtocolDisable
La directiva SSLProtocolDisable le permite especificar uno o más protocolos SSL que el cliente no puede utilizar para un host virtual específico. Esta directiva debe localizarse en un contenedor <HostVirtual>.
Nombre | Descripción |
---|---|
Sintaxis | SSLProtocolDisable <nombreprotocolo> |
Ámbito | Host virtual |
Valor predeterminado | Inhabilitado
Atención: De forma predeterminada, el protocolo
SSL Versión 2 está inhabilitado con otros métodos.
|
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Se permiten varias instancias para el host virtual. |
Valores | Para esta directiva están disponibles los siguientes valores posibles.
|
El valor TLS inhabilita todas las versiones de TLS.
El valor TLSv1 inhabilita la versión 1.0 de TLS.
El valor
TLSv1.1 inhabilita la versión 1.1 de TLS.
El valor TLSv1.2 inhabilita la versión 1.2 de TLS.
<VirtualHost *:443> SSLEnable SSLProtocolDisable SSLv2
SSLv3 (cualquier otra directiva) </VirtualHost>
Directiva SSLProtocolEnable
La directiva SSLProtocolEnable se puede utilizar para habilitar protocolos SSL individuales.
En las plataformas distribuidas, esta directiva tiene una utilidad limitada porque
todos los protocolos útiles se habilitan de forma automática.
En z/OS, esta directiva se puede utilizar después de que el servicio
z/OS añada soporte para TLSv1.1 y TLSv1.2. Los protocolos TLSv1.1 y TLSv1.2 no están habilitados de manera predeterminada en un IBM HTTP Server que se ejecute en z/OS.
Nombre | Descripción |
---|---|
Sintaxis | SSLSuiteBMode |
Ámbito | Host virtual |
Valor predeterminado | No establecido |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Se permiten varias instancias para el host virtual. |
Directiva SSLProxyEngine
Nombre | Descripción |
---|---|
Sintaxis | SSLProxyEngine on|off |
Ámbito | Hosts virtuales basados en IP |
Valor predeterminado | Desactivado |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una por host virtual y servidor global |
Valores | on|off |
Directiva SSLRenegotiation
Nombre | Descripción |
---|---|
Sintaxis | SSLRenegotiation on|off|LEGACY_AND_RFC5746 |
Valor predeterminado | Desactivado |
Módulo | mod_ibm_ssl |
Contexto | host virtual |
Estado | extensión |
Valores | on|off|LEGACY_AND_RFC5746 |
- OFF (predeterminado)
- No se permite la renegociación.
- ON
- Se permite la Renegociación segura, según lo define actualmente RFC5746.
- LEGACY_AND_RFC5746
- Se permite la renegociación segura y renegociación insegura heredada.
- Esta directiva reemplaza la directiva SSLInsecureRenegotiation en IBM HTTP Server 8.0 y versiones posteriores.
- IBM HTTP Server 8.0.0.0 ha tomado el valor predeterminado ON (aceptando renegociaciones RFC5746).
- Antes de la versión 7.0.0.21, la biblioteca de seguridad GSKit empaquetada desconocía RFC5746, y "ON" se refería a la renegociación insegura heredada.
- El soporte para la opción LEGACY_AND_RFC5746 depende de IBM HTTP Server 7.0.0.21 y versiones posteriores.
Directiva SSLServerCert
Nombre | Descripción |
---|---|
Sintaxis | SSLServerCert [prompt] etiqueta_certificadoSSLServerCert [prompt|etiqueta_certificado_ecdsa]etiqueta_certificado |
Ámbito | Hosts virtuales basados en IP. |
Valor predeterminado | Ninguno, pero un almacén de claves SSL tiene su propia noción de un certificado predeterminado. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | Etiqueta del certificado. Utilice la opción /prompt para habilitar a HTTP Server para que solicite la contraseña de la señal cifrada durante el inicio. No incluya la etiqueta de certificado entre delimitadores. Asegúrese de que la etiqueta está contenida en una línea; se ignorarán los espacios iniciales y finales. |
- Para elegir una etiqueta de certificado que no sea el valor predeterminado, especifique un único parámetro cuyo valor sea la etiqueta del certificado que desee.
- Para utilizar una señal criptográfica, especifique un nombre de señal criptográfica y una etiqueta de certificado separados por dos puntos (señal:etiqueta). Opcionalmente, especifique /prompt como primer parámetro para que se solicite interactivamente la contraseña de señal criptográfica en lugar de utilizar SSLStashFile.
- Para configurar un certificado basado en RSA y ECDSA, especifique dos etiquetas de certificado, separadas por un espacio. El certificado RSA se utilizará de forma predeterminada, pero los clientes que dan soporte a TLS1.2 o superior pueden solicitar el certificado ECDSA durante el reconocimiento.
SSLServerCert example.com
SSLServerCert myRSA, myECDSA
SSLServerCert swtoken:cert1
SSLSNIMap
La directiva SSLSNIMap correlaciona nombres de host SNI (Server Name Indication) de TLS con etiquetas de certificado.
Nombre | Descripción |
---|---|
Sintaxis | SSLSNIMap nombre-host etiqueta-cert |
Ámbito | Host virtual |
Valor predeterminado | Inhabilitado |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Varias por host virtual |
Valores | Nombres de host utilizados or las etiquetas de certificado presentes en el archivo de claves configurado |
La directiva SSLSNIMap permite que al servidor responder con un certificado de TLS diferente, basado en el nombre de host que el cliente ha solicitado. Si se utilizan hosts virtuales basados en nombres, SSLSNIMap sólo debería estar presente en el primer host virtual listado para una combinación ip:puerto (el host virtual predeterminado para un conjunto de hosts virtuales basados en nombres).
Directiva SSLStashfile
La directiva SSLStashfile indica la vía de acceso al archivo con el nombre de archivo que contiene la contraseña cifrada para abrir el dispositivo PKCS11.
Nombre | Descripción |
---|---|
Sintaxis | SSLStashFile /usr/HTTPServer/mystashfile.sth |
Ámbito | Host virtual y servidor global. |
Valor predeterminado | Ninguno. |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | Nombre de un archivo stash LDAP y/o PKCS11 que se crea con el mandato sslstash. |
SSLStashFile no apunta a un archivo stash para el archivo de claves que se está utilizando, porque esto se calcula automáticamente basándose en el nombre del archivo de claves y es un tipo diferente de archivo stash.
Utilice el mandato sslstash, que se encuentra en el directorio bin de IBM HTTP Server, para crear el archivo stash CRL o de dispositivo criptográfico. La contraseña que se especifica utilizando el mandato sslstash debe ser igual a la que se utiliza para conectarse al servidor LDAP o hardware de cifrado.
- No sobrescribir una archivo *.sth existente cuando emite el mandato sslstash.
- Nunca elegir un nombre de archivo para la salida del mandato sslstash que corresponda al nombre de archivo de un archivo de claves CMS (*.kdb).
Uso: sslstash [-c] <directorio_de_archivo_contraseña_y_nombre_archivo> <nombre_función> <contraseña>
- -c: crea un nuevo archivo stash. Si no se especifica, se actualiza un archivo existente.
- Archivo: representa el nombre plenamente cualificado del archivo que se crea o se actualiza.
- Función: indica la función para la que se utiliza la contraseña. Los valores válidos son crl o crypto.
- Contraseña: representa la contraseña que se oculta.
Utilice la directiva SSLStashFile, junto con las directivas SSLCRLPort, SSLCRLHostname y SSLCRLUserID, para la configuración estática de un repositorio CRL basado en LDAP. Sólo es necesario utilizar estas directivas para consultar el repositorio CRL basado en LDAP si falta una extensión de certificado CRLDistributionPoint X.509v3 explícita o el servidor especificado en la extensión no responde (no está disponible).
Si hay una extensión CRLDistributionPoint en el certificado y el servidor especificado en la extensión responde (está disponible), el servidor LDAP especificado en CRLDistributionPoint se consulta de forma anónima, sin utilizar estas directivas.
SSLSuiteBMode
La directiva SSSLSuiteBMode se puede utilizar para configurar el host virtual incluyente de manera que utilice el perfil Suite B para TLS.
El perfil Suite B reduce enormemente las especificaciones de algoritmos y cifrados de firma disponibles que el servidor utiliza. El conjunto de algoritmos y cifrados aceptables está sujeto a cambios periódicos en función de los cambios en los estándares correspondientes. Los argumentos 128 y 192 hacen referencia a los dos niveles de seguridad que se tratan en la RFC 6460.
Si se especifica esta directiva, se altera temporalmente las mayoría de las directivas SSL especificadas anteriormente. Esta directiva no altera temporalmente el valor SSLAttributeSet porque tiene una prioridad más alta. Todos los perfiles Suite B exigen la cadena de certificados para que el servidor utilice firmas ECC seguras. La RFC 6460 documenta las restricciones del perfil Suite B.
Nombre | Descripción |
---|---|
Sintaxis | SSLSuiteBMode |
Ámbito | Host virtual |
Valor predeterminado | No establecido |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una vez por host virtual |
Directiva SSLTrace
La directiva SSLTrace habilita el registro de depuración en mod_ibm_ssl. Se utiliza junto con la directiva LogLevel. Para habilitar el registro de depuración en mod_ibm_ssl, establezca LogLevel en debug y añada la directiva SSLTrace al ámbito global en el archivo de configuración de IBM HTTP Server, después de la directiva LoadModule para mod_ibm_ssl. Esta directiva se suele utilizar en la petición de servicio de soporte de IBM cuando se investiga la causa de un problema con mod_ibm_ssl. No se recomienda habilitar esta directiva en condiciones de funcionamiento normales.
Nombre | Descripción |
---|---|
Sintaxis | SSLTrace |
Ámbito | Global |
Valor predeterminado | No está habilitado el registro de depuración mod_ibm_ssl |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Se ignora |
Valores | Ninguno |
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
SSLUnknownRevocationStatus
La directiva SSLUnknownRevocationStatus especifica cómo reacciona IBM HTTP Server cuando IBM HTTP Server no puede determinar el estado de revocación, que viene mediante CRL u OCSP.
Nombre | Descripción |
---|---|
Sintaxis | SSLUnknownRevocationStatus ignore | log | log_always | deny |
Ámbito | Host virtual |
Valor predeterminado | ignore |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Se permite una instancia para cada host virtual |
Valores |
|
%{SSL_UNKNOWNREVOCATION_SUBJECT}e
También puede utilizar la variable en expresiones mod_rewrite
cuando la directiva SSLUnknownRevocationStatus tiene un valor
distinto de deny. Utilice el nombre de variable siguiente:
%{ENV:SSL_UNKNOWNREVOCATION_SUBJECT}
Directiva SSLV2Timeout
La directiva SSLV2Timeout establece el tiempo de espera de los ID de sesión de la versión 2 de SSL.
Nombre | Descripción |
---|---|
Sintaxis | SSLV2Timeout 60 |
Ámbito | Host básico global y virtual. |
Valor predeterminado | 40 |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | De 0 a 100 segundos. |
Directiva SSLV3Timeout
La directiva SSLV3Timeout establece el tiempo de espera de los ID de sesión de SSL versión 3 y TLS.
Nombre | Descripción |
---|---|
Sintaxis | SSLV3Timeout 1000 |
Ámbito | Host básico global y virtual.
|
Valor predeterminado | 120 |
Módulo | mod_ibm_ssl |
Varias instancias del archivo de configuración | Una instancia por host virtual y servidor global. |
Valores | De 0 a 86400 segundos. |
Directiva SSLVersion
La directiva SSLVersion genera el rechazo de acceso a objetos con una respuesta 403 si el cliente se ha conectado con una versión del protocolo SSL que no es la especificada.
En la mayoría de los casos, la directiva SSLProtocolDisable es una opción mejor que la directiva SSLVersion para garantizar el uso de versiones concretas del protocolo SSL. La directiva SSLProtocolDisable permite que el navegador del cliente negocie otra versión de protocolo, si es posible, cuando la directiva SSLVersion hace que IBM HTTP Server envíe una respuesta 403, que puede confundir al usuario.
Nombre | Descripción | |
---|---|---|
Sintaxis | SSLVersion ALL | |
Ámbito | Uno por stanza de directorio. | |
Valor predeterminado | Ninguno. | |
Módulo | mod_ibm_ssl | |
Varias instancias del archivo de configuración | Una instancia por stanza <Directory> o <Location>. | |
Valores | ![]() |
![]() |