A aplicação da criptografia para SMTP é uma boa idéia (ainda)?

36

Estou executando um servidor de email que está configurado para usar o TLS, se possível, ao enviar e receber emails.

Quando você lê a documentação sobre isso, também há a opção de aplicar o TLS e não aceitar a transmissão de e-mails em texto sem formatação. Ele também avisa que alguns servidores de correio ainda podem não oferecer suporte à criptografia e a imposição da criptografia pode bloquear esses servidores.

Mas isso ainda é um problema em que se deve pensar ou é seguro dizer que impor a criptografia não será mais um problema?

Existe algum grande fornecedor que já esteja fazendo isso ou o que você considera a melhor prática atualmente?

comfreak
fonte

Respostas:

34

O problema prático é que nem todos os servidores compatíveis com SMTP (a RFC é bastante antiga) podem falar TLS com o servidor, portanto, você pode deixar de receber algumas mensagens de email.

O problema filosófico disso é que é impossível dizer como o email é retransmitido depois (ou antes) do seu servidor.

Isso significa que o email já pode ter sido transmitido em texto sem formatação por meio de uma retransmissão.

Qualquer pessoa séria sobre a proteção do conteúdo de seus emails deve realmente criptografar o corpo. Com a criptografia em rota, é sempre plausível já ter sido transmitida em texto sem formatação.

Portanto, para responder à sua pergunta, aplicar a criptografia na camada SMTP provavelmente não faz sentido, aumenta a chance de perda de e-mails e não há recompensa garantida.

Editar: refere-se à imposição de SMTP para fins de retransmissão, não envio de email. Nos envios de email, a criptografia deve ser aplicada, pois a conversa SMTP (não o email real) possivelmente contém credenciais de autenticação.

Matthew Ife
fonte
7
Eu não acho que essa seja a melhor resposta. Chega à conclusão final correta, mas pelas razões erradas. É "deixar o perfeito ser o inimigo do bom" tipo de raciocínio. Acho que a melhor resposta é que, se você precisar de criptografia, impedirá a entrada de alguns emails legítimos (porque alguns servidores SMTP não podem criptografar). Se não fosse por esse fator, aplicar a criptografia seria benéfico, mesmo que por todos os motivos listados, não seja perfeito - seria melhor que nada, mesmo que não seja perfeito.
DW
Costumo discordar da perfeição pela mera adição de subperfeições; ainda enviei uma edição da resposta para enfatizar a possível incompatibilidade técnica de servidores compatíveis com o RFC, mas sem suporte ao TLS.
Alex Mazzariol
Obrigado pela sua resposta! No começo, não pensei no que acontece depois que meu servidor enviou o e-mail para o próximo servidor ou, como você disse, onde a mensagem "já estava" antes de chegar a mim. É claro que não faz sentido impor a criptografia, se o lado receptor a enviar em texto simples (talvez para um subservidor da mesma empresa, mas ainda pela Internet).
comfreak
Escolhi esta resposta como a aceita, pois deixa claro o melhor que a imposição da criptografia no meu servidor não garantirá uma transferência segura / criptografada da mensagem do remetente para o destinatário, mas apenas do meu servidor para o próximo.
comfreak
Acho que essa resposta é boa, mas não menciona que a criptografia ainda é desejada, considerando que apenas em um número limitado de casos alguém se esforçará bastante para interceptar a mensagem de texto não criptografado do remetente para enganá-lo. Se você está se escondendo da CIA / NSA, com certeza isso pode não ajudá-lo. Mas o que seria melhor: impor a criptografia para que ninguém com interesse explícito leia / intercepte a mensagem do remetente e oculte-a até que um terceiro decida tentar bisbilhotar você ou ter todas as suas mensagens armazenadas nos servidores da NSA para que um dia, eles podem não só começar ...
momomo
20

Não

A RFC 821 tem 33 anos. Você vai encontrar e-mails retransmitidas por programas notsupporting STARTTLS. Às vezes, eles são remetentes de e-mail stub (por exemplo, scripts internos), às vezes sistemas completos antigos, TLS desativado / não compilado, sistemas sem entropia suficiente…

Testemunhei há pouco tempo os e-mails enviados falharem porque o terminal de recebimento o configurou para permitir apenas SMTP por TLS. Foi um problema no remetente (não deveria estar usando essa configuração), mas mostra que isso acontece.

Eu restringiria apenas as mensagens recebidas dos endereços IP configurados manualmente. Se o processador do seu cartão de crédito falhar ao iniciar o STARTTLS, você provavelmente prefere abortar a conexão (e paginar o administrador local para que ele possa avisá-los!) Estimulado do que receber esses dados (potencialmente sensíveis) não criptografados. Para mensagens de saída, se você se conectou a esse host usando o STARTTLS anteriormente, convém não fazer isso de maneira insegura novamente, tratando-o como um possível comprometimento. Você também pode ter uma lista de hosts STARTTLS conhecidos por sempre usar, como o gmail ou o yahoo.

Existe o projeto https://www.eff.org/starttls-everywhere , que fornece uma lista de servidores smtp para os quais você pode (deve?) Impor com segurança o uso de starttls.

Anjo
fonte
3
Obrigado pela resposta e por postar esse link! Essa parece ser uma boa abordagem para solucionar o problema de um ataque do tipo homem do meio que desclassifica a conexão a uma conversa não criptografada.
Comfreak #
11

É completamente inútil, e provavelmente prejudicial, recusar email de colegas incapazes de criptografia.

Desde que seu servidor esteja configurado para realizar criptografia oportunista com qualquer parceiro que o ofereça, você obtém o melhor dos dois mundos: criptografia quando disponível e e-mail por texto sem formatação.

Desde que haja servidores que não suportem criptografia, obrigá-lo simplesmente significa que eles não podem falar com você; isso é ruim. Uma vez que todos suportam, não há diferença entre criptografia oportunista e obrigatória.

E, como outros já apontaram, a criptografia on-the-wire e de ponta a ponta são duas coisas completamente diferentes, abordando diferentes modelos de ameaças. Não confunda os dois.

MadHatter apoia Monica
fonte
Eu argumentaria que o melhor dos dois mundos também permitiria ver a diferença, semelhante ao "bloqueio" de uma página SSL na Web, para que você saiba quais e-mails * teriam sido bloqueados se você tivesse forçado o TLS
user2813274
@ user2813274 Eu concordo, e faz. Verifique seus cabeçalhos; eles mostrarão se uma determinada etapa da cadeia de transmissão foi executada com ou sem criptografia.
MadHatter suporta Monica
@ MadHatter, a menos que esses cabeçalhos tenham sido totalmente forjados pelo salto antes do seu.
thrig
8
Não é uma diferença entre criptografia oportunista e obrigatório. Geralmente, é possível que um MITM ativo interrompa a criptografia oportunista, fazendo com que os pontos de extremidade retornem a nenhuma criptografia, que pode ser monitorada. Com a criptografia obrigatória, a conexão seria interrompida, causando uma negação de serviço, mas não uma violação de privacidade.
Cjm 18/10
4
@cjm, portanto, meu ponto de vista sobre modelos de ameaças. Se você está tentando se defender seriamente dos ataques MITM, apenas a criptografia de ponta a ponta pode ajudar. Depender apenas da criptografia SMTP não faz sentido; um MITM sofisticado simplesmente se disfarçará como seu servidor e, em seguida, retransmitirá o e-mail para você depois de lê-lo. Claro, seu servidor pode ter um certificado assinado corretamente (o que é surpreendentemente raro), mas você não pode controlar se o sistema que está enviando para você exige isso ; portanto, um ataque MITM como esse será bem-sucedido, apesar dos requisitos que você coloca em uma conexão criptografada .
MadHatter apoia Monica
10

Este é um assunto de política.

Geralmente, quando o TLS é imposto para entrada e saída, isso é feito para um conjunto limitado de domínios que são acordados pelas partes para atender a uma necessidade (por exemplo, parceiros de negócios podem ter um acordo para criptografar todas as mensagens entre suas empresas).

A menos que tal contrato esteja em vigor, não ative o modo de imposição.

MikeyB
fonte
2

Não, é uma péssima ideia.

De fato, como se vê, a maioria dos servidores / clientes STARTTLS não implementa nenhum tipo de algoritmo de nova tentativa sem o StartTLS, caso uma conexão TLS falhe na negociação.

Como tal, mesmo a publicidade do STARTTLS como opção já reduz suas chances de receber (e enviar) emails!

Basta pesquisar e você encontrará muitas pessoas que não conseguem enviar QUALQUER email para domínios do Microsoft Outlook manipulados pelo cluster * .protection.outlook.com:

Mensagens do Sendmail rejeitadas pela Microsoft ao usar TLS

motivo: falha no handshake 403 4.7.0 TLS

Para resumir os problemas apresentados nas duas postagens acima:

  • pode enviar emails para qualquer host que não seja tratado pelo Outlook, com ou sem STARTTLS,
  • pode enviar e-mail sem um certificado de cliente e sem o STARTTLS para o Outlook,
  • ou com um certificado de cliente de tamanho zero,
  • mas não com um certificado que a Microsoft não goste e, em caso de falha, os clientes (bem, servidores atuando no modo cliente) não tentam reenviar a mensagem sem STARTTLS se o servidor do destinatário anunciar STARTTLS!

Da mesma forma, quando seu host atua como servidor, uma situação semelhante pode ocorrer fora do seu controle se você decidir ativar o STARTTLS - quando um servidor cliente vê que seu servidor no modo servidor oferece STARTTLS, eles tentam negociar o TLS, mas se a negociação falhar , eles simplesmente esperam e repetem as mesmas etapas novamente, continuam falhando até que a mensagem seja devolvida ao remetente!

E isso acontece com bastante frequência com vários domínios na terra do STARTTLS!

Infelizmente, por mais que eu fosse um defensor do STARTTLS no passado, agora estou muito desprovido de liberdade por ter sido enganado pelo anúncio sem risco do que eu pensava ser criptografia oportunista.

Não apenas você não deve precisar do STARTTLS, mas também pode ser prudente desativá-lo completamente, se desejar garantir a interoperabilidade.

cnst
fonte
2

Eu tenho que concordar com a idéia de usar TLS oportunista. Embora eu tenha alguns a acrescentar à ideia também. Alguns provavelmente ficarão perturbados com as sugestões, no entanto, como minhas sugestões aqui não são feitas de ânimo leve e sem a devida consideração, antes de julgar, peço que leia a discussão completa no link em anexo.

Usar TLS oportunista é de longe a melhor solução. O ângulo do MITM como argumento contra ele é um arenque vermelho. Afinal, como o MH mencionou em um comentário, mesmo um SMTP "legítimo" com conexão TLS pode ser MITM e o usuário final não ser mais sábio, porque a grande maioria dos clientes de email não se preocupa em validar certificados juntamente com a grande maioria. dos MTAs que usam TLS estão usando certificados autoassinados (pelo menos se você não usa DNSSEC e TLSA / DANE.) Como resultado desse e de outros fatores, é possível argumentar que até você e o resto do mundo implementou o DANE / TLSA e o DNSSEC, que, ao executar o TLS oportunista, é melhor não ter também diffie-hellman anônimo (ao usar o PFS) também. Devido, pelo menos em parte, se não principalmente, ao fato de ainda criptografar o tráfego que protege contra o observador casual. Para dar suporte a essa configuração (com uma explicação muito mais elaborada que a minha), consulte os comentários de Viktor Dukhovni neste post em um fórum postfix:http://postfix.1071664.n5.nabble.com/Disabling-Anonymous-Diffie-Hellman-td67965.html

Quanto ao motivo pelo qual alguém pode aceitar as sugestões de Viktor sobre as demais, ele escreveu o código TLS e o código DNSSEC, TLSA / DANE para o Postfix MTA, além de ter sido quem escreveu os rascunhos da IETF nos dois DNSSEC e TLSA / DANE. Como tal, eu diria que suas palavras sobre o assunto têm muito peso, provavelmente mais do que as da maioria.

Espero que isto ajude.

Mce128
fonte
0

Da perspectiva do marketing por email, o uso do TLS é uma boa prática e segura quando você sabe que ele é implementado em toda a cadeia de entrega. No entanto, se a segurança é seu principal requisito, criptografar o próprio email antes de enviá-lo é a opção mais segura (por exemplo, com PGP).

ERM
fonte