exim_4.67 проверка получателя в заголовке To:
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
exim_4.67 проверка получателя в заголовке To:
Привет. Вот думаю сделать на этапе проверки заголовков такое:
если To: не содержит моих получателей, то тогда отбросить.
Но может так нельзя делать?
если To: не содержит моих получателей, то тогда отбросить.
Но может так нельзя делать?
Услуги хостинговой компании 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
- стреляли...
- Сообщения: 35420
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
- Alex Keda
- стреляли...
- Сообщения: 35420
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Код: Выделить всё
lissyara$ more /usr/local/etc/exim/configure.default | grep "require verify"
require verify = sender
require verify = recipient
# require verify = csa
lissyara$
изврасченцы

Убей их всех! Бог потом рассортирует...
- Zedik
- сержант
- Сообщения: 283
- Зарегистрирован: 2007-01-20 22:30:57
- Откуда: 127.0.0.1
это точно...lissyara писал(а):линух чтоли?Код: Выделить всё
lissyara$ more /usr/local/etc/exim/configure.default | grep "require verify" require verify = sender require verify = recipient # require verify = csa lissyara$
изврасченцы)
я был одним из них...

счас слава богу на Фрю переехал...

-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
ээ, я думал это что-то типаlissyara писал(а):линух чтоли?Код: Выделить всё
lissyara$ more /usr/local/etc/exim/configure.default | grep "require verify" require verify = sender require verify = recipient # require verify = csa lissyara$
изврасченцы :))
Код: Выделить всё
verify = recipient/no_details/callout=random,defer_ok,100s
зы1: правило исключения Сaйрус_Юзера номер один: если никто из воинствующих незнаек-линуксоидов не поднимает холивар и не пенит со рта проклятья в сторону других ОС, то всегда найдётся бзд-шник который попытается испортить дружественную идиллию.
зы2: ничего личного. холивары плиз в отдельный раздел.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Проверка verify работает со своими и внешними E-Mail'ами.а require verify = recipient проверит именно получателя в заголовке To:? тогда если там undisclosured_recipients; то что будет?
Отсюда:
1. Cо своими (если получатель в твоём домене) проверяет наличие undisclosured_recipients@yourdomain.ru
2. С внешними только @ДОМЕН_НА_КОТОРЫЙ_ИДЁТ_ПИСЬМО.
Чтобы изменить что-то читаем перевод лисссяры по Exim.
defer_ok - рекомендую установить для require verify = recipient, может быть Greylisting, и проверка завершится неудачей.
^^ Мои домыслы. Читай доки.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
тогда либо я что-то не понял, либо меня не поняли.
спамер шлёт письмо:
rcpt to: aaa@xxx.ru
^^^ тут начинает работать verify = recipient ( без разницы с callout или нет)
-skip-
DATA
но уже заголовок To: bbb@xxx.ru
но тут классический verify = recipient уже не работает. иначе бы он сказал что bbb@xxx.ru нету
спамер шлёт письмо:
rcpt to: aaa@xxx.ru
^^^ тут начинает работать verify = recipient ( без разницы с callout или нет)
-skip-
DATA
но уже заголовок To: bbb@xxx.ru
но тут классический verify = recipient уже не работает. иначе бы он сказал что bbb@xxx.ru нету
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
вот пример письма:
вот такие мои проверки не сработали:
deny message = Sender Verify Failed
!verify = sender/no_details/callout=random,defer_ok,100s
и
deny message = No Such User Here
!verify = recipient
возможно я недопонимаю, вот и вопрос был по поводу доработки фильтров
Код: Выделить всё
Return-Path: <whikxwqxsr@sakrament.com>^
Return-path: <whikxwqxsr@sakrament.com>^
Received: from mail by xxx.ru with spam-scanned (Exim 4.67)
(envelope-from <whikxwqxsr@sakrament.com>)
id 1Hl2Ta-0007LR-GF
for bob@xxx.ru; Mon, 07 May 2007 21:38:02 +0900
Received: from c934d299.virtua.com.br ([201.52.210.153])^
by xxx.ru with smtp (Exim 4.67)^
(envelope-from <whikxwqxsr@sakrament.com>)^
id 1Hl2TZ-0007LC-0H; Mon, 07 May 2007 21:38:01 +0900^
From: "=?koi8-r?B?88/eyQ==?=" <whikxwqxsr@sakrament.com>^
To: <whikxwqxsr@sakrament.com>^
Subject: =?koi8-r?B?2sXNxczYztnKINXewdPUz8sg1yDzz97J?=^
deny message = Sender Verify Failed
!verify = sender/no_details/callout=random,defer_ok,100s
и
deny message = No Such User Here
!verify = recipient
возможно я недопонимаю, вот и вопрос был по поводу доработки фильтров
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Проверяет домен отправителя:Он нормально существует:
Вывод: Блок не работает.
P.S. Для отладки используем exim -bh ВНЕШНИЙ_IP
Код: Выделить всё
deny message = Sender Verify Failed
!verify = sender/no_details/callout=random,defer_ok,100s
Код: Выделить всё
# host sakrament.com
sakrament.com has address 65.254.54.178
sakrament.com mail is handled by 0 sakrament.com
P.S. Для отладки используем exim -bh ВНЕШНИЙ_IP
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Времени у меня сейчас нет подумать, праздник, но доки покажу:
http://www.lissyara.su/?id=1239#39.31
http://www.lissyara.su/?id=1207
поиск по require в помощь на страницах.
http://www.lissyara.su/?id=1239#39.31
http://www.lissyara.su/?id=1207
поиск по require в помощь на страницах.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
Но в документации сказано что callout проверяет сендера а не домен! exim_4.67_doc_40.36dikens3 писал(а):Проверяет домен отправителя:Он нормально существует:Код: Выделить всё
deny message = Sender Verify Failed !verify = sender/no_details/callout=random,defer_ok,100s
Вывод: Блок не работает.Код: Выделить всё
# host sakrament.com sakrament.com has address 65.254.54.178 sakrament.com mail is handled by 0 sakrament.com
P.S. Для отладки используем exim -bh ВНЕШНИЙ_IP
Код: Выделить всё
For a sender callout check, Exim makes SMTP connections to the remote hosts, to
test whether a bounce message could be delivered to the sender address. The
following SMTP commands are sent:
HELO <local host name>
MAIL FROM:<>
RCPT TO:<the address to be tested>
QUIT
[/code]
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Ошибся, бывает, рад что документация помогает.
Отсюда могу предположить:
1. Истечение Time-Out'а
2. Проверка удачна. (Смотри лог приведённый ниже)
P.S. Делай рандомную локальную часть и блокируй, если она вдруг примется проверяемым хостом.
Отсюда могу предположить:
1. Истечение Time-Out'а
2. Проверка удачна. (Смотри лог приведённый ниже)
Код: Выделить всё
# telnet sakrament.com 25
Trying 65.254.54.178...
Connected to sakrament.com.
Escape character is '^]'.
220-host33.coolservecorp.net ESMTP Exim 4.63 #1 Tue, 08 May 2007 11:35:27 +0000
220-We do not authorize the use of this system to transport unsolicited,
220 and/or bulk e-mail.
EHLO mail.domain.ru
250-host33.coolservecorp.net Hello mail.domain.ru [82.208.x.x]
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
MAIL FROM: <dik@domain.ru>
250 OK
RCPT TO: <whikxwqxsr@sakrament.com>
250 Accepted
QUIT
221 host33.coolservecorp.net closing connection
Connection closed by foreign host.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
да дело не в том что ваше 1. defer_ok или ваше 2. callout cache: domain accepts random addressesdikens3 писал(а):Ошибся, бывает, рад что документация помогает.
Отсюда могу предположить:
1. Истечение Time-Out'а
2. Проверка удачна
а в изначальном вопросе топика!
Я не сомневаюсь в вашей компетенции, но вы мне все советуете проверять mail from: rcpt to: А я же вас спрашиваю про проверку ЗАГОЛОВКА To: поскольку спам-робот (наверно) тупо копирует письмо с заголовками в DATA
Пример привёл выше, посмотрите внимательно. спамер написал в rcpt to: bob@xxx.ru а в заголовке To: whikxwqxsr@sakrament.com, а мог что угодно.
Повторяюсь, есть ли смысл проверять To: и если да, то как это сделать лучше.
Пока я придумал так (синтаксис ещё не доработан):
Код: Выделить всё
deny message = Идите На
condition = ${if and {\
{!match {${lc:$h_to:}}{полный_список_моих_получателей}}\
{match {${lc:$h_to:}}{undisclosured|ещё_что_используемое_рассылками}}}}
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Учту. Спасибо.cyrus_user писал(а):тогда и mail.ru будет блокироватьсяdikens3 писал(а): P.S. Делай рандомную локальную часть и блокируй, если она вдруг примется проверяемым хостом.знаете почему? потому что они сначала принимают _всё_ письмо...
а только потом анализируют.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Мне пофиг на свою компетенцию, если я в состоянии помочь.cyrus_user писал(а):да дело не в том что ваше 1. defer_ok или ваше 2. callout cache: domain accepts random addressesdikens3 писал(а):Ошибся, бывает, рад что документация помогает.
Отсюда могу предположить:
1. Истечение Time-Out'а
2. Проверка удачна
а в изначальном вопросе топика!
Я не сомневаюсь в вашей компетенции, но вы мне все советуете проверять mail from: rcpt to: А я же вас спрашиваю про проверку ЗАГОЛОВКА To: поскольку спам-робот (наверно) тупо копирует письмо с заголовками в DATA
Пример привёл выше, посмотрите внимательно. спамер написал в rcpt to: bob@xxx.ru а в заголовке To: whikxwqxsr@sakrament.com, а мог что угодно.
Повторяюсь, есть ли смысл проверять To: и если да, то как это сделать лучше.
Пока я придумал так (синтаксис ещё не доработан):Код: Выделить всё
deny message = Идите На condition = ${if and {\ {!match {${lc:$h_to:}}{полный_список_моих_получателей}}\ {match {${lc:$h_to:}}{undisclosured|ещё_что_используемое_рассылками}}}}
Почему стандартные настройки не блокируют это письмо? Фильтры exim' составлены верно?
Код: Выделить всё
# Принимаем, если получатель и домен наши и существуют.
accept domains = +local_domains
endpass
message = "Unknown user"
verify = recipient
Если знаний недостаточно, то опишите принцип работы этого фильтра? Я поправлю.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
dikens3 писал(а): Почему стандартные настройки не блокируют это письмо? Фильтры exim' составлены верно?В случае отсутствия получателя письмо не принимается.Код: Выделить всё
# Принимаем, если получатель и домен наши и существуют. accept domains = +local_domains endpass message = "Unknown user" verify = recipient
Если знаний недостаточно, то опишите принцип работы этого фильтра? Я поправлю.
потому что bob@xxx.ru существует! поэтому такой фильтр пропускает сообщение.
повторяю 3-й раз. Внимательно смотрите на заголовки письма спамера. особенно на полe To:
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Код: Выделить всё
To: <whikxwqxsr@sakrament.com>
Тут почитай, может твой случай.
http://forum.lissyara.su/viewtopic.php?t=3086
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36
да какая разница есть мой домен или нет. verify=recipient опрашивает роутеры и уже condition в роутерe возвращает есть ли такой получатель или нет.dikens3 писал(а):И где здесь твой домен? Фильтр должен работать.Код: Выделить всё
To: <whikxwqxsr@sakrament.com>
Тут почитай, может твой случай.
http://forum.lissyara.su/viewtopic.php?t=3086
если бы было написано rcpt to: whikxwqxsr@sakrament.com то однозначна будет deny!
а вот по ссылке именно мой случай, но что-то вразумительных ответов там нет...
[/code]
- Alex Keda
- стреляли...
- Сообщения: 35420
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
а времени всё нет и нетlissyara писал(а):где нить в системном фильтре, разбирать получателей конверта и сравнивать с тем, что было дано в заголовке From:
========
кстати - интересная задача - будет время - займусь.
Возможные грабли - получатель конверта может быть не один...
Убей их всех! Бог потом рассортирует...
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Это почему? Дан пример блокировки CC,BCC, есть ссылка как сделать без фильтра в acl_check_data (verify ="not_blind")
Что ещё нужно.
Я вот узнал что проверяется поле envelope-to в acl_check_rcpt, думал что поле to. TO: Может быть любым, если envelope-to содержит твоего юзверя.
Что ещё нужно.
Я вот узнал что проверяется поле envelope-to в acl_check_rcpt, думал что поле to. TO: Может быть любым, если envelope-to содержит твоего юзверя.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 181
- Зарегистрирован: 2007-04-24 12:16:36