Configurando o Tomcat 7 para usar somente TLS

2

Eu tenho um servidor Tomcat 7 no Ubuntu 14.04 (Java OpenJDK 1.7), que vem funcionando bem há mais de um ano, sem problemas. Há alguns meses deixou de ser acessível com o Chrome, lidei com isso mudando para o Firefox para acessar esse site em particular. Recentemente (alguns dias) deixou de ser acessível com o Firefox.

Consultei esta questão , que é basicamente o mesmo problema que estou tendo, mas essa solução não funciona mais por algum motivo. A partir de ontem, tanto o Chrome 41 quanto o Firefox 37 não estão exibindo meu site. No Chrome, recebo esta resposta:

A secure connection cannot be established because this site uses an unsupported protocol.
Error code: ERR_SSL_VERSION_OR_CIPHER_MISMATCH

No Firefox eu recebo isso:

Cannot communicate securely with peer: no common encryption algorithm(s). (Error code: ssl_error_no_cypher_overlap) 

Eu tentei todas as combinações de protocolos que o respostas e referências recomendam para o Tomcat 7, mas sem dados. Parece que os fabricantes de navegadores reduziram a segurança o suficiente para que esses parâmetros não funcionem mais:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslEnabledProtocols = "TLSv1,TLSv1.1,TLSv1.2"  />

Eu tenho experimentado com diferentes combinações de parâmetros durante todo o dia e sem sorte. Eu também consegui replicar o problema em duas instalações diferentes do Tomcat (a segunda no Windows), então tenho certeza que não é um problema de máquina.

Antes de eu desistir e instalar o Java 8 e o Tomcat 8, o que acabará com o resto do meu final de semana, pensei em perguntar sobre possíveis soluções aqui.

    
por user3120173 05.04.2015 / 05:16

2 respostas

5

Para depurar a situação, você pode usar as ferramentas de linha de comando do openssl, especialmente openssl s_client . Adicionando as opções -tls1 , -tls1_1 e -tls1_2 você pode testar a compatibilidade para os protocolos e com -cipher [cipherlist] para cifras. Por exemplo

openssl s_client -connect example.com:443 -tls1

Você receberá informações detalhadas e possivelmente avisos sobre a conexão, o certificado e os recursos (como Renegociação, Compressão, etc.). Isso ajudará a depurar o problema.

    
por 05.04.2015 / 21:23
0

para ativar o Tls no tomcat, inclua este parâmetro sslEnabledProtocols="TLSv1.X" na seção Connector do arquivo server.xml do tomcat na pasta tomcat / conf /. por exemplo: para configurar o TLSv1.1, siga a configuração abaixo.

    <Connector port="8443" 
 protocol="org.apache.coyote.http11.Http11Protocol"
 maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
 keystoreFile="ssl/.keystore" keystorePass="changeit"
 clientAuth="false" sslProtocol="SSL" sslEnabledProtocols="TLSv1.1" />

reinicie o servidor

    
por 11.10.2018 / 11:32

Tags