LINUX.ORG.RU
ФорумAdmin

Postfix отбрасывать письма если MX запись не соответствует

 , ,


0

1

Имеется Postfix, в main.cf правила:

smtpd_etrn_restrictions = reject
smtpd_helo_required = yes

smtpd_helo_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_helo_hostname,
    reject_invalid_hostname,
    reject_non_fqdn_hostname,
    reject_unknown_hostname

smtpd_recipient_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    reject_unlisted_recipient,
    reject_unauth_destination,
    reject_unauth_pipelining,

smtpd_sender_restrictions = permit_mynetworks,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain,
    reject_unlisted_sender

smtpd_data_restrictions = permit_mynetworks,
    reject_multi_recipient_bounce

smtpd_client_restrictions = permit_mynetworks,
    reject_unauth_pipelining,
    permit_mynetworks,
    reject_unknown_client
Данные правила при конфигурировании были честно скопипасчены из интернетов. Почему-то был уверен, что с ними почтовик не будет пропускать письма, если в заголовке письма в поле From стоит адрес, запись MX которой не соответствует адресу с которого действительно письмо было отправлено. Однако почтовик одолевает спам якобы от rt.ru, sberbank.ru и др. Вот пример письма:
Return-Path: <molchanov.s@sberbank.ru>
Delivered-To: <mynickname@mydomain.ru>
Received: from localhost
	by mail.mydomain.ru (Dovecot) with LMTP id tAvSMrD7Eli6fAAAnJhknQ
	for <mynickname@mydomain.ru>; Fri, 28 Oct 2016 10:18:08 +0300
Received: from isis.coopenetlujan.com.ar (isis.coopenetlujan.com.ar [200.110.184.10])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mail.mydomain.ru (Postfix) with ESMTPS id E88848A7
	for <support@mydomain_alias.ru>; Fri, 28 Oct 2016 10:18:07 +0300 (MSK)
Received: from computer_9736 (31-128-13-49.ip.oxynet.pl [31.128.13.49])
	(authenticated bits=0)
	by isis.coopenetlujan.com.ar (8.13.8/8.13.8) with ESMTP id u9S7KN7A010562
	for <support@mydomain_alias.ru>; Fri, 28 Oct 2016 04:20:32 -0300
Date: Fri, 28 Oct 2016 04:20:23 -0300
Message-Id: <201610280720.u9S7KN7A010562@isis.coopenetlujan.com.ar>
From: =?UTF-8?B?0J/QkNCeICLQodCx0LXRgNCx0LDQvdC6IiDQnNC+0LvRh9Cw0L3QvtCy?= <molchanov.s@sberbank.ru>
To: support@mydomain_alias.ru
Subject: =?UTF-8?B?0LIg0LHRg9GF0LPQsNC70YIuKNC/0L7QstGC0L7RgCk=?=
Content-Type: multipart/alternative; boundary="dENfVgjHxEv98bVvFQdbJRp7cLA6KqXm"
X-Coopenet_Lujan-MailScanner-Information: Please contact the ISP for more information
X-Coopenet_Lujan-MailScanner-ID: u9S7KN7A010562
X-Coopenet_Lujan-MailScanner: No escaneado: contacte su Internet E-Mail Service Provider para mas detalles
X-Coopenet_Lujan-MailScanner-From: molchanov.s@sberbank.ru
X-DSPAM-Result: Innocent
X-DSPAM-Processed: Fri Oct 28 10:18:08 2016
X-DSPAM-Confidence: 0.9899
X-DSPAM-Improbability: 1 in 9809 chance of being spam
X-DSPAM-Probability: 0.0000
X-DSPAM-Signature: 1,5812fbb02601284918754

--dENfVgjHxEv98bVvFQdbJRp7cLA6KqXm
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64

0KHQsdC10YDQ......................-
Собственно вопрос - какое reject правило необходимо добавить чтоб подобные письма не проходили?

Таки Вам где проверять-то надо? В заголовке From: или в конверте?

trancefer ★★ ()

Почему-то был уверен, что с ними почтовик не будет пропускать письма, если в
заголовке письма в поле From стоит адрес, запись MX которой не соответствует
адресу с которого действительно письмо было отправлено

Это - негодная затея. MX и релей у крупных систем почтовых могут даже не быть в одном домене. Особенно, если пользователям E-Mail-ы в разных доменах раздают. Плюс пользователи могут просто мотаться по миру и слать письма через ближайший smtp, хотя последнее встречается редко сейчас. Это раз.

Два. А что, собственно, хочется проверять ? From заголовка, или envelope from ? Это - разные сущности, необязательно одинаковые.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

Т.е. это нормальная практика? Вот заголовок письма которое хорошее:

Return-Path: <sber_user@sberbank.ru>
Delivered-To: <info@mydomain.ru>
Received: from localhost
	by mail.mydomain.ru (Dovecot) with LMTP id udhfHtvRCFiuKAAAnJhknQ
	for <info@mydomain.ru>; Thu, 20 Oct 2016 17:16:59 +0300
Received: from email1.sberbank.ru (email1.sberbank.ru [194.186.207.37])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
	(No client certificate requested)
	by mail.mydomain.ru (Postfix) with ESMTPS id 3A7801462
	for <info@censec.ru>; Thu, 20 Oct 2016 17:16:59 +0300 (MSK)
Received: from CAB-VSP-MBX2101.sigma.sbrf.ru (10.34.240.139) by
 email1.sberbank.ru (10.44.254.1) with Microsoft SMTP Server (TLS) id
 15.0.1210.3; Thu, 20 Oct 2016 17:16:38 +0300
Received: from CAB-VSP-MBX1103.sigma.sbrf.ru (10.34.240.32) by
 CAB-VSP-MBX2101.sigma.sbrf.ru (10.34.240.139) with Microsoft SMTP Server
 (TLS) id 15.0.1210.3; Thu, 20 Oct 2016 17:16:33 +0300
Received: from CAB-VSP-MBX1103.sigma.sbrf.ru ([fe80::d55d:d07f:e139:9fb3]) by
 CAB-VSP-MBX1103.sigma.sbrf.ru ([fe80::d55d:d07f:e139:9fb3%13]) with mapi id
 15.00.1210.000; Thu, 20 Oct 2016 17:16:33 +0300
Received: from email1.sberbank.ru (email1.sberbank.ru [194.186.207.37]) Тут видно что письмо от email1.sberbank.ru, который указан в списке MX адресов. Что-то не пойму саму мысль, разве отсутствие адреса «isis.coopenetlujan.com.ar» в списке mx серверов sberbank.ru не является показателем того что это письмо явно не от того, за кого себя пытаются выдать? Или я задом на перед пытаюсь все понять?

nike-tesla ()
Ответ на: комментарий от nike-tesla

Что-то не пойму саму мысль, разве отсутствие адреса «isis.coopenetlujan.com.ar» в
списке mx серверов sberbank.ru не является показателем того
что это письмо явно не от того, за кого себя пытаются выдать?

совершенно верно:

$ host -t mx RU.nestle.com
RU.nestle.com mail is handled by 10 nestle-com.mail.protection.outlook.com.

Oct 28 11:19:15 sendmail[695751]: u9SFJASG633333: from=<qwerty@RU.nestle.com>, size=17034, class=0, nrcpts=3, msgid=<VI1PR0701MB2586876791871151F0DD399B7AFAD0@VI1PR0701MB1111.eurprd07.prod.outlook.com>, proto=ESMTP, daemon=MTA, relay=mail-he1eur01on0069.outbound.protection.outlook.com [104.47.0.69]
Тут, правда, в доменной части до третьего уровня есть соответствие, да. Но это - частный случай. Но может быть и совсем разное. Уж если что смотреть, так это SPF.

Хотя приведённый пример - это пример полных раздолбаев. RU.nestle.com ещё ничего, а вот у nestle.com с SPF полный абзац.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

Уж если что смотреть, так это SPF.

Так и есть, нужно прикрутить проверку SPF. У того же sberbank.ru жестко указано v=spf1 mx -all, а мой почтовик проверку SPF не ведет. Всем спасибо, помогли разобраться.

nike-tesla ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.