Назад | Перейти на главную страницу

Как это письмо подрывает проверки SPF?

Я запускаю почтовый сервер, который, по-видимому, правильно обрабатывает электронные письма с установленным SPF - однако я начал получать поддельные электронные письма, якобы отправленные из банка - с адресом От, установленным в качестве банка, - но которые определенно исходят не из банка.

Соответствующие заголовки электронного письма следующие:

Delivered-To: me@mydomain.name
Received: from mail.mydomain.org (localhost [127.0.0.1])
    by mail.mydomain.org (Postfix) with ESMTP id AD4BB80D87
    for <user@mydomain.com>; 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="apache@www.tchile.com"; 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 <user@mydomain.com>; 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 <user@mydomain.com>; 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: <201610130703.u9D73smu017280@www.tchile.com>
To: user@mydomain.com
Subject: CANCELLATION_PROCESS.
From: KIWI BANK <noreply@kiwibank.co.nz>
Reply-To: 
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=029F3E3270D5187AA69203962BF830E3
X-Virus-Scanned: ClamAV using ClamSMTP

Ключевым моментом здесь является то, что kiwibank.co.nz - это законный банк с хорошей репутацией, откуда я родом, и у него есть запись SPF, которая гласит:

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"

Итак, после некоторого прочтения оказалось, что Envolope-From верен, но «From» был подделан. Есть ли способ исправить / смягчить это, не нарушая "общую" электронную почту? Замечу, что я использую Postfix, Spamassassin и policyd (postfix-policyd-spf-perl) - и если его действительно так легко обойти, в чем смысл SPF?

В этом случае они наверное сказал вашему серверу что-то вроде этого:

EHLO www.tchile.com
MAIL FROM: apache@www.tchile.com 
RCPT TO: user@mydomain.com
DATA
Date: Thu, 13 Oct 2016 04:03:54 -0300
Message-Id: <201610130703.u9D73smu017280@www.tchile.com>
To: user@mydomain.com
Subject: CANCELLATION_PROCESS.
From: KIWI BANK <noreply@kiwibank.co.nz>
Reply-To: 
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=029F3E3270D5187AA69203962BF830E3
X-Virus-Scanned: ClamAV using ClamSMTP

The contents of mail...
.

Разговор SMTP (он же «конверт») может отличаться от заголовков сообщений отправителя и получателя. SPF не проверяет заголовок, однако конечному пользователю всегда отображается заголовок! Да, SMTP есть который сломан. Да, SPF есть который сломан.

Лучше всего будет проверять DMARC, а не только SPF. DMARC по умолчанию проверяет SPF, но также проверяет соответствие заголовка From и SMTP MAIL FROM (домены должны совпадать - он игнорирует часть имени пользователя). В качестве бонуса вы также можете получить поддержку DKIM, которая является очень полезным дополнением к SPF.

DMARC будет зависеть от записи DNS TXT, установленной на _dmarc.kiwibank.co.nz. но в настоящее время его нет. В соответствии с действующим законодательством в отношении Интернета это означает владельца kiwibank.co.nz. совершенно не заботится о защите от таких подделок. Но в некоторых реализациях вы можете принудительно применять DMARC для всех входящих писем.

Итак, после некоторого чтения - оказалось, что Envolope-From верен, но «From» был подделан. Есть ли способ исправить / смягчить это, не нарушая "общую" электронную почту?

Проверка From заголовок воля сломать списки рассылки:

  1. foo @ yourbank отправляет письмо на адрес cat-picture-sharing-list @ bar.

  2. Список рассылки примет почту,

    • заменить Envelope-From с чем-то вроде cat-picture-sharing-list-bounce @ bar,
    • возможно, измените заголовок Reply-To и
    • повторно отправить письмо всем получателям (например, вам).

Теперь ваш почтовый сервер получает почту с

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

отправлено с почтовых серверов бара.

Замечу, что я использую Postfix, Spamassassin и policyd (postfix-policyd-spf-perl) - и если его действительно так легко обойти, в чем смысл SPF?

  1. Многие спамеры не утруждают себя отправкой «правильного» конверта.
  2. Ваш банк не получит (большую часть) обратное рассеяние для этого спама, поскольку отчеты о недоставке отправляются (или: должны быть) отправлены на адрес отправителя конверта.
  3. Оценка на основе Envelope-From становится более надежной. Если вы (или какой-либо провайдер, которому вы доверяете) присваиваете всем письмам с Envelope-From = ... @ yourbank крайне отрицательную оценку спама, спамеры не могут этим злоупотреблять.