Sobre as impressões digitais TLS da Smarthost

2

Como as impressões digitais smarthost são determinadas? Eles dependem apenas do smarthost ou do cliente também?

Configurei minha impressão digital smarthost do Gmail um tempo atrás no meu antigo Ubuntu, e funcionou bem. No entanto, ao configurá-lo novamente no meu novo Ubuntu 18.04, descobri que a configuração antiga não funciona mais.

Porque eu não usei meu smarthost do Gmail, mas meu ISP, então não sei quando ele quebra. Então, agora, minha pergunta é: será que o break foi porque o gmail mudou sua impressão digital inteligente (muito improvável) ou as impressões digitais do smarthost são diferentes entre todas as máquinas? Ou seja, não posso copiar cegamente o que está funcionando, mesmo para o novo sistema operacional na mesma máquina, certo?

Além disso, testei a maneira anterior de obter impressões digitais smarthost , como no artigo, mas não está funcionando para mim agora. Qual é a maneira correta de obter impressões digitais inteligentes?

Thx.

    
por xpt 20.05.2018 / 15:32

1 resposta

4

Não existe uma impressão digital "smarthost". Estas são impressões digitais de certificados TLS, que por acaso pertencem a servidores de retransmissão SMTP (smarthosts) neste contexto - mas tudo aqui se aplica igualmente a IMAPS, HTTPS, FTPS ... qualquer coisa que use TLS.

Impressões digitais de certificados TLS geralmente não dependem do cliente: elas são um hash SHA1 (ou SHA256) do certificado do servidor, e os servidores geralmente usam o mesmo certificado para todos.

Mas uma exceção pode ser servidores atrás de um balanceador de carga: sites grandes podem ter vários servidores atrás de um único nome e, embora possam compartilhar um certificado, isso não é garantido - eles poderiam usar facilmente 20 ou 50 certificados de uma só vez também.

E mesmo para o mesmo servidor, é muito provável que a impressão digital mudará - será diferente toda vez que o certificado for renovado (porque as datas de validade alteração) ou reemitidos por qualquer outro motivo (nova chave privada ou novo emissor ou novo nome de domínio ...)

Enquanto os certificados costumavam ser emitidos por 3 a 5 anos no passado (e instalados manualmente), a nova prática é automatizar o processo e usar de curta duração , normalmente 90 ou mesmo 45 dias. O Google faz isso desde aprox. 2014, e é assim que vamos criptografar funciona desde o primeiro dia. (De acordo com as regras do CA / B Forum, até mesmo os certificados TLS de longa duração "padrão" agora são limitados a 2 anos.)

Portanto, a única vez em que a opção tls_fingerprint é útil é quando você sabe exatamente quando o certificado deve ser alterado (por exemplo, se você é a pessoa que está alterando). Caso contrário, ele continuará quebrando sua configuração a cada mês ou dois.

Na prática, pelo menos as distribuições Linux são razoavelmente rápidas em atualizar seus pacotes de certificados de CA. (Quer dizer, se eles não , você tem certeza de que deseja rodar esse SO no seu computador?)

Então, eu diria que o artigo está tentando assustar seus leitores com os problemas errados. Uma preocupação muito maior é que os pacotes de certificados de CA geralmente incluem algumas CAs com controle governamental e obscuras de vários países.

Alternativa 1: Se desejar, você pode criar um personalizado tls_trust_file contendo apenas a única CA usada pelo provedor: por exemplo, diga ao msmtp para confiar apenas no DigiCert e nada mais. Este é um método comum, chamado "CA pinning". Mas ainda tem alguma chance de quebra, já que os administradores do servidor são livres para escolher com quais CAs eles farão negócios.

Alternativa 2: Alguns programas suportam um tipo de impressão digital diferente - impressões digitais SPKI (hashes de subjectPublicKeyInfo). Estes representam apenas o par de chaves brutos e não incluem metadados de certificado adicionais. Um servidor poderia renovar periodicamente o seu certificado, mantendo o mesmo par de chaves e, portanto, a mesma impressão digital do SPKI.

(No entanto, mesmo que o seu cliente suporte impressões digitais SPKI (o msmtp não), ele só terá uma vantagem se você souber que os administradores do servidor renovam seus certificados dessa maneira. Na maioria das vezes, eles não o fazem.)

    
por 20.05.2018 / 15:49