Я столкнулся с проблемой проверки поля сообщения «От:» в сообщениях электронной почты с точки зрения спуфинга электронной почты. В настоящее время я использую SPF и DKIM для проверки происхождения и целостности сообщений, но, насколько я могу понять, SPF проверяет только заголовок «Return-Path», который никоим образом не отображается для конечного пользователя (через roundcube или thunderbird), а DKIM позволяет только цифровую подпись сообщения и уверенность в том, что отправитель действительно тот, кем он себя называет. Я также пытался покопаться в DMARC, но этот, по-видимому, позволяет только принудительно обрабатывать неподписанные письма, исходящие из нашего домена, как спам (что хорошо), но в настоящее время используется только крупными почтовыми провайдерами (Gmail, Yahoo)
Ни один из них не защитит себя от ситуации, когда кто-то (например, владелец какого-то бесплатного виртуального хостинга) решит запустить этот простой скрипт PHP.
<?php
$headers = "From: someone@serverfault.com".PHP_EOL."Reply-To: someone@serverfault.com".PHP_EOL."Content-type:
text/plain; charset=iso-8859-2";
if(mail('yourmail@gmail.com', 'Hello', 'Test spam function', $headers))
{
echo 'Message sent';
}
В gmail вы, по крайней мере, видите заголовок (а не предупреждение), в котором написано «something@serverfault.com via», но если вы используете для ex. Thunderbird для подключения через IMAP / POP3 вы не видите ничего подобного - единственный способ обнаружить мошенничество - это напрямую просмотреть необработанные заголовки сообщений. Это означает, что от такого простого спуфинга нет защиты даже в Gmail.
ИМО этого можно было бы легко избежать, если бы, например, SFP проверил бы также поле «From:» в дополнение к «Return-path».
Поэтому мне интересно, есть ли какой-нибудь плагин для Postfix / Amavisd, который позволял бы такую фильтрацию спуфинга? Или, может быть, я неправильно понимаю некоторые из этих технологий (SPF / DKIM / DMARC), и одна из них может защитить от такого спуфинга?
Могут быть вполне законные причины, по которым From: -header не соответствует Return-Path: -header. Одним из примеров являются списки рассылки - обратный путь должен быть к серверу списков (который будет управлять возвратами, вплоть до возможного удаления плохих адресов из списка), в то время как заголовок From: должен быть от человека, фактически отправляющего почту. Поэтому вы, вероятно, не захотите отбрасывать все письма, в которых два заголовка не совпадают.
Отвечая на ваши вопросы о плагине, я бы порекомендовал SpamAssassin, который можно комбинировать с Postfix / Amavisd. Он будет выполнять ряд тестов и сложите результаты тестов, чтобы определить, является ли электронное письмо спамом.