Desabilitar TLS 1.0 e 1.1 em Apache e Nginx

Todas as versões do SSL /TLS protocolo antes de TLS 1.2 agora estão obsoletos e são considerados inseguros. Muitas plataformas de servidores da web ainda têm TLS 1.0 e TLS 1.1 ativado por padrão. No entanto, todos os navegadores modernos são compatíveis com TLS 1.2. Por esse motivo, é uma boa ideia que os proprietários de sites verifiquem a configuração do servidor para garantir que apenas as versões atuais e seguras de SSL /TLS estão ativados e todos os outros (incluindo TLS 1.0, TLS 1.1 e SSL 3.0) estão desativados.

Este guia inclui instruções para verificar quais versões de SSL /TLS estão ativados em um site, desativando versões obsoletas de SSL /TLS no Apache e Nginx, e mostra exemplos de erros de navegador resultantes de servidores executando apenas versões obsoletas e inseguras de SSL /TLS.

Verifique SSL ativado /TLS versões

Ferramentas on-line

Você pode verificar rapidamente as versões de SSL /TLS seu site oferece suporte visitando CDN77's TLS Verificador e inserindo o nome de domínio que deseja verificar. Como pode ser visto abaixo, https://example.com atualmente desabilita SSL versões 2 e 3, mas habilita todas as versões de TLS (incluindo o obsoleto TLS 1.1 e 1.0):

SSL /TLS versões suportadas por example.com

Nmap

Você também pode verificar o SSL /TLS versões e cifras suportadas por um site com o código aberto nmap ferramenta de linha de comando:

nmap --script ssl-enum-ciphers -p

A porta padrão para SSL /TLS is 443. O comando abaixo irá gerar um relatório para example.com:

$ nmap --script ssl-enum-ciphers -p 443 example.com Iniciando Nmap 7.80 (https://nmap.org) em 2020-08-25 13:10 EDT Relatório de varredura Nmap para example.com (93.184.216.34) O host está ativo (latência de 0.031s). Outros endereços de example.com (não verificado): 2606: 2800: 220: 1: 248: 1893: 25c8: 1946 PORT STATE SERVICE 443 / tcp aberto https | ssl-enum-ciphers: |   TLSv1.0: | cifras: |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | compressores: | NULL | preferência de cifra: servidor |   TLSv1.1: | cifras: |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | compressores: | NULL | preferência de cifra: servidor |   TLSv1.2: | cifras: |       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | compressores: | NULL | preferência de codificação: servidor | _ menos força: Um Nmap feito: 1 endereço IP (1 host ativo) verificado em 3.88 segundos

Configuração do Servidor

apache

Desabilitar TLS 1.0 e 1.1 no Apache, você precisará editar o arquivo de configuração que contém o SSLProtocol diretiva para o seu site. Este arquivo pode estar localizado em locais diferentes dependendo de sua plataforma, versão ou outros detalhes de instalação. Alguns locais possíveis são:

  • /usr/local/apache2/conf/extra/httpd-ssl.conf (instalação padrão do Apache)
  • /etc/apache2/mods-enabled/ssl.conf (Ubuntu / Debian)
  • /private/etc/apache2/extra/httpd-ssl.conf (Mac OS)

Quando você localizar o arquivo de configuração correto, procure por uma linha que começa com SSLProtocol. Este exemplo, de uma instalação padrão do Apache do macOS, desabilita SSLv3 com o - operador, mas permite TLS 1.0 e 1.1:

Protocolo SSL tudo -SSLv3

Você pode desativar todas as versões obsoletas de SSL /TLS suportado pelo Apache, especificando-os da seguinte maneira:

Protocolo SSL tudo -SSLv3 -TLSv1 -TLSv1.1

A configuração acima permite TLS 1.2, bem como TLS 1.3 se estiver disponível em seu ambiente.

Apache e hosts virtuais

O Apache pode executar mais de um site em um único servidor. Estes hosts virtuais pode ser baseado no número IP, porta ou nome de domínio e pode incluir configurações que substituem a configuração básica do Apache. Por este motivo, você deve verificar as configurações de cada host virtual em seus arquivos de configuração, especialmente se suas alterações no SSL / baseTLS configuração não parece estar funcionando.

Para versões do Apache anteriores a 2.4.42 (construído / vinculado ao OpenSSL antes de 1.1.1), não era possível especificar SSL /TLS protocolos para hosts virtuais baseados em nome que compartilham o mesmo número de IP base e porta - o SSLProtocol do primeiro host virtual foi aplicado a todos os outros. Começando com Apache 2.4.42 / OpenSSL 1.1.1, o SSLProtocol de cada host virtual baseado em nome é homenageado quando o Indicação de nome de servidor (SNI) é fornecido pelo cliente durante o SSL /TLS aperto de mão.

Depois de fazer as alterações na configuração, recarregue o Apache para colocá-las em vigor. Para obter mais informações sobre o SSLProtocol diretiva, consulte o Apache documentação.

nginx

SSL /TLS as configurações do protocolo podem ser especificadas no arquivo de configuração Nginx principal (geralmente localizado em /etc/nginx/nginx.conf) ou em seus arquivos de configuração do site. Procure uma linha que começa com ssl_protocols. Por exemplo, o seguinte é do padrão nginx.conf arquivo de uma instalação Nginx nova no Ubuntu:

protocolosssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Descartando SSLv3, ref: POODLE

Você pode editar esta linha para que apenas as versões atuais e seguras de SSL /TLS estão incluídos:

protocolosssl_protocols TLSv1.2 TLSv1.3;

Observe que quaisquer configurações em sua configuração SSL padrão podem ser substituídas por blocos de servidor que configuram nomes de domínio individuais, portanto, certifique-se de verificar se as alterações em suas configurações de protocolo não estão refletidas em seu site.

Depois de fazer as alterações na configuração, recarregue o Nginx para colocá-las em vigor. Para obter mais informações, consulte a documentação do Nginx sobre configurar servidores HTTPS.

TLS Erros do navegador 1.0 e 1.1

Porque TLS as versões 1.0 e 1.1 são atualmente consideradas inseguras, a maioria dos navegadores modernos produzirá uma mensagem de erro se encontrarem um site obsoleto TLS as versões estão habilitadas, mas TLS 1.2 ou 1.3 não é. Exemplos desses erros são mostrados abaixo:

Google Chrome

O teste do Chrome foi feito com o Chrome 84 no Windows 10. As capturas de tela são do Chrome. Observe que a versão atual do Microsoft Edge (com base no Chromium) exibe o mesmo código de erro do Chrome, acompanhado por um texto ligeiramente diferente.

O Google Chrome exibe a seguinte mensagem de erro quando se conecta a um site em execução TLS 1.0 ou 1.1:

Sua conexão não é totalmente segura
Este site usa uma configuração de segurança desatualizada, que pode expor suas informações (por exemplo, senhas, mensagens ou cartões de crédito) quando forem enviadas para este site.
NET::ERR_SSL_OBSOLETE_VERSION

TLS 1.0 mensagem de erro no ChromeClicando no Avançado botão exibirá a seguinte mensagem, além de um link para prosseguir para o site, rotulado inseguro:

A conexão usada para carregar este site usada TLS 1.0 ou TLS 1.1, que estão obsoletos e serão desativados no futuro. Depois de desativado, os usuários serão impedidos de carregar este site. O servidor deve habilitar TLS 1.2 ou posterior.

Informações avançadas sobre TLS 1.0 e 1.1 no Chrome

Mozilla Firefox

O teste do Firefox foi feito com Firefox 79.0 no Windows 10.

O Mozilla Firefox produz a seguinte mensagem de erro quando se conecta a um site em execução TLS 1.0 ou 1.1:

Conexão Segura Falha
Ocorreu um erro durante uma conexão com [URL]. Ponto usando uma versão não suportada do protocolo de segurança.
Erro de código: SSL_ERROR_UNSUPPORTED_VERSION
...
Este site pode não suportar o TLS Protocolo 1.2, que é a versão mínima suportada pelo Firefox. Possibilitando TLS 1.0 e 1.1 podem permitir que essa conexão seja bem-sucedida.
TLS 1.0 e TLS 1.1 será permanentemente desativado em uma versão futura.

Firefox TLS 1.0 e 1.1 mensagem de erro

Clicando no permitir TLS 1.0 e 1.1 O botão pode ajudar a carregar o site, mas não é uma isenção única. Para re-desabilitar TLS 1.0 e 1.1, vá para about:config no Firefox e definir security.tls.version.enable-deprecated para false.

defina security.tls.version.enable-deprecated como falso

apple Safari

O teste do Safari foi feito com o Safari versão 13.1.2 no macOS 10.15.6 (Catalina)

O navegador Safari da Apple carregará sites HTTPS usando TLS 1.0 e 1.1, mas exibirá uma mensagem “Não seguro” na barra de endereços do navegador.

TLS Site 1.0 no Apple Safari

Para maiores informações

Para ler sobre os problemas de segurança associados a versões anteriores do TLS, leia nosso artigo, Descontinuação antecipada TLS para uma Internet mais segura. Para obter mais informações sobre as diferenças importantes entre TLS 1.2 e TLS 1.3, verifique TLS 1.3 veio para ficar.

E, como sempre, se você tiver alguma dúvida, entre em contato conosco pelo e-mail Support@SSL.com, ligar 1-877-SSL-SECUREou apenas clique no link de bate-papo no canto inferior direito desta página. Você também pode encontrar respostas para muitas perguntas de suporte comuns em nosso Base de Conhecimento. Obrigado por visitar SSL.com!

Twitter
Facebook
LinkedIn
Reddit
E-mail

Mantenha-se informado e seguro

SSL.com é líder global em segurança cibernética, PKI e certificados digitais. Inscreva-se para receber as últimas notícias do setor, dicas e anúncios de produtos da SSL.com.

Adoraríamos receber seu feedback

Responda à nossa pesquisa e deixe-nos saber sua opinião sobre sua compra recente.