Страница 1 из 1

Header: Envelope-to & Return-path

Добавлено: 2011-04-06 23:58:49
michaelV
Добрый день!
Начинаю погружаться в интересный мир EXIM, весьма перспективный MTA.
Но возникает много вопрос, позвольте начать с самого банального - борьба со спамом.
Возможно уже озвучивались варианты защиты для моего примера, но не нашел на форуме.
Итак, замечено что какая-то часть спамеров использует этот прием, когда поле TO совершено пустое и FROM не совпадает с Return-path. в 99% случаях письма с подобным хедером - спам.
Подскажите, как бороться с подобными спамерами?

пример:

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

Envelope-to: [b]info@mydomain.ru[/b]
To: [b]undisclosed recipients:[/b]
или

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

Return-path: [b]<family2011@hotmail.co.za>[/b]
From: <megapochta@hackme.de>
Как вариант защиты использовалось следующее.

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

acl_check_content:
   warn
       message    = POSSIBLE SPAM: $h_Subject. Line 1855
        condition  = ${if !match{${lc:$h_to:}{$recipients}{no}{yes}}}
       set acl_c3 = ${eval: $acl_c3 + 80}
Где acl_c3 - счетчик спама.

При включении данного правила, в логах тут же получаю запись:

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

temporarily rejected DATA <info@mydomain.ru>: failed to expand ACL string "${if !match{${lc:$h_to:}}{$recipients}{yes}{no}}} unknown variable name "recipients"

Много писалось про использование спамерами поля "BСC", но пока не уверен что надо глушить подобное.

Re: Header: Envelope-to & Return-path

Добавлено: 2011-04-07 0:37:24
Гость
а где вы это правило взяли?
если скопипастили откуда то, то давайте ссылку откуда

а если сами придумали
то видимо там матчится должно не с переменной $recipients, а со строкой recipients

Re: Header: Envelope-to & Return-path

Добавлено: 2011-04-07 0:38:13
hizel
это что за acl_check_content ?
recipients появляется только после RCPT

Re: Header: Envelope-to & Return-path

Добавлено: 2011-04-07 1:02:55
michaelV
взято отсюда и подрехтовано под себя:
http://forum.lissyara.su/viewtopic.php?f=20&t=18494

что касается acl-check_content, то назначении сказано было так:
acl_not_smtp = acl_not_smtp
acl_smtp_connect = acl_connect
acl_smtp_helo = acl_hello
acl_smtp_mail = acl_mail_from
acl_smtp_mime = acl_check_mime
acl_smtp_data = acl_check_content

Потом было навернуто страшно много, вплоть до проверки по DNSBL в ACL_connect :)), что приводило к страшным тормозам для удаленных пользователей.
А в конце каждого ACL, интересная формула приводившая в ступор все почтовые клиенты и входящую почту.

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

    
accept
        set acl_m2  = ${if def:acl_c1 {${eval:20 + $acl_m2 - $tod_epoch}}{0}}
        delay       = ${if >{$acl_m2}{0}{$acl_m2}{0}}s
Теперь разгребаю завалы, но сталкиваюсь с описанными ранее проблемами защиты.

Re: Header: Envelope-to & Return-path

Добавлено: 2011-04-19 13:31:03
shlash
Поля From и To в доставке участия не принимают.
Являются фиктивно-информационными. Предназначены для чтения человеком. При отправке из клиента обычно содержат строку <Фамилия Имя ящик@домен.ру>

Re: Header: Envelope-to & Return-path

Добавлено: 2011-04-21 18:43:03
Alex Keda
не только.
если про from - да, согласен - можно воткнуть что угодно - то по to доставка идёт

Re: Header: Envelope-to & Return-path

Добавлено: 2011-04-22 15:51:17
shlash
Доставка идёт по SMTP RCPT TO.
Тот "Кому", который видно в почтовой программе, и который является частью блока заголовков, идёт после SMTP DATA. И, на уровне протокола, является частью тела письма.

Re: Header: Envelope-to & Return-path

Добавлено: 2011-04-22 17:43:48
Alex Keda
действительно. протестил - не кажет тундербирд "от кого" если тока to: отправить.
не знал.