Bounce message. Exim ...
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- gmn
- сержант
- Сообщения: 239
- Зарегистрирован: 2007-02-28 18:01:37
- Откуда: UA, Kiev
- Контактная информация:
Bounce message. Exim ...
Всем привет.
Чего-то в последнее время стали доставать отлупы от других серверов.
SPF-записи для доменов есть, но это панацея от NDR.
Отлупы размером больше 64 Кб не принимаю (так сам решил, стандарта такого нет).
Но отлупы меньшего размера приходят.
Объем почты достаточно большой - порядка 30 000 писем в сутки в на прием и столько же на отправку (приблизительно поровну).
Вопрос - кто как борется с левыми (не предназначенными его получателям) bounce message?
Думал писать в базу связки "отправитель-получатель(и)" - много записей получится за 7 дней, да и есть сайты на хостинге, которые отправляют почту не с моего сервера, но от моих доменов.
Вариант полностью не принимать NDR не подходит, так как не шаровой сервис (некоторые бесплатные почтовые службы просто не приинмают NDR), и пользователь должен быть уведомлен о недоставленном сообщении.
Чего-то в последнее время стали доставать отлупы от других серверов.
SPF-записи для доменов есть, но это панацея от NDR.
Отлупы размером больше 64 Кб не принимаю (так сам решил, стандарта такого нет).
Но отлупы меньшего размера приходят.
Объем почты достаточно большой - порядка 30 000 писем в сутки в на прием и столько же на отправку (приблизительно поровну).
Вопрос - кто как борется с левыми (не предназначенными его получателям) bounce message?
Думал писать в базу связки "отправитель-получатель(и)" - много записей получится за 7 дней, да и есть сайты на хостинге, которые отправляют почту не с моего сервера, но от моих доменов.
Вариант полностью не принимать NDR не подходит, так как не шаровой сервис (некоторые бесплатные почтовые службы просто не приинмают NDR), и пользователь должен быть уведомлен о недоставленном сообщении.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Alex Keda
- стреляли...
- Сообщения: 35439
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Bounce message. Exim ...
Убей их всех! Бог потом рассортирует...
- gmn
- сержант
- Сообщения: 239
- Зарегистрирован: 2007-02-28 18:01:37
- Откуда: UA, Kiev
- Контактная информация:
Re: Bounce message. Exim ...
Да, вариант. Но будет работать если сервер-отправитель NDR будет включать часть исходного сообщения, но не все включают хотя бы заголовки исходного сообщения.
Да и при описанном решении отлупы на письма, отправленные с сайтов на хостинге не будут приняты.
Да и при описанном решении отлупы на письма, отправленные с сайтов на хостинге не будут приняты.
- Alex Keda
- стреляли...
- Сообщения: 35439
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Bounce message. Exim ...
универсального решения нет.
остаётся тока заводить фалик куда добавлять свои хосты - сайты-фигайты и по нему исключать..
остаётся тока заводить фалик куда добавлять свои хосты - сайты-фигайты и по нему исключать..
Убей их всех! Бог потом рассортирует...
- gmn
- сержант
- Сообщения: 239
- Зарегистрирован: 2007-02-28 18:01:37
- Откуда: UA, Kiev
- Контактная информация:
Re: Bounce message. Exim ...
И в случае приведенного ниже NDR твой вариант не спасет, так как primary_hostname есть в теле письма - relay.domain.ru, но письмо с этого хоста не отправлялось (т.е. получается, что спамеры просматривают имена хостов MX для поддельного адреса отправителя):
Код: Выделить всё
------ This is a copy of the message, including all the headers. ------
Return-path: <edu@domain.ru>
Received: from [222.171.12.89]
by balthasar.solaris.ru with esmtp (Exim 4.66 (FreeBSD))
(envelope-from <edu@domain.ru>)
id 1IAnpw-000NTf-JX
for mscdcrhhtxhiylcprgus@solaris.ru; Tue, 17 Jul 2007 18:15:40 +0400
Received: from [222.171.12.89] by relay.domain.ru; Tue, 17 Jul 2007 14:15:52 -0800
Message-ID: <01c7c87c$fb61d0a0$590cabde@edu>
From: =?koi8-r?B?IkPBzc/FIMnO1MXSxdPOz8Ug1yDtxdbE1c7B0s/EztnIIPPUwc7EwQ==?=
=?koi8-r?B?0tTByCDmyc7BztPP18/KIO/U3sXUzs/T1MkuIPfXz8TO2cogy9XS0w==?=
=?koi8-r?B?LiI=?= <edu@incom.ua>
To: <mscdcrhhtxhiylcprgus@solaris.ru>
Subject: =?koi8-r?B?98HM0Q==?=
Date: Tue, 17 Jul 2007 14:15:52 -0800
- Alex Keda
- стреляли...
- Сообщения: 35439
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Bounce message. Exim ...
там проверяется наличие заголовка, а не кго содержимое...
Убей их всех! Бог потом рассортирует...
- gmn
- сержант
- Сообщения: 239
- Зарегистрирован: 2007-02-28 18:01:37
- Откуда: UA, Kiev
- Контактная информация:
Re: Bounce message. Exim ...
Да, извини ...lissyara писал(а):там проверяется наличие заголовка, а не его содержимое...
Действительно.
И попроще вариант будет, чем BATV.
А адреса, с которых отправляют сайты письма на хостингах у меня всеравно в одтельной зоне для SPF. Можно оттуда их доставать и исключать из правила.
- Alex Keda
- стреляли...
- Сообщения: 35439
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Bounce message. Exim ...
можно, в конце концов, не рубать - а жёстко докидывать очков выше порога на спам и всё...
Убей их всех! Бог потом рассортирует...
- gmn
- сержант
- Сообщения: 239
- Зарегистрирован: 2007-02-28 18:01:37
- Откуда: UA, Kiev
- Контактная информация:
Re: Bounce message. Exim ...
В итоге сделал так.
Т.е. сработает при условии получения NDR не чаще трех за 30 минут.
Код: Выделить всё
# Борьба с "левыми" NDR.
# Заносим в базу адрес или обновляем метку времени при получении NDR.
warn senders = :
hosts = !+relay_from_hosts
condition = ${lookup mysql{INSERT INTO bounce_counter (date,recipient,count) VALUES (now(),'$recipients','1') ON DUPLICATE KEY UPDATE count=`count`+1,date=now();}{yes}{no}}
# Блокируем, если адрес получателя есть в базе.
drop log_message = 550 Too many bounce messages to $recipients at last 30 minutes.
hosts = !+relay_from_hosts
senders = :
condition = ${lookup mysql{SELECT recipient FROM bounce_counter WHERE `recipient`='$recipients' AND count>3;}{yes}{no}}
message = 550 Too many bounce messages to $recipients at last 30 minutes.
## Записи с count меньше 3 и старее 30 мин. удаляются из базы из cron-а.
## Записи, старее 1 часа удаляются из базы без условий.
- Alex Keda
- стреляли...
- Сообщения: 35439
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Bounce message. Exim ...
дамп структуры таблицы приложи...
Убей их всех! Бог потом рассортирует...
- gmn
- сержант
- Сообщения: 239
- Зарегистрирован: 2007-02-28 18:01:37
- Откуда: UA, Kiev
- Контактная информация:
Re: Bounce message. Exim ...
Да дамп простой ...
А это скрипт, который запускается из крона и "чистит" таблицу каждые 15 мин. Писал на Perl мне так удобнее).
Думал переделать используя ratelimit. Но пока не придумал как именно реализовать.
Код: Выделить всё
CREATE TABLE IF NOT EXISTS `bounce_counter` (
`date` timestamp NOT NULL default CURRENT_TIMESTAMP,
`recipient` varchar(100) NOT NULL default '',
`count` int(3) NOT NULL default 0,
PRIMARY KEY (`recipient`),
UNIQUE KEY `ip` (`recipient`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Код: Выделить всё
...
$query=("delete from bounce_counter where UNIX_TIMESTAMP(date)<UNIX_TIMESTAMP(now())-1800;");
$sth=$dbh->prepare($query); $sth->execute;
...
- gmn
- сержант
- Сообщения: 239
- Зарегистрирован: 2007-02-28 18:01:37
- Откуда: UA, Kiev
- Контактная информация:
Re: Bounce message. Exim ...
Переделал на ratelimit.
Проще, и красивее.
Сделал, что не больше 2-х bounce-сообщений за 30 мин на один адрес получателя.
Можно поменять "for $sender_host_address" на адрес получателя - так как на получателя лимитируем ... А получатель может быть только один.
Проще, и красивее.
Код: Выделить всё
# ratelimit for bounce messages for recipient
drop hosts = !+relay_from_hosts
senders = :
message = Bounce messages rate exceeds per $sender_rate_period for $sender_host_address
log_message = Bounce messages rate exceeds per $sender_rate_period for $sender_host_address
ratelimit = 2 / 30m / per_rcpt / $sender_host_address
Можно поменять "for $sender_host_address" на адрес получателя - так как на получателя лимитируем ... А получатель может быть только один.
- Alex Keda
- стреляли...
- Сообщения: 35439
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Bounce message. Exim ...
В полезные настройки засунь.gmn писал(а):Переделал на ratelimit.
Проще, и красивее.Сделал, что не больше 2-х bounce-сообщений за 30 мин на один адрес получателя.Код: Выделить всё
# ratelimit for bounce messages for recipient drop hosts = !+relay_from_hosts senders = : message = Bounce messages rate exceeds per $sender_rate_period for $sender_host_address log_message = Bounce messages rate exceeds per $sender_rate_period for $sender_host_address ratelimit = 2 / 30m / per_rcpt / $sender_host_address
Можно поменять "for $sender_host_address" на адрес получателя - так как на получателя лимитируем ... А получатель может быть только один.
хорошая идея.
Убей их всех! Бог потом рассортирует...
- Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Re: Bounce message. Exim ...
ВНИМАНИЕ, кто тупо ставит себе этот код, пожалуйста думайте!!!lissyara писал(а):В полезные настройки засунь.gmn писал(а):Переделал на ratelimit.
Проще, и красивее.Сделал, что не больше 2-х bounce-сообщений за 30 мин на один адрес получателя.Код: Выделить всё
# ratelimit for bounce messages for recipient drop hosts = !+relay_from_hosts senders = : message = Bounce messages rate exceeds per $sender_rate_period for $sender_host_address log_message = Bounce messages rate exceeds per $sender_rate_period for $sender_host_address ratelimit = 2 / 30m / per_rcpt / $sender_host_address
Можно поменять "for $sender_host_address" на адрес получателя - так как на получателя лимитируем ... А получатель может быть только один.
хорошая идея.

Откройте http://forum.lissyara.su/viewtopic.php? ... 577#p35868 и берите вдумчиво от туда код!
Я вижу у себя в логах много отлупов от моих проверок отправителя (sender verify) выдают чужие сервера!
Блин, поставили дроп, а думать не научились!!!
Дроп ставить надо в predata

ДУМАЙТЕ перед тем как что-то делать, ставьте warn на день-два, наблюдайте, потом ставьте drop/deny!
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
- Alex Keda
- стреляли...
- Сообщения: 35439
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Bounce message. Exim ...
у меня вообще макрос вместо верба стоит...
удобнов - водном месте в конфиге можно в любой момент сменить дени на дефер.
при отладке помогает
удобнов - водном месте в конфиге можно в любой момент сменить дени на дефер.
при отладке помогает
Убей их всех! Бог потом рассортирует...
- Laa
- ст. лейтенант
- Сообщения: 1032
- Зарегистрирован: 2008-02-21 18:25:33
- Откуда: Украина, Россия
Re: Bounce message. Exim ...
Ну то что ты молодец -- у меня сомнений нетlissyara писал(а):у меня вообще макрос вместо верба стоит...
удобнов - водном месте в конфиге можно в любой момент сменить дени на дефер.
при отладке помогает

А сколько народа тупо копирует, ставит и считает что спама стало меньше! И даже не подозревают, что и почты стало меньше

exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!
- gmn
- сержант
- Сообщения: 239
- Зарегистрирован: 2007-02-28 18:01:37
- Откуда: UA, Kiev
- Контактная информация:
Re: Bounce message. Exim ...
Так "думать" никто не отменял 
и по приведенной ссылке http://forum.lissyara.su/viewtopic.php? ... 577#p35868 написано "В acl predata блокируем.".

и по приведенной ссылке http://forum.lissyara.su/viewtopic.php? ... 577#p35868 написано "В acl predata блокируем.".
-
- проходил мимо
- Сообщения: 5
- Зарегистрирован: 2012-11-28 13:13:55
Re: Bounce message. Exim ...
А разве вариант http://forum.lissyara.su/viewtopic.php? ... 577#p26093 будет работать? В $message_body вроде только первые 500 символов...