Re: [Exim-users] кривое helo
> Ругается на Tainted filename for search: 'inet:example.com:80', exim-4.94.2. Угу, ругается. А я и не замечала. :) Тем не менее на первый взгляд 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 : hotmail-com.olc.protection.outlook.com [104.47.22.161] : SMTP error from remote mail server after RCPT TO:: 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= rejected RCPT : 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! ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] кривое helo
17.06.2021, l...@lena.kiev.ua написал(а): > 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}}\ > }} Поставил такое, до правил келлаута: dropmessage= Your host looks like spam sender condition = ${if match{$sender_address_domain}{\N^[\w.-]+$\N}} condition = ${if 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}} Ругается на Tainted filename for search: 'inet:example.com:80', exim-4.94.2. Причина понятна - содержимое переменной $sender_address_domain может быть стрёмным. Как Вы такое обходите? -- Alexander Sheiko ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] кривое helo
17.06.2021, l...@lena.kiev.ua написал(а): > Если адрес в домене, который отдали черному списку UCEprotect на spamtrap-ы, > то сайт есть, код его опознает и не пытается проверить адрес Ага, сразу было не понял, спасибо. > А если сайта вообще нет (нет записи A) В in.ua вон завели десятки пустых сайтов, в доменах, специально под спам заведенных. Другими словами - наличие сайта в домене отправителя, как бы - не показатель хорошего. -- Alexander Sheiko ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] кривое helo
> > и проверка существования ящика отправителя (verify=sender/callout), > > вот как при такой проверке не влететь в черный список > > Т.е. келлаут идёт только для тех хостов, в домене отправителя которых > есть веб сайт? А если сайта нет, то считать адрес отправителя > валидным? Если адрес в домене, который отдали черному списку UCEprotect на spamtrap-ы, то сайт есть, код его опознает и не пытается проверить адрес (а то попадете в этот черный список). Случай весьма редкий, но неприятный. А если сайта вообще нет (нет записи A) или timeout или сайт не черного списка, то идет callout. ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] кривое helo
17.06.2021, l...@lena.kiev.ua написал(а): > и проверка существования ящика отправителя (verify=sender/callout), > вот как при такой проверке не влететь в черный список Т.е. келлаут идёт только для тех хостов, в домене отправителя которых есть веб сайт? А если сайта нет, то считать адрес отправителя валидным? > От ботов с кривым HELO еще помогает заблокировать Китай, если кто может себе > это позволить Я просто указал список "нормальных" стран, а на остальные немного баллов накидываю, чтобы проверять их потом "с пристрастием". > 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 : \ Есть смысл проверять наличие хоста отправителя отдельно, в каждом из штук пяти DNSBL и накидывать баллы за каждый из них. Тогда, попадание, в один такой блеклист (при отсутствии других отягчающих обстоятельств) приведёт лишь, скажем, к келлауту / грейлисту, а попадание уже в два и более DNSBL, с большой вероятностью, свидетельствует о реально плохом релее. Кстати, есть ресурс, который показывает наиболее эффективные, в данный момент, DNSBL: https://www.intra2net.com/en/support/antispam/index.php_sort=accuracy_order=desc.html Что позволяет выбрать, штук пять наиболее актуальных из них и проверять это, время от времени. -- Alexander Sheiko ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] кривое helo
Виктор, давайте не цеплятся к фразам буквально :) 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 писем. Но это тоже результат. ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] кривое helo
Mikhail Golub wrote on 17.06.2021 12:52: >>> Я дропаю. >>> >>> 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 ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] кривое helo
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 писем. Но это тоже результат. ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] кривое helo
Mikhail Golub wrote on 17.06.2021 12:14: > Я дропаю. > > drop condition = ${if or {\ > {!match{$sender_helo_name}{\\\.}}\ > {match{$sender_helo_name}{\N^\.\N}}\ таких 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: >> Здравствуйте, . >> >> Гайзы, как на такое реагируете? >> >> nore...@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.669698349.28300375.1...@otrs.reg.ru >> >> или вот >> >> H=(serv-site1.localdomain) [185.183.174.114] F= >> inetnum: 185.183.174.0 - 185.183.175.255 >> netname: RSNET >> descr: Federal Guard Service of the Russian Federation >> > > > ___ > Exim-users mailing list > Exim-users@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 ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users
Re: [Exim-users] кривое helo
Я дропаю. 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: Здравствуйте, . Гайзы, как на такое реагируете? nore...@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.669698349.28300375.1...@otrs.reg.ru или вот H=(serv-site1.localdomain) [185.183.174.114] F= inetnum:185.183.174.0 - 185.183.175.255 netname:RSNET descr: Federal Guard Service of the Russian Federation ___ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users