Product

Descontinuação das versões 1.0 e 1.1 do TLS

Desde o início da Mailgun, fazemos questão de garantir que nossos remetentes enviem seus e-mails com a maior segurança possível, e continuamos a fazer isso agora, à medida que descontinuamos as versões 1.0 e 1.1 do TLS em favor da versão 1.2, que é mais segura. Leia mais...
Imagem para Descontinuação das versões 1.0 e 1.1 do TLS

Desde o início da Mailgun, fazemos questão de garantir que nossos remetentes enviem seus e-mails com a maior segurança possível. Quando nós anunciamos o suporte ao TLS em 2014, fizemos isso pensando no cliente, e continuamos fazendo isso agora, à medida que descontinuamos as versões 1.0 e 1.1 do TLS em favor da versão 1.2, que é mais segura. 

Dito isso, é importante observar que em 8 de março de 2021, a Mailgun não permitirá mais conexões TLS usando as versões desatualizadas 1.0 e 1.1.

Por que descontinuar as versões 1.0 e 1.1 do TLS?

As versões mais antigas do TLS estão repletas de vulnerabilidades de segurança. Como tal, esses protocolos são atualizados ao longo do tempo para corrigir essas vulnerabilidades e manter a segurança dos usuários. O TLS 1.0 foi lançado em 1999 e apresentou muitos problemas com heartbleed, POODLE, CRIME, etc. Dito isso, já faz muito tempo que as empresas deveriam deixar de oferecer suporte às versões 1.0 e 1.1.

Quando se trata de descontinuar o TLS, muitas outras empresas de tecnologia também optaram por aposentar esses protocolos antigos. Em março de 2020, os quatro principais provedores de navegadores de internet encerraram o suporte às versões 1.0 e 1.1 do TLS — o que foi um grande avanço na direção certa para uma melhor segurança. Embora a Mailgun não seja a primeira nem a última empresa a anunciar a descontinuação do suporte às versões 1.0 e 1.1 do TLS, agora é o momento perfeito para verificar e garantir que seu ambiente é compatível com a versão 1.2, para que você não sofra nenhum tempo de inatividade.

Se você já está utilizando o TLS 1.2, ótimo! Fazer esse tipo de atualização de manutenção é imperativo, então se antecipar economiza o seu tempo no futuro. Se você não tem certeza se o seu ambiente é compatível com o TLS 1.2, agora é um excelente momento para verificar. 

É um processo simples, mas nos adiantamos e listamos abaixo como você pode verificar a sua versão do TLS com a Mailgun.

Como verificar se o seu ambiente é compatível com o TLS 1.2

As etapas para verificar o suporte ao TLS 1.2 do seu ambiente são bastante simples. Listamos abaixo os detalhes de como verificar nos sistemas Linux e Windows. Se ele for compatível com a versão 1.2, não há mais etapas a seguir, pois usaremos essa versão por padrão.  Caso o seu ambiente não seja compatível com o TLS 1.2, você terá um trabalho extra pela frente.

Linux

Se você estiver executando o seu aplicativo de envio em um servidor Linux, poderá usar o utilitário nmap para verificar com quais versões do TLS a sua stack é compatível. Na sua máquina local, execute o seguinte comando, substituindo o “api.mailgun.net” pelo seu próprio domínio:

                                

                                    nmap --script ssl-enum-ciphers -p 443 api.mailgun.net
                                
                            

Aqui está um exemplo de saída para o api.mailgun.net:

                                

                                    Starting Nmap 7.70 ( https://nmap.org ) at 2020-09-11 13:39 CDT
Nmap scan report for api.mailgun.net (3.220.71.10)
Host is up (0.047s latency).
Other addresses for api.mailgun.net (not scanned): 34.198.11.146 3.93.126.5 52.87.122.201 52.7.64.51 3.226.21.161 52.7.38.97 34.199.221.7
rDNS record for 3.220.71.10: ec2-3-220-71-10.compute-1.amazonaws.com

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.0:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|   TLSv1.1:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - 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_GCM_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|_  least strength: A

                                
                            

Como você pode ver na saída acima, o api.mailgun.net é compatível com o TLSv1.2, então está tudo pronto. Desde que você obtenha uma saída semelhante mostrando o TLSv1.2, você também estará pronto!

Se você não vir a saída acima, comece atualizando o Apache/Nginx e o OpenSSL e/ou atualizando os seus arquivos de configuração nginx.conf ou Apache para ativar o TLSv1.2.

Windows

Para os usuários do .NET, antes de mais nada, você precisará garantir que seu servidor é compatível com o TLS 1.2.  Se você estiver executando o Server 2008 ou 2012, o suporte ao TLS 1.2 não estava disponível por padrão, então você precisará garantir que tem as respectivas atualizações instaladas para que haja o suporte ao TLS 1.2. Se você estiver executando o Server 2012 R2 ou 2016, o TLS 1.2 já deve estar instalado e ser o padrão. 

Em seguida, recomendamos fortemente que você atualize todos os seus aplicativos para usar o framework .NET 4.6 ou superior, pois eles são compatíveis com o TLS 1.2 e são configurados por padrão. Caso contrário, você pode usar as seguintes soluções alternativas para as versões mais antigas do .NET:

  1. .NET 4.5. O TLS 1.2 é compatível, mas não é um protocolo padrão. O uso do código a seguir fará do TLS 1.2 o padrão. Você precisará executar este código antes de estabelecer uma conexão com qualquer recurso seguro:

System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;

2. .NET 4.0. O TLS 1.2 não é compatível, mas se você tiver o .NET 4.5 (ou superior) instalado no mesmo sistema, ainda poderá optar por usar o TLS 1.2. Como o SecurityProtocolType no .NET 4.0 não tem uma entrada para o TLS1.2, você terá que usar uma representação numérica desse valor de enum:

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

Ou use o seguinte ajuste de registro.

3. .NET 3.5 ou inferior. Certifique-se de ter as seguintes atualizações, bem como as chaves de registro.

Endpoint de teste da Mailgun

Além disso, recentemente adicionamos um endpoint de API de teste que só aceitará solicitações usando a versão 1.2 do TLS (https://api-test.mailgun.net/v3) para permitir que nossos clientes testem sua configuração. Se você fez atualizações e deseja confirmar que está se conectando com sucesso usando o protocolo correto, fazer uma chamada de API para este endpoint confirmará a sua atualização. Caso contrário, as chamadas para esse endpoint falharão se um protocolo mais antigo ainda estiver sendo usado pelo seu aplicativo.

Atenção: este endpoint está configurado apenas para fins de teste, não terá suporte a cargas normais totais de envio e não é específico de uma região. Depois de concluir os testes, você precisará atualizar a sua configuração para o endpoint anterior que você estava utilizando.

À medida que fazemos essas alterações e migrações para versões mais recentes no futuro, lembre-se de que sempre pensamos em você. Com publicações no blog e lembretes por e-mail, nosso objetivo é garantir que nenhum cliente seja pego de surpresa.