Re: [Exim-users] кривое helo

2021-06-17 Пенетрантность Lena
> Ругается на 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

2021-06-17 Пенетрантность Alexander Sheiko
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

2021-06-17 Пенетрантность Alexander Sheiko
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

2021-06-17 Пенетрантность Lena
> > и проверка существования ящика отправителя (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

2021-06-17 Пенетрантность Alexander Sheiko
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

2021-06-17 Пенетрантность Mikhail Golub

Виктор, давайте не цеплятся к фразам буквально :)

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

2021-06-17 Пенетрантность Victor Ustugov
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

2021-06-17 Пенетрантность Mikhail Golub



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

2021-06-17 Пенетрантность Victor Ustugov
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

2021-06-17 Пенетрантность Mikhail Golub

Я дропаю.

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