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):
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 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
Clicando 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.
Mozilla Firefox
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.
apple Safari
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.
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!
SSL.com oferece uma grande variedade de SSL /TLS certificados de servidor para sites HTTPS, incluindo: