Mudança da nossa CA para Let's Encrypt (e possíveis falhas)
Estamos escrevendo para tratar de um problema recente, que surgiu em consequência da troca dos nossos
certificados SSL da GoDaddy para a Let's Encrypt. Um pequeno número de clientes relatou ter recebido
um erro CERT_HAS_EXPIRED ao executar Assemblies a partir de sistemas mais antigos. Essa
mensagem de erro indica que o sistema do cliente considera expirado o certificado SSL do nosso
servidor, o que impede a conexão.
Diante desses problemas, queremos apresentar um breve post-mortem do que ocorreu, por que aconteceu e quais medidas estamos tomando para evitar incidentes desse tipo no futuro.
-
O que aconteceu
Em 3 de julho, migramos nossos certificados SSL da GoDaddy para a Let's Encrypt. Em 4 de julho, dois clientes começaram a relatar um erro
CERT_HAS_EXPIREDao criar Assemblies. -
Causa raiz
Após investigar, percebemos que esse problema está relacionado a uma situação conhecida de descontinuação da Let's Encrypt em setembro de 2021 (consulte o aviso de expiração do DST Root CA X3 para mais informações). Em resumo, alguns sistemas não atualizaram seu repositório de confiança (um conjunto armazenado de certificados confiáveis) para incluir o novo certificado raiz da Let's Encrypt e continuam dependendo de um certificado raiz expirado. Essa situação pode ocorrer principalmente em sistemas de produção mais antigos ou atualizados com menos frequência. Nos dois casos relatados, o problema envolvia contêineres Docker que não eram atualizados havia algum tempo (por exemplo:
php:7.0-apache). Normalmente, serão contêineres, porque, se o sistema operacional do host não tivesse sido atualizado, ele teria tido problemas para se conectar a qualquer servidor que use Let's Encrypt, e os administradores provavelmente já teriam percebido isso antes. É com contêineres Docker criados especificamente apenas para se conectar à Transloadit, e que não são atualizados há vários anos, que você pode ter problemas agora. -
Por que não percebemos
Durante o processo de migração e testes, deixamos de considerar o possível impacto em sistemas mais antigos que ainda dependem do DST Root CA X3, que foi descontinuado. Lamentamos profundamente esse descuido.
-
Próximos passos
- Comunicação: no futuro, nos comprometemos a informar você com bastante antecedência sobre qualquer mudança que possa afetar seu serviço, dando a oportunidade de se preparar e fazer os ajustes necessários.
- Testes mais completos: vamos ampliar nossos processos de teste para considerar a maior variedade possível de situações de usuários, incluindo sistemas desatualizados.
- Suporte: continuaremos oferecendo suporte e soluções para quem foi afetado por essa mudança, orientando você no processo de atualização dos seus repositórios de confiança, se necessário.
Recomendamos que as pessoas afetadas atualizem o repositório de confiança do seu sistema para incluir o novo certificado raiz da Let's Encrypt, o que normalmente pode ser feito atualizando o sistema operacional (do contêiner) ou os pacotes de software relevantes. Entendemos que essa pode não ser uma solução adequada para todos os clientes, e estamos aqui para oferecer orientação e ajuda. Se você foi afetado, entre em contato com o suporte.
Na Transloadit, nos importamos muito em não quebrar a compatibilidade com versões anteriores e normalmente oferecemos avisos e caminhos de atualização tranquilos em todas as frentes. Neste caso, eu, como fundador, supervisionei pessoalmente o QA e a implantação gradual e considerei a mudança segura. Eu estava errado e peço desculpas por isso e pelos transtornos causados.
Continuaremos trabalhando incansavelmente para garantir um serviço seguro e confiável para todos os nossos clientes.
