Como posso saber por que o Chrome não gosta de um handshake SSL remoto?

0

Para um site específico, com o qual realmente precisamos nos comunicar, estamos começando a receber o erro usual de handshake SSL:

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Eu já confirmei, no entanto, que este não é um problema SSLv3. O site é compatível com PCI, portanto, está usando configurações SSL muito atualizadas. openssl relata o seguinte:

SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES128-SHA256

A única alteração que foi feita recentemente é remover algumas cifras de seu conjunto de cifras; Eles especificamente desativaram TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA e TLS_RSA_WITH_AES_128_CBC_SHA no lado do servidor.

O que não consigo descobrir é por que o Chrome está reclamando sobre essa versão de protocolo e pacote de criptografia específicos; parece perfeitamente bem para mim. O site é aberto sem problemas no IE recente (e as informações da página do IE correspondem ao que openssl ios reportar), mas falha no Chrome e no Firefox.

Existe uma maneira de descobrir quais configurações de protocolo / criptografia o Chrome considera que ele obteve do servidor ou por que ele decidiu que elas eram inválidas?

    
por KutuluMike 11.12.2015 / 18:25

1 resposta

1

Is there a way to find out what protocol/cipher settings Chrome thinks it got from the server

O TLS não funciona assim. No TLS, o cliente inicia o handshake e inclui todas as cifras que ele aceita aceitar do servidor. Se o servidor não encontrar nenhuma sobreposição com suas próprias cifras, então, no melhor dos casos, notificará o cliente sobre esse problema específico e, no pior dos casos, simplesmente fechará a conexão.

No seu caso, você recebe ERR_SSL_VERSION_OR_CIPHER_MISMATCH, o que significa que o servidor não suporta nenhuma das cifras oferecidas pelo cliente. Não sei quais cifras foram configuradas no servidor, mas o SSLLabs mostra quais são oferecidas pelo Chrome . E o ECDHE-RSA-AES128-SHA256 (TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) não é um desses.

Ele pode funcionar com outros navegadores porque eles oferecem códigos diferentes ao servidor, ou seja, IE 11 no Windows 10 suporta esta cifra específica enquanto Firefox não suporta isso. Tanto o Chrome quanto o Firefox oferecem TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, que foram removidos do conjunto de cifras do servidor e, portanto, funcionaram antes.

Para corrigir o problema, você deve configurar seu servidor para aceitar o máximo possível de cifras seguras . Veja Configurações recomendadas no Wiki da Mozilla.

    
por 11.12.2015 / 19:01