Como esse e-mail está subvertendo as verificações de SPF?

13

Eu executo um servidor de e-mail que parece manipular corretamente e-mails com SPF - no entanto, comecei a receber e-mails falsos de um banco - com o endereço De definido como 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

A principal coisa aqui é que kiwibank.co.nz é um banco legítimo e de boa reputação de onde eu sou e tenho 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 que eu possa corrigir / mitigar isso sem quebrar e-mail "geral"? Eu noto que eu uso Postfix, Spamassassin e policyd (postfix-policyd-spf-perl) - e se é realmente tão fácil ignorar, qual é o objetivo do SPF?

    
por davidgo 13.10.2016 / 09:26

2 respostas

13

Nesse caso, eles provavelmente disseram ao seu servidor algo assim:

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ção SMTP (também conhecida como "o envelope") pode ter cabeçalhos de e-mail diferentes De / Para. SPF não verifica o cabeçalho, no entanto, é sempre o cabeçalho que é realmente exibido para o usuário final! Sim, o SMTP é esse quebrado. Sim, o SPF é esse quebrado.

Você será melhor atendido verificando o DMARC em vez de verificar apenas o SPF. O DMARC, por padrão, verifica o SPF, mas também verifica o alinhamento do cabeçalho De com 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 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 de regulamentos da Internet, isso significa que o proprietário do kiwibank.co.nz. não dá a mínima para ser protegido contra essas falsificações. Mas você poderia, em algumas implementações, impor o DMARC para todos os e-mails recebidos.

    
por 13.10.2016 / 09:40
2

So, after some reading - it appears that the Envolope-From is correct, but the "From" has been faked. Is there any way I can correct/mitigate this without breaking "general" email?

A verificação do From header irá quebrar as listas de discussão:

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

  2. A lista de discussão receberá o email

    • substitua o Envelope-From por algo semelhante a cat-picture-sharing-list-bounce @ bar,
    • possivelmente modificar o cabeçalho "Responder para" e
    • reenvie o e-mail para todos os destinatários (por exemplo, você).

Agora seu servidor de e-mail recebe um e-mail com

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

enviado dos servidores de correio da barra.

I note that I use Postfix, Spamassassin and policyd (postfix-policyd-spf-perl) - and if its really so easy to bypass, whats the point of SPF?

  1. Muitos spammers não se incomodam em enviar um envelope "correto".
  2. Seu banco não receberá (na maioria das vezes) o retroespalhamento para esse e-mail de spam, já que os NDRs são (ou: deve ser) enviado para o endereço Envelope-From.
  3. A pontuação baseada em Envelope-From fica mais confiável. Se você (ou algum provedor de pontuação que você confia) atribuir todos os emails com Envelope-From = ... @ yourbank uma pontuação de spam altamente negativa, os spammers não podem abusar disso.
por 13.10.2016 / 17:40

Tags