TLSv1 não funciona sem habilitar o sslv2

1

Estou usando a versão Apache 2.2.4. Eu já sei que esta versão suporta apenas SSLv2, SSLv3 e TLSv1.0, mas algo estranho acontece quando eu uso:

Quando o SSLv2 está desativado, o navegador da web (no meu caso o Internet Explorer) usa o SSLv3

SSL 3.0, 3DES with 168 bit encryption (High); RSA with 2048 bit exchange.

Quando eu habilito o SSLv2, o navegador usa TLSv1.0:

TLS 1.0, AES with 256 bit encryption (High); RSA with 2048 bit exchange

E, finalmente, quando desabilito os dois protocolos (SSLv2 e v3), a página da Web não é carregada!

Eu usei essa configuração para o Apache:

SSLProtocol all
SSLCipherSuite all

Você poderia, por favor, explicar isso para mim? Como pode usar o TLSv1.0 sem ativar o SSLv2?

    
por user3351747 22.02.2015 / 13:46

1 resposta

1

Esse comportamento é causado pela especificação original do TLS v1 RFC ( RFC 2246, seção "E. Compatibilidade retroativa com SSL ").

Basicamente, este RFC afirma que a maioria dos servidores não usará diferentes portas de escuta para diferentes versões de SSL / TLS. Portanto, para garantir que softwares de compatibilidade com versões anteriores sejam recomendados, primeiro inicie a conexão usando uma mensagem "antiga" de SSL, atualize a conexão para TLS quando ela for suportada em ambos os lados e nunca tente estabelecer uma conexão diretamente usando TLS ("TLS 1.0". os clientes que suportam servidores SSL Versão 2.0 devem enviar mensagens de saudação do cliente SSL Versão 2.0 ").

Versões anteriores do Java (JRE5) costumavam ter esse comportamento, ele foi aprimorado com versões mais recentes que agora lidam diretamente com o handshake TLS. Talvez você deva verificar a versão do navegador e o nível do patch e verificar se esse comportamento persiste depois de desativar o SSLv2 no lado do navegador também.

    
por 22.02.2015 / 15:25

Tags