Como esse email está subvertendo as verificações do SPF?

13

Eu corro um servidor de e-mail que parece lidar corretamente com e-mails com o conjunto SPF - no entanto, comecei a receber e-mails falsos que pareciam ser de um banco - com o endereço De definido como o banco - mas que definitivamente não são originários do banco.

Os cabeçalhos relevantes do email são os seguintes:

Delivered-To: [email protected]
Received: from mail.mydomain.org (localhost [127.0.0.1])
    by mail.mydomain.org (Postfix) with ESMTP id AD4BB80D87
    for <[email protected]>; Thu, 13 Oct 2016 20:04:01 +1300 (NZDT)
Received-SPF: none (www.tchile.com: No applicable sender policy available) receiver=mydomain.org; identity=mailfrom; envelope-from="[email protected]"; helo=www.tchile.com; client-ip=200.6.122.202
Received: from www.tchile.com (www.tchile.com [200.6.122.202])
    (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
    (No client certificate requested)
    by mail.mydomain.org (Postfix) with ESMTPS id 40F6080B9F
    for <[email protected]>; Thu, 13 Oct 2016 20:03:57 +1300 (NZDT)
Received: from www.tchile.com (localhost.localdomain [127.0.0.1])
    by www.tchile.com (8.13.1/8.13.1) with ESMTP id u9D73sOG017283
    for <[email protected]>; Thu, 13 Oct 2016 04:03:55 -0300
Received: (from apache@localhost)
    by www.tchile.com (8.13.1/8.13.1/Submit) id u9D73smu017280;
    Thu, 13 Oct 2016 04:03:54 -0300
Date: Thu, 13 Oct 2016 04:03:54 -0300
Message-Id: <[email protected]>
To: [email protected]
Subject: CANCELLATION_PROCESS.
From: KIWI BANK <[email protected]>
Reply-To: 
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=029F3E3270D5187AA69203962BF830E3
X-Virus-Scanned: ClamAV using ClamSMTP

O principal aqui é que o kiwibank.co.nz é um banco legítimo e respeitável de onde eu sou e que possui um registro SPF que diz:

kiwibank.co.nz.     13594   IN  TXT "v=spf1 include:_spf.jadeworld.com ip4:202.174.115.25 ip4:202.126.81.240 ip4:202.12.250.165 ip4:202.12.254.165 ip4:66.231.88.80 include:spf.smtp2go.com include:spf.protection.outlook.com -all"

Então, depois de algumas leituras - parece que o Envolope-From está correto, mas o "From" foi falsificado. Existe alguma maneira de corrigir / atenuar isso sem quebrar o email "geral"? Observo que uso Postfix, Spamassassin e policyd (postfix-policyd-spf-perl) - e se é realmente tão fácil de ignorar, qual é o objetivo do SPF?

davidgo
fonte

Respostas:

13

Nesse caso, eles provavelmente disseram ao seu servidor algo como isto:

EHLO www.tchile.com
MAIL FROM: [email protected] 
RCPT TO: [email protected]
DATA
Date: Thu, 13 Oct 2016 04:03:54 -0300
Message-Id: <[email protected]>
To: [email protected]
Subject: CANCELLATION_PROCESS.
From: KIWI BANK <[email protected]>
Reply-To: 
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=029F3E3270D5187AA69203962BF830E3
X-Virus-Scanned: ClamAV using ClamSMTP

The contents of mail...
.

A conversa SMTP (também conhecida como "o envelope") pode ter cabeçalhos de / para diferentes dos cabeçalhos de email. O SPF não verifica o cabeçalho, no entanto, é sempre o cabeçalho que é realmente exibido ao usuário final! Sim, SMTP é que quebrado. Sim, SPF é que quebrado.

Você será atendido melhor verificando o DMARC em vez de apenas o SPF. Por padrão, o DMARC verifica o SPF, mas também o alinhamento do cabeçalho From com o SMTP MAIL FROM (os domínios precisam corresponder - ele ignora a parte do nome de usuário). Como bônus, você também pode obter suporte ao DKIM, que é um adendo muito útil ao SPF.

O DMARC dependeria do registro TXT do DNS definido em _dmarc.kiwibank.co.nz. mas atualmente não há nenhum. Por estado atual dos regulamentos da Internet que significa o proprietário do kiwibank.co.nz. não se importa em ser protegido contra essas paródias. Mas em algumas implementações você pode aplicar o DMARC a todos os emails recebidos.

kubanczyk
fonte
O SPF não está quebrado. O correio em si está quebrado aqui. Envelope para! = Cabeçalho para tem boas razões. O envelope entre domínios do cabeçalho! = Do não possui boas razões.
21416 joshudson #
1
@joshudson sim, sim. Por exemplo, se eu configurar um .forwardarquivo (ou outro encaminhamento de email) para encaminhar de uma das minhas contas para outra, faz sentido preservar de quem é a mensagem (do cabeçalho Do) e exibi-la como de quem é. cliente de email etc. Mas quaisquer devoluções geradas por esse encaminhamento (o remetente do envelope) devem ser enviadas para mim, não para a pessoa que originalmente enviou a mensagem. O mesmo se aplica às listas de discussão.
Derobert 17/10/16
1
As listas de discussão @derobert são uma franja. Os clientes de correio não alertam os usuários sobre uma farsa óbvia - é um problema enorme e nenhum .forwarduso pode justificá-lo.
Kubanczyk 18/10/16
Isso é simplesmente incrível.
G33kz0r
2

Então, depois de algumas leituras - parece que o Envolope-From está correto, mas o "From" foi falsificado. Existe alguma maneira de corrigir / atenuar isso sem quebrar o email "geral"?

Verificando o Fromcabeçalho vai quebrar listas:

  1. foo @ yourbank envia um email para cat-picture-sharing-list @ bar.

  2. A lista de discussão receberá o correio,

    • substitua Envelope-Frompor algo parecido com cat-picture-sharing-list-bounce @ bar,
    • possivelmente modificar o cabeçalho de resposta e
    • reenvie o e-mail para todos os destinatários (por exemplo, você).

Agora seu servidor de email recebe um email com

Envelope-From: cat-picture-sharing-list-bounce@bar
From: foo@yourBank

enviado dos servidores de correio do bar.

Observo que uso Postfix, Spamassassin e policyd (postfix-policyd-spf-perl) - e se é realmente tão fácil de ignorar, qual é o objetivo do SPF?

  1. Muitos spammers não se preocupam em enviar um envelope-correto "correto".
  2. Seu banco não receberá (a maior parte) a retroespalhamento desse e-mail de spam, pois as notificações de falha na entrega são (ou devem ser) enviadas para o endereço de envelope.
  3. A pontuação baseada no Envelope-De fica mais confiável. Se você (ou algum provedor de pontuação em que você confia) atribuir a todos os e-mails com Envelope-De = ... @ yourbank uma pontuação de spam altamente negativa, os spammers não poderão abusar disso.
Heinzi
fonte