Гайзы, как на такое реагируете?
nor...@support.reg.ru H=support.reg.ru (otrs-dc1) [31.31.205.141] P=esmtps X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=no S=23078 DKIM=reg.ru id=1623720807.841600.66...@otrs.reg.ru
или вот
H=(serv-site1.localdomain) [185.183.174.114] F=<mins...@MINSTROYRF.ru>
inetnum: 185.183.174.0 - 185.183.175.255
netname: RSNET
descr: Federal Guard Service of the Russian Federation
--
С уважением,
Alexander mailto:t...@irk.ru
_______________________________________________
Exim-users mailing list
Exim-...@mailground.net
http://mailground.net/mailman/listinfo/exim-users
На greylisting. Селективный. Такой HELO - одна из причин.
> Они пройдут его.
Пройдут. А разве это спам?
Вы писали 16 июня 2021 г., 1:40:19:
тут то и проблема, это не спам. Но есть вагон спама, с кривым helo и механизмом повторной доставки через N минут. У меня
тоже стоит для такого greylisting, а то что прошло я отправлял в spamtrap на прикорм ассасина. Но вот тут вижу две
крупных конторы, неозаботивщихся правильной настройкой MTA. nic.ru в этом ряду особо забавен...
>> Они пройдут его.
--
С уважением,
Alexander mailto:t...@irk.ru
Да. Если проходит селективный greylisting, то у меня еще две проверки:
задержка (в надежде что бот отвалится)
и проверка существования ящика отправителя (verify=sender/callout),
вот как при такой проверке не влететь в черный список:
deny condition = ${if def:acl_c_grey_checked}
logwrite = passed greylisting helo - delaying \
${sg{$sender_rcvhost}{\N[\n\t]+\N}{\040}}
delay = 22s
logwrite = passed greylisting helo, endured delay \
${sg{$sender_rcvhost}{\N[\n\t]+\N}{\040}}
condition = ${if match{$sender_address_domain}{\N^[\w.-]+$\N}}
condition = ${if or{\
{bool{${lookup dnsdb{a=$sender_address_domain}{0}{1}}}}\
{!match{${readsocket{inet:$sender_address_domain:80}\
{GET / HTTP/1.0\r\nHost: $sender_address_domain\r\n\r\n}\
{4s:shutdown=no}{ }{socket failure}}}{UCEPROTECT-Network}}\
}}
!verify = sender/callout=10s,defer_ok
От ботов с кривым HELO еще помогает заблокировать Китай, если кто может себе
это позволить:
deny message = I don`t accept mail from China,HongKong,Taiwan, Korea, \
Vietnam because too many admins there do not care \
about outgoing spam. Your \
IP-address seems to belong to: $dnslist_text.
dnslists = zz.countries.nerd.dk=127.0.0.156,127.0.1.88,127.0.0.158,\
127.0.1.154,127.0.2.192
А кто не могут себе этого позволить, можно только для Китая задействовать
более агрессивные черные списки, добавив в этот же абзац:
message = rejected because $sender_host_address is in a black list \
at $dnslist_domain. $dnslist_text
dnslists = zen.spamhaus.org : bl.spamcop.net : dnsbl.sorbs.net : \
hostkarma.junkemailfilter.com=127.0.0.2,127.0.0.4
drop condition = ${if or {\
{!match{$sender_helo_name}{\\\.}}\
{match{$sender_helo_name}{\N^\.\N}}\
{isip{$sender_helo_name}}\
{match{$sender_helo_name}{\N^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]\N}}\
}}
drop condition = ${if match_domain{$sender_helo_name}\
{$primary_hostname:+virtual_domains:+shared_mail_domains:*.domain:*.localdomain:static.vnpt.vn:\N^vps\d+\.com:^lfuzemail\.co$\N}
}
Шаровые почтовые сервисы именем домена не представляются.
Моими доменами тоже нечего предствляться.
Или localhost.localdomain ...
Ну и белые списки никто не отменял.
Или гос. контор, которые из-за отсутвия нормальных админов просто не
могут (или не хотят) решить проблему.
On 15.06.2021 12:03, Alexander Titaev wrote:
> Здравствуйте, .
>
> Гайзы, как на такое реагируете?
>
> nor...@support.reg.ru H=support.reg.ru (otrs-dc1) [31.31.205.141] P=esmtps X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=no S=23078 DKIM=reg.ru id=1623720807.841600.66...@otrs.reg.ru
>
> или вот
>
> H=(serv-site1.localdomain) [185.183.174.114] F=<mins...@MINSTROYRF.ru>
> inetnum: 185.183.174.0 - 185.183.175.255
> netname: RSNET
> descr: Federal Guard Service of the Russian Federation
>
таких helo вроде уже много лет не видно было.
> {isip{$sender_helo_name}}\
>
> {match{$sender_helo_name}{\N^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]\N}}\
а литералы-то за что?
> }}
>
>
> drop condition = ${if match_domain{$sender_helo_name}\
>
> {$primary_hostname:+virtual_domains:+shared_mail_domains:*.domain:*.localdomain:static.vnpt.vn:\N^vps\d+\.com:^lfuzemail\.co$\N}
> }
>
> Шаровые почтовые сервисы именем домена не представляются.
в ноябре-декабре 2014-го был случай, когда в течение четырёх недель как
минимум четыре сервера корпорации добра в helo использовали аргумент без
точки. причём одни и те же сервера использовали по несколько разных
значений.
например, mail-pd0-f193.google.com [209.85.192.193] использовал три
значения:
pdbfp1
pdev10
pdjy10
mail-pd0-f194.google.com [209.85.192.194] использовал тоже три значения,
причём два из них совпадали с helo рядом стоящего сервера:
pdbfp1
pdbft15
pdev10
и т. д.
наверняка они могли использовать и другие аргументы команды helo.
у меня сохранились только 19 писем, при доставке которых сервера google
так косячили.
> Моими доменами тоже нечего предствляться.
> Или localhost.localdomain ...
>
> Ну и белые списки никто не отменял.
> Или гос. контор, которые из-за отсутвия нормальных админов просто не
> могут (или не хотят) решить проблему.
>
>
> On 15.06.2021 12:03, Alexander Titaev wrote:
>> Здравствуйте, .
>>
>> Гайзы, как на такое реагируете?
>>
>> nor...@support.reg.ru H=support.reg.ru (otrs-dc1) [31.31.205.141]
>> P=esmtps X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=no S=23078
>> DKIM=reg.ru id=1623720807.841600.66...@otrs.reg.ru
>>
>> или вот
>>
>> H=(serv-site1.localdomain) [185.183.174.114] F=<mins...@MINSTROYRF.ru>
>> inetnum: 185.183.174.0 - 185.183.175.255
>> netname: RSNET
>> descr: Federal Guard Service of the Russian Federation
>>
>
>
> _______________________________________________
> Exim-users mailing list
> Exim-...@mailground.net
> http://mailground.net/mailman/listinfo/exim-users
>
--
Best wishes
Victor Ustugov mailto:vic...@corvax.kiev.ua
JID: vic...@corvax.kiev.ua
GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc
On 17.06.2021 12:37, Victor Ustugov wrote:
> Mikhail Golub wrote on 17.06.2021 12:14:
>> Я дропаю.
>>
>> drop condition = ${if or {\
>> {!match{$sender_helo_name}{\\\.}}\
>> {match{$sender_helo_name}{\N^\.\N}}\
>
> таких helo вроде уже много лет не видно было.
Вот за сегодня без точки вообще, например.
H=(zg-0609c-44) [192.241.218.24]
H=(WIN-CLJ1B0GQ6JP) [104.167.223.4]
H=(User) [212.192.241.234]
С точкой в начале да, небыло. Но правило пусть будет, не мешает.
Все домашние ПК с вирусами представляются подобной ерундой.
>
>
>> {isip{$sender_helo_name}}\
>>
>> {match{$sender_helo_name}{\N^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]\N}}\
>
> а литералы-то за что?
В свое время проверял - легитимных писем с таких хостов небыло.
Зато спама достаточно пытаются отправлять.
2021-06-17 00:02:15 [10227] H=(185.158.115.191) [176.195.149.65]
rejected EHLO or HELO 185.158.115.191: REJECTED: Invalid HELO
"185.158.115.191"
2021-06-17 00:02:27 [10248] H=([103.155.81.4]) [103.155.81.4] rejected
EHLO or HELO [103.155.81.4]: REJECTED: Invalid HELO "[103.155.81.4]"
2021-06-17 00:15:22 [10842] H=([154.57.200.200]) [154.57.200.200]
rejected EHLO or HELO [154.57.200.200]: REJECTED: Invalid HELO
"[154.57.200.200]"
2021-06-17 00:31:27 [11587] H=([127.0.0.1]) [190.119.249.155] rejected
EHLO or HELO [127.0.0.1]: REJECTED: Invalid HELO "[127.0.0.1]"
За сегодня по HELO было не принято только 49 писем.
Но это тоже результат.
>>> Я дропаю.
>>>
>>> drop condition = ${if or {\
>>> {!match{$sender_helo_name}{\\\.}}\
>>> {match{$sender_helo_name}{\N^\.\N}}\
>>
>> таких helo вроде уже много лет не видно было.
>
> Вот за сегодня без точки вообще, например.
> H=(zg-0609c-44) [192.241.218.24]
> H=(WIN-CLJ1B0GQ6JP) [104.167.223.4]
> H=(User) [212.192.241.234]
и где тут helo с точкой в начале, как в регекспе, после которого было
написано о том, что таких helo давно не было?
> С точкой в начале да, небыло. Но правило пусть будет, не мешает.
>
> Все домашние ПК с вирусами представляются подобной ерундой.
>
>
>>> {isip{$sender_helo_name}}\
>>>
>>> {match{$sender_helo_name}{\N^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]\N}}\
>>
>> а литералы-то за что?
>
> В свое время проверял - легитимных писем с таких хостов небыло.
ну... ясно...
> Зато спама достаточно пытаются отправлять.
>
> 2021-06-17 00:02:15 [10227] H=(185.158.115.191) [176.195.149.65]
> rejected EHLO or HELO 185.158.115.191: REJECTED: Invalid HELO
> "185.158.115.191"
это не литерал
> 2021-06-17 00:02:27 [10248] H=([103.155.81.4]) [103.155.81.4] rejected
> EHLO or HELO [103.155.81.4]: REJECTED: Invalid HELO "[103.155.81.4]"
> 2021-06-17 00:15:22 [10842] H=([154.57.200.200]) [154.57.200.200]
> rejected EHLO or HELO [154.57.200.200]: REJECTED: Invalid HELO
> "[154.57.200.200]"
> 2021-06-17 00:31:27 [11587] H=([127.0.0.1]) [190.119.249.155] rejected
> EHLO or HELO [127.0.0.1]: REJECTED: Invalid HELO "[127.0.0.1]"
>
> За сегодня по HELO было не принято только 49 писем.
> Но это тоже результат.
--
Best wishes
Victor Ustugov mailto:vic...@corvax.kiev.ua
JID: vic...@corvax.kiev.ua
GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc
On 17.06.2021 13:00, Victor Ustugov wrote:
>> Вот за сегодня без точки вообще, например.
>> H=(zg-0609c-44) [192.241.218.24]
>> H=(WIN-CLJ1B0GQ6JP) [104.167.223.4]
>> H=(User) [212.192.241.234]
>
> и где тут helo с точкой в начале, как в регекспе, после которого было
> написано о том, что таких helo давно не было?
Я привел пример, но не написал что "с точкой в начале".
А следующая же строчка "С точкой в начале да, небыло".
>
>
>> Зато спама достаточно пытаются отправлять.
>>
>> 2021-06-17 00:02:15 [10227] H=(185.158.115.191) [176.195.149.65]
>> rejected EHLO or HELO 185.158.115.191: REJECTED: Invalid HELO
>> "185.158.115.191"
>
> это не литерал
А я и не писал, что это литерал.
Просто приветствие в виде IP.
И, опять же, привел несколько примеров отказа в приеме на основе моих
правил.
>
>> 2021-06-17 00:02:27 [10248] H=([103.155.81.4]) [103.155.81.4] rejected
>> EHLO or HELO [103.155.81.4]: REJECTED: Invalid HELO "[103.155.81.4]"
>> 2021-06-17 00:15:22 [10842] H=([154.57.200.200]) [154.57.200.200]
>> rejected EHLO or HELO [154.57.200.200]: REJECTED: Invalid HELO
>> "[154.57.200.200]"
>> 2021-06-17 00:31:27 [11587] H=([127.0.0.1]) [190.119.249.155] rejected
>> EHLO or HELO [127.0.0.1]: REJECTED: Invalid HELO "[127.0.0.1]"
>>
>> За сегодня по HELO было не принято только 49 писем.
>> Но это тоже результат.
>
>
Если адрес в домене, который отдали черному списку UCEprotect на spamtrap-ы,
то сайт есть, код его опознает и не пытается проверить адрес
(а то попадете в этот черный список). Случай весьма редкий, но неприятный.
А если сайта вообще нет (нет записи A)
или timeout или сайт не черного списка,
то идет callout.
Угу, ругается. А я и не замечала. :)
Тем не менее на первый взгляд callout работает:
2021-06-17 11:40:34 +0300 passed greylisting no hostname, endured delay [114.106.156.194] (helo=hotmail.com)
2021-06-17 11:40:34 +0300 Tainted filename for search: 'inet:hotmail.com:80'
2021-06-17 11:40:34 +0300 H=(hotmail.com) [114.106.156.194] sender verify fail for <bjcx...@hotmail.com>: hotmail-com.olc.protection.outlook.com [104.47.22.161] : SMTP error from remote mail server after RCPT TO:<bjcx...@hotmail.com>: 550 5.5.0 Requested action not taken: mailbox unavailable (S2017062302). [DB8EUR06FT019.eop-eur06.prod.protection.outlook.com]
2021-06-17 11:40:34 +0300 H=(hotmail.com) [114.106.156.194] F=<bjcx...@hotmail.com> rejected RCPT <Le...@lena.kiev.ua>: Sender verify failed
Но работает ли теперь на самом деле скачивание web-странички - надо
разбираться.
Впрочем, даже если работает (а вряд ли), ругань в paniclog - некрасиво.
> Причина понятна - содержимое переменной $sender_address_domain может
> быть стрёмным.
Поэтому я сначала проверяю $sender_address_domain на необычные символы:
condition = ${if match{$sender_address_domain}{\N^[\w.-]+$\N}}
Но новый Exim этого не понимает. :-/
Есть способ detaint (после собственной проверки на необычные символы!)
с использованием файла, содержащего одну строку из одного символа: звездочки.
Наверно придется сюда прикрутить.
Если никто не предложит идеи лучше.
В данном случае:
# echo '*' > /usr/local/etc/exim/detaint
${lookup{$sender_address_domain}lsearch*,ret=key{/usr/local/etc/exim/detaint}}
Описание этого способа в общем случае:
-----
You mean like this 'hack'?
https://jimbobmcgee.wordpress.com/2020/07/29/de-tainting-exim-configuration-variables/
TL;DR:
echo '*' >/etc/exim/detaint
DETAINTFILE = /etc/exim/detaint
BADCHARS = \N[^A-Za-z0-9_.-]+\N
SAFEDOMAIN = ${lookup{${sg{${domain:$h_from:}}{BADCHARS}{_}}}lsearch*,ret=key{DETAINTFILE}}
... Profit!
> condition = ${if or{\
> {bool{${lookup dnsdb{a=$sender_address_domain}{0}{1}}}}\
> {!match{${readsocket{inet:$sender_address_domain:80}\
> {GET / HTTP/1.0\r\nHost: $sender_address_domain\r\n\r\n}\
> {4s:shutdown=no}{ }{socket failure}}}{UCEPROTECT-Network}}\
> }}
а можно пример одного-двух доменов, которые попадают под этот match?
хотелось бы посмотреть, как выглядит http ответ.
--
Best wishes
Victor Ustugov mailto:vic...@corvax.kiev.ua
JID: vic...@corvax.kiev.ua
GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc
А вот не помню. У меня был один случай, но сейчас я его не найду.
> хотелось бы посмотреть, как выглядит http ответ.
HTTP-header (это не тот header, про который дальше)
и тело, и кажется в <HEADER>...</HEADER> тела эта строка.
Возможно в метаданных, а не в тексте, поэтому не гуглится с ходу.
я нашёл "UCEPROTECT-Network" только вот в таком виде:
<img alt="Warning for Spammers ! - Member of UCEPROTECT-Network"
src="http://www.uceprotect.net/uceprotect-warning.png" />
нашёл на странице http://www.le.com.ua/uk/article/11.html
т. е. не на http://le.com.ua/ (а в примере производился http запрос по A
записи домена с указанием названия домена в http заголовке запроса Host.
и даже не на https://www.le.com.ua/ (а возможные редиректы с без www на
с www не учтены) и даже не на https://le.com.ua/ или
https://www.le.com.ua/ (возможные редиректы с http на https тоже не
учтены), а на какой-то левой странице сайта, до которой ещё поди доберись.
далее - использование пробела в четвёртом параметре ${readsocket иногда
приводит к странным результатам.
простой пример:
# exim -be '${readsocket{inet:ukr.net:80}{GET / HTTP/1.0\r\nHost:
ukr.net\r\n\r\n}{4s:shutdown=no}{\n}{socket failure}}'
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 18 Jun 2021 11:16:35 GMT
Content-Type: text/html
Content-Length: 162
Connection: close
Location: http://www.ukr.net/
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
всё отлично.
теперь пробел:
# exim -be '${readsocket{inet:ukr.net:80}{GET / HTTP/1.0\r\nHost:
ukr.net\r\n\r\n}{4s:shutdown=no}{ }{socket failure}}'
</html>nter>nginx</center>anently</h1></center>d>
косяк этот воспроизводится стабильно на штатных результатах http
запросов с 301-ми редиректами nginx.
на большей части остальных ответов я не видел подобной каши в ответе.
исходя из всего вышеуказанного эффективность конструкции
condition = ${if or{\
{bool{${lookup dnsdb{a=$sender_address_domain}{0}{1}}}}\
{!match{${readsocket{inet:$sender_address_domain:80}\
{GET / HTTP/1.0\r\nHost: $sender_address_domain\r\n\r\n}\
{4s:shutdown=no}{ }{socket failure}}}{UCEPROTECT-Network}}\
}}
может оказаться заметно ниже ожидаемой.
вне зависимости, будет подстрока "UCEPROTECT-Network" указана в <head>
или <body>. а содержимое заголовков http ответов будет скорее всего
утеряно при использовании пробела в четвёртом параметре ${readsocket
--
Best wishes
Victor Ustugov mailto:vic...@corvax.kiev.ua
JID: vic...@corvax.kiev.ua
GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc
>> исходя из всего вышеуказанного эффективность конструкции
>> может оказаться заметно ниже ожидаемой.
>
> Тут ещё два вопроса висят в воздухе:
>
> 1. Почему в спамтрап домене вообще должен висеть веб сайт с подобной заглушкой..
никто никому ничего не должен.
и это не заглушка. по крайней мере то, на что я наткнулся, это не
заглушка, а просто бантик.
> 2. В эпоху всеобщего помешательства на https, есть сомнения, что там
> будет именно http сайт.
и что его адрес будет совпадать именно с названием домена (т. е. не
будет там www или чего-то другого) или вообще всё это будет на титульной
странице сайта.
> Текущий exim вроде как умеет лезть на https.
умеет. проверено на запросах к https://api.iptoasn.com/ сразу после
выхода 4.92
> Но это не отменяет
> сомнения, вокруг всего этого.
>
> ИМХО стоит посмотреть на обратный резолв таких доменов или на диапазон
> адресов. Может там есть за что прицепиться. Примеры нужны.
не факт, что получится за что-то зацепиться.
но факт, что без примеров невозможно сделать выводы об этом.
--
Best wishes
Victor Ustugov mailto:vic...@corvax.kiev.ua
JID: vic...@corvax.kiev.ua
GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc
в данном случае речь не об этом. вообще не об этом.
> /18 червня 2021, 15:13:07, від "Victor Ustugov" <vic...@corvax.kiev.ua
> <mailto:vic...@corvax.kiev.ua>>: /
> JID: vic...@corvax.kiev.ua <mailto:vic...@corvax.kiev.ua>
> GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc
>
>
> _______________________________________________
> Exim-users mailing list
> Exim-...@mailground.net <mailto:Exim-...@mailground.net>
> http://mailground.net/mailman/listinfo/exim-users
\n
--
Best wishes
Victor Ustugov mailto:vic...@corvax.kiev.ua
JID: vic...@corvax.kiev.ua
GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc
18.06.2021, Vladimir Sharun<vladimi...@ukr.net> написал(а): > Гугл рассказывал годы назад, что у них есть фермы, которые накликивают не спам > или спам для набивания статистики. Ну так они массово хостят почту, для самых разных пользователей. У которых может быть диаметрально противоположное понимание спама. Это - проблема всех массовых хостингов. Почта для какой-то конкретной организации - уже проще, из-за близких критериев понимания спама, специфики работы и типичных контактов пользователей.
> Я например не знаю как бы я смог сам защитить один домен даже с сотнями > получателей. А пропустить его через спец решение - уже легче. Проблема лишь в том, что для этого придётся отдавать всю переписку в руки непонятно кому, что мало приемлемо, в некоторых случаях.
P.S. Сейчас стал популярным спам, прозвоном всех подряд номеров по телефону, несколько лет назад такого нашествия не было. Но там хоть можно отшибать звонки, от непонятно кого, для обычного личного номера..