![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
Diretivas SSL
As diretivas Secure Sockets Layer (SSL) são os parâmetros de configuração que controlam recursos SSL no IBM® HTTP Server.
É possível especificar várias diretivas Secure Sockets Layer (SSL) no IBM HTTP Server dentro de uma seção <virtual Host> ou globalmente fora de qualquer seção <virtualHost>.
A maioria das diretivas válidas em ambos os contextos não é copiada ou mesclada da configuração global com a configuração de host virtual, com estas exceções: SSLEnable, SSLDisable, KeyFile, SSLServerCert, SSLTrace, SSLv2Timeout e SSLv3Timeout. Para a maioria das outras diretivas que são válidas dentro do escopo de host virtual ativado por SSL, deve-se especificá-las explicitamente dentro do host virtual ativado por SSL para que elas entrem em vigor. Exemplos de outras diretivas SSL que não são mescladas ou copiadas são SSLCipherSpec e Uncompromisable.
Para diretivas SSL especificadas em um escopo de diretório (<Location>, <Directory> ou htaccess), as seções de configurações de um escopo mais geral são mescladas a seções de configurações com um escopo mais específico. Algumas diretivas de exemplo nessa categoria são SSLCipherBan, SSLCipherRequire, SSLClientAuthRequire e SSLVersion. Essas diretivas são usadas menos frequentemente que as anteriores.
Com exceção de uma diretiva de arquivo-chave especificada globalmente, evite mesclar configurações sempre que possível. Sempre teste o resultado de qualquer configuração que dependa da mesclagem de vários escopos de configuração.
- SSLOCSPResponderURL
- SSLOCSPEnable
- Diretiva Keyfile
- Diretiva SSLAcceleratorDisable
Diretiva SSLAllowNonCriticalBasicConstraints
Diretiva SSLCacheDisable
Diretiva SSLCacheEnable
Diretiva SSLCacheErrorLog
Diretiva SSLCachePath
Diretiva SSLCachePortFilename
Diretiva SSLCacheTraceLog
- Diretiva SSLCipherBan
- Diretiva SSLCipherRequire
- Diretiva SSLCipherSpec
- Diretiva SSLClientAuth
- Diretiva SSLClientAuthGroup
- Diretiva SSLClientAuthRequire
- Diretiva SSLClientAuthVerify
- Diretiva SSLCRLHostname (descontinuada)
- Diretiva SSLCRLPort (descontinuada)
- Diretiva SSLCRLUserID (descontinuada)
- Diretiva SSLDisable
- Diretiva SSLEnable
- Diretiva SSLFakeBasicAuth
Diretiva SSLFIPSDisable
- Diretiva SSLFIPSEnable
- Diretiva SSLInsecureRenegotiation
- Diretiva SSLPKCSDriver
- Diretiva SSLProtocolDisable
- Diretiva SSLProtocolEnable
- Diretiva SSLProxyEngine
- diretiva SSLRenegotiation
- Diretiva SSLServerCert
- SSLSNIMap
- Diretiva SSLStashfile
- SSLSuiteBMode
- Diretiva SSLTrace
SSLUnknownRevocationStatus
- Diretiva SSLV2Timeout
- Diretiva SSLV3Timeout
- Diretiva SSLVersion
SSLOCSPResponderURL
Nome | Descrição |
---|---|
Sintaxe |
|
Escopo | Host Virtual |
Padrão | Desativado |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Um por host virtual |
Valores | Uma URL completa que aponta para um respondente de OCSP, por exemplo, http://hostname:2560/. |
Mesmo se a verificação de CRL estiver configurada, a verificação de OCSP será executada antes de qualquer verificação de CRL. A verificação de CRL ocorre apenas se o resultado da CRL é desconhecido ou inconclusivo.
Se SSLOCSPResponderURL for configurada, o IBM HTTP Server usará a URL fornecida para verificar o status da revogação de certificado quando um certificado de cliente SSL for fornecido.
SSLOCSPEnable
Nome | Descrição |
---|---|
Sintaxe |
|
Escopo | Host Virtual |
Padrão | Desativado |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância permitida para cada host virtual |
Valores | Nenhuma |
Se SSLOCSPEnable estiver configurada, e uma cadeia de certificados de cliente SSL contiver uma extensão AIA, o IBM HTTP Server contatará o respondente de OCSP indicado pela extensão AIA para verificar o status da revogação do certificado de cliente.
Se ambas as verificações, de OCSP e CRL, estiverem configuradas, a verificação de OCSP será executada antes de qualquer verificação de CRL. A verificação de CRL ocorre apenas se o resultado da verificação de OCSP é desconhecido ou inconclusivo.
Se SSLOCSPEnable e SSLOCSPResponderURL estiverem configurados, o replicador definido por SSLOCSPResponderURL será verificado primeiro. Se o status da revogação for desconhecido ou inconclusivo, o IBM HTTP Server verificará os respondentes de OCSP em busca de SSLOCSPEnable.
Diretiva Keyfile
Nome | Descrição |
---|---|
Sintaxe | ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Escopo | Base global e host virtual |
Padrão | Nenhuma |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global |
Valores | Nome do arquivo de chave.
|
![[z/OS]](../images/ngzos.gif)
Certificate Management Services (CMS)
CMS ou Resource Access Control Facility (RACF)
Diretiva SSLAcceleratorDisable
Nome | Descrição |
---|---|
Sintaxe | SSLAcceleratorDisable |
Escopo | Virtual e global |
Padrão | O dispositivo acelerador está ativado |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual. |
Valores | Nenhuma. Coloque essa diretiva em qualquer lugar dentro do arquivo de configuração, inclusive dentro de um host virtual. Durante a inicialização, se o sistema determinar que um dispositivo de acelerador está instalado na máquina, o sistema utiliza esse acelerador para aumentar o número de transações seguras. Essa diretriz não captura os argumentos. |
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Diretiva SSLAllowNonCriticalBasicConstraints
Nome | Descrição |
---|---|
Sintaxe | SSLAllowNonCriticalBasicConstraints on|off |
Escopo | Servidor global ou host virtual |
Padrão | Desligar |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global |
Valores | Nenhuma. Esta diretiva altera o comportamento do algoritmo de validação de
certificado de forma que uma extensão de restrições básicas não críticas
em um certificado de autoridade de certificado (CA) de emissor não cause
uma falha de validação. Isto permite a compatibilidade com um aspecto
da especificação de GPKI do governo do Japão que está em conflito
com RFC3280. Atenção: O RFC3280 declara que essa extensão deve
aparecer como crítica em todos os certificados CA que contêm chaves públicas para validar
assinaturas digitais em certificados.
|
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Diretiva SSLCacheDisable
Nome | Descrição |
---|---|
Sintaxe | SSLCacheDisable |
Escopo | Um por instância do servidor Apache físico, ativado apenas fora de sub-rotinas de host virtual. |
Padrão | Nenhuma |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Não permitido. |
Valores | Nenhuma. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Diretiva SSLCacheEnable
Nome | Descrição |
---|---|
Sintaxe | SSLCacheEnable |
Escopo | Um por instância do servidor Apache físico, ativado apenas fora de sub-rotinas de host virtual. |
Padrão | Nenhuma |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Não permitido. |
Valores | Nenhuma. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Diretiva SSLCacheErrorLog
Nome | Descrição |
---|---|
Sintaxe | SSLCacheErrorLog /usr/HTTPServer/logs/sidd_logg |
Escopo | Configuração do servidor fora do host virtual. |
Padrão | Nenhuma |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Não permitido. |
Valores | Nome do arquivo válido. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Diretiva SSLCachePath
A diretiva SSLCachePath especifica o caminho para o daemon de armazenamento em cache do ID da sessão. A menos que diversas instâncias de IHS, com diversos parâmetros ServerRoot ou -d estejam compartilhando uma instalação, esta diretiva não precisa ser especificada.
Quando várias instâncias do IHS estiverem sendo usadas com uma raiz do servidor alternativa, conforme descrito anteriormente, esta diretiva deve ser usada para apontar esta instância do IHS no caminho para o binário bin/sidd na raiz de instalação única, ao invés de nas raízes de servidor separadas, usadas por padrão.
Não existe razão prática para copiar o binário bin/sidd ou para usar esta diretiva para especificar alguma coisa diferente de bin/sidd, instalado sob a raiz do servidor, quando diversas instâncias são usadas. O valor desta diretiva não precisa variar entre instâncias de IHS que compartilham os mesmos binários.
Nome | Descrição |
---|---|
Sintaxe | SSLCachePath /usr/HTTPServer/bin/sidd |
Escopo | Configuração do servidor fora do host virtual. |
Padrão | <server-root>/bin/sidd |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Não permitido. |
Valores | Nome do caminho válido. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Diretiva SSLCachePortFilename
Nome | Descrição |
---|---|
Sintaxe | SSLCachePortFilename /usr/HTTPServer/logs/siddport |
Escopo | Configuração do servidor fora do host virtual. |
Padrão | Se esta diretiva não for especificada e o cache estiver ativado,
o servidor tentará usar o arquivo <server-root>/logs/siddport. NOTAS
|
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Não permitido. |
Valores | Nome do caminho válido. O servidor da web exclui este arquivo durante a inicialização; não use um nome de arquivo existente. |
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
Diretiva SSLCacheTraceLog
Nome | Descrição |
---|---|
Sintaxe | SSLCacheTraceLog /usr/HTTPServer/logs/sidd-trace.log |
Escopo | Configuração do servidor fora do host virtual. |
Padrão | Nenhuma. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Não permitido. |
Valores | Nome do caminho válido. |
Diretiva SSLCipherBan
Nome | Descrição |
---|---|
Sintaxe | SSLCipherBan <cipher_specification> |
Escopo | Várias instâncias por sub-rotina de diretório. |
Padrão | Nenhuma. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Permitido por sub-rotina de diretório. A ordem de preferência é de cima para baixo. |
Valores | Consulte o tópico de especificação do código SSL para obter valores. |
Diretiva SSLCipherRequire
Nome | Descrição |
---|---|
Sintaxe | SSLCipherRequire <cipher_specification> |
Escopo | Várias instâncias por sub-rotina de diretório. |
Padrão | Nenhuma. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Permitido por sub-rotina de diretório. |
Valores | Consulte o tópico de especificação de código SSL para obter valores |
Diretiva SSLCipherSpec
A diretiva SSLCipherSpec permite que você customize os códigos SSL suportados durante o handshake. É possível customizar o conjunto de códigos SSL e a ordem de preferência dos códigos SSL.
Em plataformas distribuídas, cada protocolo
possui sua própria lista ordenada de códigos. Os protocolos suportados são SSL
versão 2, SSL versão 3, TLS versão 1.0, TLS versão 1.1 e TLS
versão 1.2.
No z/OS, existem somente duas listas de códigos ativados,
uma para SSL versão 2 e uma para os outros protocolos. Os protocolos suportados são SSL versão 2, SSL
versão 3 e TLS versão 1.0.
Os códigos SSL Versão 2 são padronizados como sem código, o que significa que o protocolo está desativado. Os outros protocolos são padronizados com um conjunto de códigos de SSL que exclui códigos nulos, códigos de exportação e códigos fracos.
Quando você usa o formato de argumento único de SSLCipherSpec, o código fornecido é ativado em todos os protocolos para os quais ele é válido. Na primeira vez que uma alteração desse tipo é feita para cada protocolo, os códigos padrão para o protocolo são descartados.
Quando você usa o formato de diversos argumentos de SSLCipherSpec, especificando o nome de um protocolo SSL (ou "ALL") como o primeiro argumento, é possível usar uma sintaxe aprimorada com os benefícios a seguir:
- Diversos códigos podem ser listados com cada ocorrência de SSLCipherSpec
- Códigos individuais podem ser removidos do conjunto atual de códigos ativados prefixando o nome do código com "-".
- Na primeira vez em que uma determinada lista de códigos de protocolo está sendo modificada, o código fornecido pode ser incluído no final dos padrões, em vez de substituí-los, prefixando o nome do código com "+".
Se for fornecido um nome de protocolo igual a "ALL", a inclusão ou remoção especificada para cada nome de código será aplicada em cada protocolo no qual esse código é válido.
Como um caso especial, para esvaziar todas as listas de códigos com um único comando, é possível usar SSLCipherSpec ALL NONE. Usar este comando é uma boa maneira de iniciar uma configuração sempre que não desejar usar os códigos padrão.
Nome | Descrição |
---|---|
![]() |
![]() |
![]() |
![]() |
Escopo | Config do servidor, host virtual. |
Padrão | Se nada for especificado, o servidor usará todas as especificações de código não NULL, não exportação, não fraco disponíveis. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Permitido. A ordem de preferência é de cima para baixo, da primeira para a última. |
![]() |
![]() |
![]() |
![]() |
Valores para nomes de código | Consulte o tópico de especificação de código SSL para obter valores |
Exemplo 1 | Se desejar selecionar apenas alguns códigos, é melhor iniciar
reconfigurando todas as listas de códigos, em seguida, incluindo aquelas que deseja usar:
|
Exemplo 2 | Se desejar usar a maioria dos
padrões, mas houver um ou dois códigos que você não deseja, será
possível removê-los de quaisquer listas nas quais eles estão atualmente:
|
Diretiva SSLClientAuth
Nome | Descrição |
---|---|
Sintaxe | SSLClientAuth <level required> [crl] |
Escopo | Host virtual. |
Padrão | SSLClientAuth none |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual. |
Valores |
Se você especificar o valor 0/None, não poderá usar a opção CRL. |
Reconfiguração Necessária | O servidor requer um certificado válido de todos os clientes e, se nenhum certificado estiver disponível, o servidor envia um alerta de SSL para o cliente. Isto permite que o cliente entenda que a falha de SSL está relacionada ao certificado de cliente e faz com que navegadores solicitem novamente informações do certificado de cliente sobre o acesso subsequente. Esta opção requer o GSKit versão 7.0.4.19 ou posterior ou o z/OS V1R8 ou posterior. |

- Um repositório de CRL estático (SSLCRLHost) deve ser configurado para ativar a verificação de outros formatos de URI nos campos CRLDistributionPoint.
- Se seus certificados usarem os formatos de URI LDAP ou HTTP das extensões CertificateDistributionPoint ou AIA, certifique-se de que o sistema IBM HTTP Server possa estabelecer conexões de saída deste tipo; você deve ajustar as configurações para seu firewall.
A diretiva SSLUnknownRevocationStatus é fornecida para casos nos quais ocorrem erros recuperáveis no IBM HTTP Server quando ele está se comunicando com o servidor de backend e o IBM HTTP Server não pode determinar o status da revogação de um certificado. O comportamento padrão é continuar processando o handshake, a menos que o servidor backend possa indicar com êxito que o certificado está revogado.
Apenas um servidor LDAP configurado explicitamente pode ser consultado para CRL e o handshake de SSL falha se o servidor backend não está acessível.
Diretiva SSLClientAuthGroup
A diretiva SSLClientAuthGroup define um grupo de expressão denominado que contém um conjunto de pares de valor e atributo de certificados clientes específicos. Este grupo denominado pode ser utilizado pelas diretivas SSLClientAuthRequire. Um certificado deve ser fornecido pelo cliente, que transmite esta expressão, antes de o servidor permitir o acesso ao recurso protegido.
Nome | Descrição |
---|---|
Sintaxe | SSLClientAuthGroup group name attribute expression |
Escopo | Config do servidor, host virtual. |
Padrão | Nenhuma. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Permitido. |
Substituir | Nenhuma. |
Valores | Expressão lógica composta por verificações de atributos vinculadas
a AND, OR, NOT e parênteses. Exemplo:
|
A seção a seguir fornece uma descrição dos exemplos com expressões lógicas válidas. Por exemplo: SSLClientAuthGroup ((CommonName = "Fred Smith") OR (CommonName = "John Deere")) AND (Org = IBM) significa que o objeto não é servido, a menos que o certificado de cliente contenha um nome comum igual a Fred Smith ou John Deere e a organização seja IBM. As únicas comparações válidas para as verificações de atributo são igual e não igual (= e !=). Você pode vincular cada verificação de atributo com AND, OR ou NOT (também &&, ||, e !). Quaisquer comparações que você vincular com AND, OR ou NOT deverão estar contidas entre parênteses. Se o valor do atributo contiver um caractere não alfanumérico, você deverá delimitar o valor com aspas.
Nome Longo | Nome Abreviado |
---|---|
CommonName | CN |
País | C |
D | |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
Localidade | L |
Org | E |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
O nome longo ou o nome abreviado pode ser utilizado nesta diretiva.
SSLClientAuthGroup IBMpeople Org = IBM)
ou
SSLClientAuthGroup
NotMNIBM (ST != MN) && (Org = IBM)
Um nome de grupo não pode incluir espaços. Consulte o Diretiva SSLClientAuthRequire para obter informações adicionais.
Diretiva SSLClientAuthRequire
A diretiva SSLClientAuthRequire especifica valores de atributo, ou grupos de valores de atributo, que devem ser validados com relação a um certificado de cliente antes de o servidor permitir acesso ao recurso protegido.
Nome | Descrição |
---|---|
Sintaxe | SSLClientAuthRequire attribute expression |
Escopo | config do servidor, host virtual |
Padrão | Nenhuma. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Permitido. A função une essas diretivas por "AND". |
Substituir | AuthConfig |
Valores | Expressão lógica composta por verificações de atributos vinculadas
a AND, OR, NOT e parênteses. Exemplo:
|
Se o certificado recebido não tiver um atributo específico, não haverá nenhuma verificação para uma correspondência de atributos. Mesmo se o valor correspondente especificado for " ", isto ainda pode não ser o mesmo que não ter o atributo definido lá. Qualquer atributo especificado na diretiva SSLClientAuthRequire que não esteja disponível no certificado fará com que a solicitação seja rejeitada.
Nome Longo | Nome Abreviado |
---|---|
CommonName | CN |
País | C |
D | |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
Localidade | L |
Org | E |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
O nome longo ou o nome abreviado pode ser utilizado nesta diretiva.
O usuário especifica uma expressão lógica de atributos de certificados clientes específicos. É possível usar logicamente AND , OR ou NOT para diversas expressões se você precisar especificar agrupamentos de valores de atributo de certificado de cliente. Quaisquer comparações que sejam vinculadas a AND, OR ou NOT devem estar contidas entre parênteses. Os operadores válidos incluem '=' e '!='. O usuário também pode especificar um nome de grupo, que tenha sido configurado utilizando o Diretiva SSLClientAuthGroup, para configurar um grupo de atributos.
SSLClientAuthRequire
((CommonName="John Doe") || (StateOrProvince=MN)) && (Org
!=IBM)
ou
SSLClientAuthRequire
(group!=IBMpeople) && (ST=MN)
SSLClientAuthRequire (group
!= IBMpeople) && ("ST= MN")
Consulte o Diretiva SSLClientAuthGroup para obter informações adicionais. Diretiva SSLClientAuthVerify
A diretiva SSLClientAuthVerify controla se o IBM HTTP Server falha nas solicitações quando um certificado de cliente é recebido, mas falha na validação (por exemplo, é expirada ou revogada).
Nome | Descrição |
---|---|
Sintaxe | SSLClientAuthVerify statuscode|OFF |
Escopo | Servidor global ou host virtual. |
Padrão | 500 |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por sub-rotina do diretório. |
Valores | Código de status da resposta HTTP ou OFF |
Use esta diretiva com SSLClientAuth Optional Noverify para fornecer uma página da Web fácil de usar, em vez da mensagem de erro do navegador padrão.
Se configurar um host virtual com SSLClientAuth Optional Noverify, uma conexão SSL poderá ser estabelecida quando um certificado de cliente for recebido, mas ela falhará na validação (por exemplo, se estiver expirada ou revogada).
Use esta diretiva em um contexto tal como Local ou Diretório para falhar solicitações que são recebidas nessa conexão com um código de erro específico, ou manipuladas normalmente configurando OFF.
Fornecendo um documento de erro customizado para esse status, o administrador pode controlar a página que é apresentada ao usuário, por exemplo, para informar ao usuário que seu certificado é inválido e fornecer instruções adicionais.
Se o documento de erro for um redirecionamento interno para uma outra URL no mesmo host virtual, você deverá assegurar que a URL tenha SSLClientAuthVerify OFF em seu contexto de forma que ela não falhe imediatamente, também. A seguir há um exemplo deste cenário.
O código de status especificado deve ser um status de resposta válido em HTTP e conhecido para o IBM HTTP Server. Os valores estão entre 100 e 599 e geralmente estão definidos em uma proposta de RFC ou de normas. Se você estiver inseguro, tente um código de status em uma configuração de teste e use apachectl -t para ver se ele é válido. Outros códigos não usados que são válidos e seriam boas opções incluem: 418, 419, 420 e 421.
Como o certificado de cliente era inválido, o documento de erro não terá nenhuma das variáveis de ambiente disponíveis que conteriam informações sobre o certificado de cliente. A causa da falha de validação do certificado de cliente está disponível na variável de ambiente SSL_LAST_VALIDATION_ERROR. A variável poderia ser GSKVAL_ERROR_REVOKED_CERT ou GSKVAL_ERROR_CERT_EXPIRED. Se o certificado tiver diversos problemas de validação, a causa relatada geralmente será GSKVAL_ERROR_CA_MISSING_CRITICAL_BASIC_CONSTRAINT.
Toda vez que uma validação de certificado de cliente falha, duas mensagens são registradas no log de erro em loglevel Error. A segunda mensagem inclui a causa, por exemplo:
[Tue Jun 08 08:54:25 2010] [error] [client 9.37.243.128] [9e44c28] [731] SSL0208E: SSL Handshake Failed,
Certificate validation error. [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] Certificate validation error
during handshake, last PKIX/RFC3280 certificate validation error was
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>
Diretiva SSLCRLHostname (descontinuada)
A diretiva SSLCRLHostname especifica o nome ou endereço TCP/IP do servidor LDAP no qual o banco de dados CRL (Certificate Revocation List) reside.
Nome | Descrição |
---|---|
Sintaxe | <SSLCRLHostName <TCP/IP name or address> |
Escopo | Servidor global ou host virtual. |
Padrão | Desativado, por padrão. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | Nome ou endereço TCP/IP do Servidor LDAP |
Utilize a diretiva SSLCRLHostname, junto com as diretivas SSLCRLPort, SSLCRLUserID e SSLStashfile, para configuração estática de um repositório CRL baseado em LDAP. Só será necessário utilizar essas diretivas para consultar o repositório CRL baseado em LDAP se uma extensão de certificado CRLDistributionPoint X.509v3 explícita estiver ausente ou o servidor especificado na extensão não estiver respondendo (indisponível).
Se uma extensão CRLDistributionPoint estiver presente no certificado e o servidor especificado na extensão estiver respondendo (disponível), o servidor LDAP especificado no CRLDistributionPoint será consultado anonimamente, sem utilizar essas diretivas.
Diretiva SSLCRLPort (descontinuada)
A diretiva SSLCRLPort especifica a porta do servidor LDAP na qual o banco de dados CRL (Certificate Revocation List) reside.
Nome | Descrição |
---|---|
Sintaxe | SSLCRL<port> |
Escopo | Servidor global ou host virtual. |
Padrão | Desativado, por padrão. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | Porta do servidor LDAP; padrão = 389. |
Utilize a diretiva SSLCRLPort, com as diretivas SSLCRLUserID, SSLCRLHostname e SSLStashfile, para configuração estática de um repositório CRL baseado em LDAP. Só será necessário utilizar essas diretivas para consultar o repositório CRL baseado em LDAP se uma extensão de certificado CRLDistributionPoint X.509v3 explícita estiver ausente ou o servidor especificado na extensão não estiver respondendo (indisponível).
Se uma extensão CRLDistributionPoint estiver presente no certificado e o servidor especificado na extensão estiver respondendo (disponível), o servidor LDAP especificado no CRLDistributionPoint será consultado anonimamente, sem utilizar essas diretivas.
Diretiva SSLCRLUserID (descontinuada)
A diretiva SSLCRLUserID especifica o ID do usuário a ser enviado ao servidor LDAP, no qual o banco de dados CRL (Certificate Revocation List) reside.
Nome | Descrição |
---|---|
Sintaxe | SSLCRLUserID <[prompt] <userid> |
Escopo | Servidor global ou host virtual. |
Padrão | Será padronizado como anônimo, se você não especificar um ID de usuário. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | ID do usuário do servidor LDAP. Use a opção de prompt para ativar o servidor HTTP para solicitar a senha para acessar o servidor LDAP durante a inicialização. |
Utilize a diretiva SSLCRLUserID, com as diretivas SSLCRLPort, SSLCRLHostname e SSLStashfile, para configuração estática de um repositório CRL baseado em LDAP. Só será necessário utilizar essas diretivas para consultar o repositório CRL baseado em LDAP se uma extensão de certificado CRLDistributionPoint X.509v3 explícita estiver ausente ou o servidor especificado na extensão não estiver respondendo (indisponível).
Se uma extensão CRLDistributionPoint estiver presente no certificado e o servidor especificado na extensão estiver respondendo (disponível), o servidor LDAP especificado no CRLDistributionPoint será consultado anonimamente, sem utilizar essas diretivas.
Diretiva SSLDisable
Nome | Descrição |
---|---|
Sintaxe | SSLDisable |
Escopo | Servidor global ou host virtual. |
Padrão | Desativado, por padrão. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | Nenhuma. |
Diretiva SSLEnable
Nome | Descrição |
---|---|
Sintaxe | SSLEnable |
Escopo | Servidor global ou host virtual. |
Padrão | Desativado, por padrão. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | Nenhuma. |
Diretiva SSLFakeBasicAuth
A diretiva SSLFakeBasicAuth ativa o suporte à autenticação básica falsa.
Nome | Descrição |
---|---|
Sintaxe | SSLFakeBasicAuth |
Escopo | Dentro de uma sub-rotina de diretórios, utilizada juntamente com AuthName, AuthType e que requer diretivas. |
Padrão | Nenhuma. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por sub-rotina do diretório. |
Valores | Nenhuma. |
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Diretiva SSLFIPSDisable
Nome | Descrição |
---|---|
Sintaxe | SSLFIPSDisable |
Escopo | Virtual e global. |
Padrão | Desativado, por padrão. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | Nenhuma. |
Diretiva SSLFIPSEnable
A diretiva SSLFIPSEnable ativa o FIPS (Federal Information Processing Standards).
Esta diretiva é aplicável a plataformas distribuídas.

- A diretiva é válida somente no escopo global.
- Se o valor da diretiva for alterado, você deverá parar e em seguida iniciar o IBM HTTP Server para que o novo valor entre em vigor. O novo valor não entrará em vigor se você executar uma reinicialização.
Nome | Descrição |
---|---|
Sintaxe | SSLFIPSEnable |
Escopo | Virtual e global. |
Padrão | Desativado, por padrão. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | Nenhuma. |
Diretiva SSLInsecureRenegotiation
A diretiva SSLInsecureRenegotiation determina se a renegociação de SSL insegura (pré-RFC5746) é permitida. A Renegociação de SSL de qualquer tipo não é comum e esta diretiva não deve ser alterada a partir de seu valor padrão de off.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Quando on é especificado, a renegociação de SSL insegura é permitida. Quando off é especificado (o padrão), a renegociação de SSL insegura não é permitida.
Nome | Descrição |
---|---|
Sintaxe | SSLInsecureRenogotiation directive on|off |
Escopo | Hosts Virtuais |
Padrão | off |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global |
Valores | on|off |
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Diretiva SSLPKCSDriver
A diretiva SSLPKCSDriver identifica o nome completo para o módulo ou o driver utilizado para acessar o dispositivo PKCS11.
Nome | Descrição |
---|---|
Sintaxe | Nome completo para o módulo usado para acessar o dispositivo PKCS11>. Se o módulo existir no caminho do usuário, especifique apenas o nome do módulo. |
Escopo | Servidor global ou host virtual. |
Padrão | Nenhuma. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | Caminho e nome do módulo PKCS11 ou driver. |
- 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
Diretiva SSLProtocolDisable
A diretiva SSLProtocolDisable permite que você especifique um ou mais protocolos SSL que não podem ser usados pelo cliente para um host virtual específico. Esta diretiva deve estar localizada em um contêiner <VirtualHost>.
Nome | Descrição |
---|---|
Sintaxe | SSLProtocolDisable <protocolname> |
Escopo | Host Virtual |
Padrão | Desativado Atenção: O protocolo SSL Versão 2 é desativado
por padrão com outros métodos.
|
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Várias instâncias permitidas por host virtual. |
Valores | Os seguintes valores possíveis estão disponíveis para essa diretiva.
|
Um valor igual a TLS desativa todas as versões de TLS.
Um valor igual a TLSv1 desativa o TLS Versão 1.0.
Um valor igual a TLSv1.1 desativa
o TLS versão 1.1.
Um valor igual a TLSv1.2 desativa
o TLS versão 1.2.
<VirtualHost *:443> SSLEnable SSLProtocolDisable SSLv2
SSLv3 (any other directives) </VirtualHost>
Diretiva SSLProtocolEnable
A diretiva SSLProtocolEnable pode ser usada para ativar protocolos SSL individuais.
Em plataformas distribuídas, essa diretiva possui uma utilidade limitada porque todos os protocolos úteis são ativados automaticamente, por padrão.
No z/OS, essa diretiva pode ser usada após o serviço
z/OS incluir suporte para TLSv1.1 e TLSv1.2. Os protocolos TLSv1.1 e TLSv1.2 não são ativados por padrão em um IBM HTTP Server em execução no z/OS.
Nome | Descrição |
---|---|
Sintaxe | SSLSuiteBMode |
Escopo | Host Virtual |
Padrão | Não configurado |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Várias instâncias permitidas por host virtual. |
Diretiva SSLProxyEngine
Nome | Descrição |
---|---|
Sintaxe | SSLProxyEngine on|off |
Escopo | Hosts virtuais baseados em IP |
Padrão | Desligar |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Um por host virtual e servidor global |
Valores | on|off |
diretiva SSLRenegotiation
Nome | Descrição |
---|---|
Sintaxe | SSLRenegotiation on|off|LEGACY_AND_RFC5746 |
Padrão | Desligar |
Módulo | mod_ibm_ssl |
Contexto | host virtual |
Status | extensão |
Valores | on|off|LEGACY_AND_RFC5746 |
- OFF (padrão)
- Nenhuma renegociação é permitida.
- ON
- A renegociação segura, conforme definida atualmente pelo RFC5746, é permitida.
- LEGACY_AND_RFC5746
- A renegociação segura e a renegociação não segura de legacy são permitidas.
- Essa diretiva suplanta a SSLInsecureRenegotiation no IBM HTTP Server 8.0 e posterior.
- IBM HTTP Server 8.0.0.0 padronizado para ON (aceitando renegociações RFC5746).
- Antes do 7.0.0.21, a biblioteca de segurança do GSKit em pacote configurável não reconhecia o RFC5746 e "ON" referia-se à renegociação não segura de legado.
- O suporte para a opção LEGACY_AND_RFC5746 depende do IBM HTTP Server 7.0.0.21 e posterior.
Diretiva SSLServerCert
Nome | Descrição |
---|---|
Sintaxe | SSLServerCert [prompt] certificate_labelSSLServerCert [prompt|ecdsa_certificate_label]certificate_label |
Escopo | Hosts virtuais baseados em IP. |
Padrão | Nenhum, mas um armazenamento de chaves SSL tem sua própria noção de um certificado padrão. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | Etiqueta do certificado. Utilize a opção /prompt para ativar o servidor HTTP para solicitar a senha de token Crypto durante a inicialização. Não utilize delimitadores ao redor da etiqueta do certificado. Verifique se o rótulo está em uma linha; espaços em branco iniciais ou finais são ignorados. |
- Para escolher um rótulo de certificado diferente do padrão, especifique um único parâmetro cujo valor é o rótulo do certificado desejado.
- Para utilizar um token criptográfico, especifique um nome de token criptográfico e um rótulo de certificado separados por dois pontos(mytoken:mylabel). Opcionalmente, especifique /prompt como o primeiro parâmetro para solicitar interativamente pela senha do token ao invés de usar o SSLStashFile.
- Para configurar ambos um certificado baseado em ECDSA e em RSA, especifique dois rótulos de certificados, separados por espaço. O certificado RSA será usado por padrão, mas clientes que suportem TLS1.2 ou maior podem solicitar o certificado ECDSA durante o handshake.
SSLServerCert example.com
SSLServerCert myRSA, myECDSA
SSLServerCert swtoken:cert1
SSLSNIMap
A diretiva SSLSNIMap mapeia nomes de hosts das Indicações de Nome de Servidor (SNI) TLS para rótulos de certificado.
Nome | Descrição |
---|---|
Sintaxe | SSLSNIMap hostname cert-label |
Escopo | Host Virtual |
Padrão | Desativado |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Vários por host virtual |
Valores | Nomes de Host usados pelo cliente e rótulos certificado presentes no KeyFile configurado |
A diretiva SSLSNIMap permite ao servidor a responder com um certificado TLS diferente, baseado no nome do host solicitado pelo cliente. Se hosts virtuais baseados em nome forem utilizados, o SSLSNIMap deve estar presente somente no primeiro host virtual listado para uma combinação de ip:porta (o host virtual padrão para um conjunto de hosts virtuais baseados em nomes).
Diretiva SSLStashfile
A diretiva SSLStashfile indica o caminho para o arquivo com o nome de arquivo contendo a senha criptografada para abrir o dispositivo PKCS11.
Nome | Descrição |
---|---|
Sintaxe | SSLStashFile /usr/HTTPServer/mystashfile.sth |
Escopo | Host virtual ou servidor global. |
Padrão | Nenhuma. |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | Nome de arquivo de um arquivo stash LDAP e/ou PKCS11 criado com o comando sslstash. |
O SSLStashFile não aponta para um arquivo stash para o KeyFile em uso, uma vez que esse é calculado automaticamente com base no nome do KeyFile e é um tipo diferente de stashfile.
Use o comando sslstash, localizado no diretório bin do IBM HTTP Server, para criar seu arquivo stash CRL ou de dispositivo criptográfico. A senha que você especificou usando o comando sslstash deve ser a mesma senha usada para efetuar login no seu servidor LDAP ou hardware de criptografia.
- Não substituir um arquivo *.sth existente quando emitir o comando sslstash.
- Nunca escolher um nome do arquivo para a saída do comando sslstash que corresponde ao nome do arquivo CMS KeyFile (*.kdb).
Uso: sslstash [-c] <directory_to_password_file_and_file_name> <function_name> <password>
- -c: Cria um novo arquivo stash. Se não especificado, um arquivo existente é atualizado.
- Arquivo: Representa o nome completo do arquivo a criar ou atualizar.
- Função: Indica a função para a qual deve ser utilizada a senha. Os valores válidos incluem crl ou crypto.
- Senha: Representa a senha a utilizar com stash.
Utilize a diretiva SSLStashFile, com as diretivas SSLCRLPort, SSLCRLHostname e SSLCRLUserID, para configuração estática de um repositório CRL baseado em LDAP. Só será necessário utilizar essas diretivas para consultar o repositório CRL baseado em LDAP se uma extensão de certificado CRLDistributionPoint X.509v3 explícita estiver ausente ou o servidor especificado na extensão não estiver respondendo (indisponível).
Se uma extensão CRLDistributionPoint estiver presente no certificado e o servidor especificado na extensão estiver respondendo (disponível), o servidor LDAP especificado no CRLDistributionPoint será consultado anonimamente, sem utilizar essas diretivas.
SSLSuiteBMode
A diretiva SSSLSuiteBMode pode ser usada para configurar o host virtual integrado para usar o perfil Suite B para TLS.
O perfil Suite B reduz drasticamente o algoritmo de assinatura disponível e as especificações de código que o servidor usa. O conjunto de algoritmos e cifras aceitáveis está sujeito à mudança ao longo do tempo, conforme os padrões relevantes são alterados. Os argumentos 128 e 192 referem-se aos dois níveis de segurança discutidos no RFC 6460.
A especificação dessa diretiva substitui a maioria das diretivas SSL especificadas anteriormente. A configuração SSLAttributeSet não é substituída por essa diretiva porque possui uma prioridade mais alta. Todos os perfis Suite B requerem que a cadeia de certificados do servidor use assinaturas ECC fortes. O RFC 6460 documenta as restrições do perfil Suite B.
Nome | Descrição |
---|---|
Sintaxe | SSLSuiteBMode |
Escopo | Host Virtual |
Padrão | Não configurado |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma vez por host virtual |
Diretiva SSLTrace
A diretiva SSLTrace permite o log de depuração em mod_ibm_ssl. Ela é utilizada junto com a diretiva LogLevel. Para ativar a criação de log de depuração em mod_ibm_ssl, configure LogLevel para depurar e incluir a diretiva SSLTrace no escopo global no arquivo de configuração do IBM HTTP Server, após a diretiva LoadModule para mod_ibm_ssl. Esta diretiva é geralmente usada na solicitação de suporte IBM ao investigar um problema suspeito com o mod_ibm_ssl. Não é recomendado ativar esta diretiva sob condições de trabalho normais.
Nome | Descrição |
---|---|
Sintaxe | SSLTrace |
Escopo | Global |
Padrão | O log de depuração mod_ibm_ssl não está ativado |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Ignorado |
Valores | Nenhuma |
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
SSLUnknownRevocationStatus
A diretiva SSLUnknownRevocationStatus especifica como o IBM HTTP Server reage quando o IBM HTTP Server não pode determinar prontamente o status da revogação, que está vindo através da CRL ou do OCSP.
Nome | Descrição |
---|---|
Sintaxe | SSLUnknownRevocationStatus ignore | log | log_always | deny |
Escopo | Host Virtual |
Padrão | ignore |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância permitida para cada host virtual |
Valores |
|
%{SSL_UNKNOWNREVOCATION_SUBJECT}e
Também será possível usar a variável nas expressões mod_rewrite
quando a diretiva SSLUnknownRevocationStatus possuir qualquer valor diferente
de deny. Use o nome de variável a seguir:
%{ENV:SSL_UNKNOWNREVOCATION_SUBJECT}
Diretiva SSLV2Timeout
A diretiva SSLV2Timeout define o tempo limite para os IDs de sessão do SSL Versão 2.
Nome | Descrição |
---|---|
Sintaxe | SSLV2Timeout 60 |
Escopo | Base global e host virtual. |
Padrão | 40 |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | 0 a 100 segundos. |
Diretiva SSLV3Timeout
A diretiva SSLV3Timeout configura o tempo limite para os IDs de sessão do SSL Versão 3 e TLS.
Nome | Descrição |
---|---|
Sintaxe | SSLV3Timeout 1000 |
Escopo | Base global e host virtual.
|
Padrão | 120 |
Módulo | mod_ibm_ssl |
Várias instâncias no arquivo de configuração | Uma instância por host virtual e servidor global. |
Valores | 0 a 86400 segundos. |
Diretiva SSLVersion
A diretiva SSLVersion causa a rejeição do acesso ao objeto com uma resposta 403 se o cliente se conectou com uma versão de protocolo SSL diferente da especificada.
Na maioria dos casos, a diretiva SSLProtocolDisable é uma melhor opção do que a diretiva SSLVersion para assegurar o uso de versões de protocolo SSL específicas. A diretiva SSLProtocolDisable permite que o navegador do cliente negocie uma outra versão de protocolo, se possível, enquanto que a diretiva SSLVersion faz com que o IBM HTTP Server envie uma resposta 403, o que pode confundir o usuário.
Nome | Descrição | |
---|---|---|
Sintaxe | SSLVersion ALL | |
Escopo | Um por sub-rotina de diretório. | |
Padrão | Nenhuma. | |
Módulo | mod_ibm_ssl | |
Várias instâncias no arquivo de configuração | Uma instância por sub-rotina <Directory> ou <Location>. | |
Valores | ![]() |
![]() |