¿Cómo está este correo electrónico subvirtiendo los cheques SPF?

13

Ejecuto un servidor de correo que parece manejar correctamente los correos electrónicos con SPF configurado; sin embargo, he comenzado a recibir correos electrónicos falsos que pretenden ser de un banco, con la dirección De establecida como banco, pero que definitivamente no se originan en el banco.

Los encabezados relevantes del correo electrónico son los siguientes:

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

La clave aquí es que kiwibank.co.nz es un banco legítimo y de buena reputación de donde soy, y tengo un registro SPF que dice:

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"

Entonces, después de leer un poco, parece que el Envolope-From es correcto, pero el "From" ha sido falsificado. ¿Hay alguna forma de corregir / mitigar esto sin romper el correo electrónico "general"? Observo que uso Postfix, Spamassassin y policyd (postfix-policyd-spf-perl), y si es realmente tan fácil de evitar, ¿cuál es el objetivo de SPF?

davidgo
fuente

Respuestas:

13

En este caso, probablemente le dijeron a su servidor algo como esto:

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...
.

La conversación SMTP (también conocida como "el sobre") puede tener diferentes de / a encabezados de correo electrónico. ¡SPF no verifica el encabezado, sin embargo, siempre es el encabezado el que realmente se muestra al usuario final! Sí, SMTP es que rota. Sí, SPF está así de roto.

Será mejor que revises DMARC en lugar de solo revisar SPF. DMARC por defecto verifica SPF pero también verifica la alineación del encabezado From con SMTP MAIL FROM (los dominios deben coincidir, ignora la parte del nombre de usuario). Como beneficio adicional, también puede obtener soporte DKIM, que es un apéndice muy útil para SPF.

El DMARC dependería del registro DNS TXT establecido en _dmarc.kiwibank.co.nz. pero actualmente no hay ninguno. Según el estado actual de las reglamentaciones de Internet, significa el propietario de kiwibank.co.nz. no le importa en absoluto estar protegido contra tales parodias. Pero en algunas implementaciones podría aplicar DMARC para todos los correos electrónicos entrantes.

kubanczyk
fuente
SPF no está roto. El correo en sí está roto aquí. Envelope to! = Header to tiene buenas razones. El sobre del dominio cruzado de! = Encabezado de no tiene buenas razones.
joshudson
1
@joshudson sí lo hace. Por ejemplo, si configuro un .forwardarchivo (u otro reenvío de correo electrónico) para reenviarlo desde una de mis cuentas a otra, tiene sentido preservar de quién es el mensaje (del encabezado) y mostrarlo de quién es en el cliente de correo electrónico, etc. Pero cualquier rebote generado por ese reenvío (el remitente del sobre) debe ir a mí, no a la persona que originalmente envió el mensaje. Lo mismo se aplica a las listas de correo.
derobert
1
@derobert Las listas de correo son marginales. Los clientes de correo no advierten a los usuarios sobre una falsificación obvia: es un gran problema y su .forwarduso no puede justificarlo.
kubanczyk
Esto es simplemente increible.
g33kz0r
2

Entonces, después de leer un poco, parece que el Envolope-From es correcto, pero el "From" ha sido falsificado. ¿Hay alguna forma de corregir / mitigar esto sin romper el correo electrónico "general"?

Verificación de la Fromcabecera va a romper listas de correo:

  1. foo @ yourbank envía un correo a cat-picture-sharing-list @ bar.

  2. La lista de correo tomará el correo,

    • reemplace el Envelope-Fromcon algo similar a cat-picture-sharing-list-bounce @ bar,
    • posiblemente modifique el encabezado Reply-To y
    • reenviar el correo a todos los destinatarios (por ejemplo, usted).

Ahora su servidor de correo recibe un correo con

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

enviado desde los servidores de correo del bar.

Observo que uso Postfix, Spamassassin y policyd (postfix-policyd-spf-perl), y si es realmente tan fácil de evitar, ¿cuál es el objetivo de SPF?

  1. Muchos spammers no se molestan en enviar un sobre "correcto".
  2. Su banco no recibirá (la mayor parte) de la retrodifusión para este correo no deseado, ya que los NDR se envían (o: deberían) a la dirección Envelope-From.
  3. La puntuación basada en Envelope-From se vuelve más confiable. Si usted (o algún proveedor de puntuación en el que confíe) asigna a todos los correos con Envelope-From = ... @ yourbank una puntuación de spam altamente negativa, los spammers no pueden abusar de eso.
Heinzi
fuente