оброе время суток.Проблема моя древняя как почтовая система в целом.
Есть сервер FreeBSD 9.1 и Postfix 2.9.5,1 на нём. Наш домен DOMAIN.RU.
Пришло письмо с "левого" домена EVIL.NET, сервер представился и передал письмо. Тут надо заметить что отправитель в конверте указан верный envelope-from="user@EVIL.NET", без обмана, поэтому почтовому серверу придраться не к чему, сервер представился EVIL.NET и юзер из этого домена. Идём дальше. А вот тут интересно в теле письма в поле FROM указан якобы шаш юзер (ivanov@DOMAIN.RU) и почтовый клиент (outlook) представляет его именно как Иванова, т.е. у конечного пользователя складывается ложное впечатление что ему пишет его коллега... С точки зрения транспортных правил всё верно, smtp заголовки верные, все проверки по restrict прошли, spf отработал, подмены нашего домена нет, однако на лицо нестыковочка...
Received: from relay.DOMAIN.RU (192.168.0.254) by s170001.nle.int (192.168.0.1)
with Microsoft SMTP Server id 8.3.327.1; Thu, 26 Sep 2013 12:02:11 +0400
Received: from relay.DOMAIN.RU (localhost [127.0.0.1]) by relay.DOMAIN.RU
(Postfix) with ESMTP id 3CEE045C4E for <USER@serv.DOMAIN.RU>; Thu, 26
Sep 2013 11:55:56 +0400 (MSK)
X-Virus-Scanned: by Amavisd-New and ClamAV at relay.DOMAIN.RU
Received: from relay.DOMAIN.RU ([127.0.0.1]) by relay.DOMAIN.RU (relay.DOMAIN.RU
[127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9BcmPSS4T86G for
<USER@serv.DOMAIN.RU>; Thu, 26 Sep 2013 11:55:56 +0400 (MSK)
Received-SPF: none (EVIL.NET: No applicable sender policy available) receiver=relay.DOMAIN.RU; identity=mailfrom; envelope-from="user@EVIL.NET"; he
Received: from montreal.EVIL.NET (montreal.EVIL.NET [192.95.33.60]) by
relay.DOMAIN.RU (Postfix) with ESMTP id 0960245C7A for <USER@DOMAIN.RU>;
Thu, 26 Sep 2013 11:55:42 +0400 (MSK)
Received: by montreal.EVIL.NET (Postfix, from userid 1000) id 4731F1007AD;
Thu, 26 Sep 2013 08:02:34 +0000 (UTC)
From: Иванов <ivanov@DOMAIN.RU>
To: USER@DOMAIN.RU
Subject: EVIL.NET Notification
Message-ID: <20130926080234.4731F1007AD@montreal.EVIL.NET>
Date: Thu, 26 Sep 2013 08:02:34 +0000
MIME-Version: 1.0
Content-Type: text/plain
Return-Path: user@EVIL.NET
Использование проверки header_checks, с использовании регулярного выражения #!/envelope-from.*@DOMAIN\.RU/ reject в Postfix ничего не даёт, т.к. он проверяет за раз одну строку, а нам надо ввести следующую логику:
ЕСЛИ
From содержит *@DOMAIN\.RU
ТО проверить envelope-from
ЕСЛИ
envelope-from содержит *@DOMAIN\.RU
ТО ОК
ИНАЧЕ REJECT
Как бы это реализовать, подскажите пожалуйста?
До компьютерной эры с этим делом по другому было, приходит тебе письмо, ты сначала конверт видишь, а уж потом письмо. А вот теперь MTA агент сразу письмо показывает, а чтобы конверт посмотреть надо в заголовки лезть и конечно не все туда смотрят.