Проверка заголовка сообщения по полю "То:"

Общие вопросы по установке и настройке сервера Postfix.
Писать в этот форум могут только зарегистрированные пользователи.

Модераторы: prefer, alexandrnew, ALex_hha, Roman, Axel

Ответить
EDL
Новичок
Новичок
Сообщения: 1
Зарегистрирован: 10 июн 2010, 21:19

Проверка заголовка сообщения по полю "То:"

Сообщение EDL » 23 июл 2010, 16:54

Господа админы, искал но нигде не нашел (хотя наверняка где то было) - появился вопрос блокировки спама по полю "То". Получаю почту со следующим заголовком:

Код: Выделить всё

Received: from fmmailgate04.web.de (fmmailgate04.web.de [217.72.192.242])
        by smtp.mydomain.ru (Postfix) with ESMTP id ABF1F17B852
        for <my@mydomain.ru>; Tue, 29 Jun 2010 02&#58;39&#58;29 +0400 &#40;MSD&#41;
Received&#58; from mwmweb050  &#40; &#91;172.20.18.59&#93;&#41;     by fmmailgate04.web.de &#40;Postfix&#41;
        with ESMTP id 0196A67F5E79;     Mon, 28 Jun 2010 23&#58;41&#58;46 +0200 &#40;CEST&#41;
Received&#58; from &#91;208.122.253.238&#93;  by  mwmweb050  with HTTP;
        Mon Jun 28 23&#58;41&#58;46 CEST 2010
Date&#58; Mon, 28 Jun 2010 23&#58;41&#58;45 +0200 &#40;CEST&#41;
From&#58; FREDRICK WALTER <fredrickwalte3453@web.de>
To&#58; tennesseeweb-lottery@yahoo.co.uk
Message-ID&#58; <1480742232.2203008.1277761305997.JavaMail.fmail@mwmweb050>
Subject&#58; NOTIFICATION!
X-Priority&#58; 3
Importance&#58; normal
Sensitivity&#58; Normal
X-Provags-ID&#58; V01U2FsdGVkX19QNnXlHSZ0iqVpZJVNBTPEigx2mJIuQwIdIwB/FjPDUM+aw4INVFno
        fAv5g0BJOX9L1hjjV0Ca7dWWqdpP90DP1+c5lqniFoo=
Return-Path&#58; fredrickwalte3453@web.de
MIME-Version&#58; 1.0
Content-Type&#58; text/html; charset=UTF-8
Content-Transfer-Encoding&#58; quoted-printable
Соответственно мой адрес my@mydomain.ru а не tennesseeweb-lottery@yahoo.co.uk
Каким образом средством postfix заблокировать прием писем в поле "To" содержащих не мой домен?
Пробую вот такую конструкцию в header_checks

Код: Выделить всё

!/^To&#58; .*mydomain\.ru.*$/ REJECT
Ни фига не получается - режектит все письма на домен mydomain.ru Где грабли?

ZeroWave
Новичок
Новичок
Сообщения: 5
Зарегистрирован: 18 июл 2010, 12:19

Сообщение ZeroWave » 10 авг 2010, 14:02

Если Вы используете свой почтовый сервер для обслуживания собственных доменов или в качестве смарт хоста или релея для своего домена, то можно воспользоваться файлом local_recipients_map или relay_recipients, который будет проверять всю входящую почту на соответствие зайписей в это файле, вот пример файла и директивы прописанной в main.cf

Файл local_recipient_maps или relay_recipients_maps:
admin@mydomain.ru OK
user1@mydomain.ru OK
И так далее, сюда Вам нужно забить всех пользователей которые обслуживаются в Вашем домене.
Далее в main.cf необходимо добавить следующую директиву:
relay_recipient_maps = hash:/etc/postfix/relay_recipients_maps
или
local_recipient_maps = hash:/etc/postfix/local_recipients_maps
После того как файл local_recipients_maps или relay_recipients_maps будут заполнены соответствующими пользователями, необходимо выполнить команду:
postmap hash:/etc/postfix/relay_recipients_maps
или
postmap hash:/etc/postfix/local_recipients_maps
После того, как все будет сделано необходимо перезагрузить конфигурацию командой
postfix reload
Надеюсь, я смог Вам помочь, удачного полета

gooose
Новичок
Новичок
Сообщения: 13
Зарегистрирован: 23 июн 2013, 10:09

Сообщение gooose » 24 июн 2016, 15:41

Вопрос тот же. Только у меня local_recipients_map берется из базы. Однако в поле То часто бывает левый адрес почты.

Аватара пользователя
Andy_mak
Член клуба
Член клуба
Сообщения: 436
Зарегистрирован: 08 фев 2012, 14:37
Откуда: Russia, Moscow

Сообщение Andy_mak » 24 июн 2016, 17:03

gooose писал(а):Вопрос тот же. Только у меня local_recipients_map берется из базы. Однако в поле То часто бывает левый адрес почты.
Добрый день!
При передаче письма есть поля From: и To:, которое находится внутри письма. На него сервер, принимающий письмо не смотрит.
А еще есть поля Envelope-From: и Envelope-To:, которое принимающий сервер требует от сервера отправителя во время smtp-сессии. Именно эти адреса он проверяет на "валидность".

P.S. Почтовый клиент не видит поля Envelope-From:, Envelope-To:. Он показывает только поля From:, To:.
FreeBSD, PostFix, AmavisD-New, Spamassassin - это хорошо!

gooose
Новичок
Новичок
Сообщения: 13
Зарегистрирован: 23 июн 2013, 10:09

Сообщение gooose » 24 июн 2016, 17:27

Добрый день. Спасибо за ответ.
Вопрос в том, что бы сделать проверку поля To, в котором могут быть только ящики, или на крайний случай, обслуживаемые сервером домены.
Попробовал сделать через header_checks, правило стало срабатывать и на исходящую почту, что привело к невозможности отправки на другие домены. А хотелось бы подвергать проверке только входящую почту. Т.к. сильно напрягает видеть в почтовом клиенте в поле кому адрес Барака Обымы, и удивляться какого хвоста это письмо упало в мой ящик.

Аватара пользователя
Andy_mak
Член клуба
Член клуба
Сообщения: 436
Зарегистрирован: 08 фев 2012, 14:37
Откуда: Russia, Moscow

Сообщение Andy_mak » 24 июн 2016, 17:32

Я для этого использую Spamassassin. Сделал свое правило. Вот содержимое файла my_repipient_check.cf :

Код: Выделить всё

# Если в поле To&#58; Cc&#58; Bcc&#58; не упоминается мой дмен, то срабатывает правило&#58;
header __MY_TO_RecipNotFound To !~ /\@mydomain\.ru/i
header __MY_CC_RecipNotFound Cc !~ /\@mydomain\.ru/i
header __MY_BCC_RecipNotFound Bcc !~ /\@mydomain\.ru/i

# Если одновременно сработали все 3-и правила&#58; __MY_TO_RecipNotFound && __MY_CC_RecipNotFound && __MY_BCC_RecipNotFound
# то это спам -> 5.5 !!!!
meta    MY_RecipNotFound &#40; __MY_TO_RecipNotFound && __MY_CC_RecipNotFound && __MY_BCC_RecipNotFound &#41;
score   MY_RecipNotFound 5.5
FreeBSD, PostFix, AmavisD-New, Spamassassin - это хорошо!

gooose
Новичок
Новичок
Сообщения: 13
Зарегистрирован: 23 июн 2013, 10:09

Сообщение gooose » 24 июн 2016, 17:48

А вот это интересно! Спасибо, попробую у себя!

gooose
Новичок
Новичок
Сообщения: 13
Зарегистрирован: 23 июн 2013, 10:09

Сообщение gooose » 25 июн 2016, 16:42

что то не получилось, добавил эти строки в файл local.cf
правда у меня несколько доменов и я написал так
header __MY_TO_RecipNotFound To !~ /(\@mydomain1\.ru)|(\@mydomain2\.ru)/i

Аватара пользователя
Виктор
Член клуба
Член клуба
Сообщения: 832
Зарегистрирован: 02 июн 2006, 15:54
Откуда: Южно-Сахалинск

Сообщение Виктор » 26 июн 2016, 13:34

gooose писал(а):Добрый день. Спасибо за ответ.
Вопрос в том, что бы сделать проверку поля To, в котором могут быть только ящики, или на крайний случай, обслуживаемые сервером домены.
Попробовал сделать через header_checks, правило стало срабатывать и на исходящую почту, что привело к невозможности отправки на другие домены. А хотелось бы подвергать проверке только входящую почту. Т.к. сильно напрягает видеть в почтовом клиенте в поле кому адрес Барака Обымы, и удивляться какого хвоста это письмо упало в мой ящик.
header_checks возможно настроить только на входящую.
Почитайте великий гугль. Или здесь гдето встречалось по форуму.
чем. толще наши морды. тем теснее наши ряды.

Ответить