Страница 1 из 1
exim_4.67 проверка получателя в заголовке To:
Добавлено: 2007-05-07 12:22:40
cyrus_user
Привет. Вот думаю сделать на этапе проверки заголовков такое:
если To: не содержит моих получателей, то тогда отбросить.
Но может так нельзя делать?
Добавлено: 2007-05-07 12:30:12
Alex Keda
можно
и по дефолту оно так и есть
Добавлено: 2007-05-08 5:20:16
cyrus_user
lissyara писал(а):можно
и по дефолту оно так и есть
что-то я по дефолту не вижу :)
а как тогда быть с рассылками? например To: undisclosured_resipients;
Добавлено: 2007-05-08 10:57:19
cyrus_user
lissyara писал(а):можно
и по дефолту оно так и есть
можно показать как именно по дефолту? я беру exim с exim.org и никаких дефолтных конфигов в сырцах не присутствует
Добавлено: 2007-05-08 11:17:58
Alex Keda
Код: Выделить всё
lissyara$ more /usr/local/etc/exim/configure.default | grep "require verify"
require verify = sender
require verify = recipient
# require verify = csa
lissyara$
линух чтоли?
изврасченцы
)
Добавлено: 2007-05-08 12:00:59
Zedik
lissyara писал(а):Код: Выделить всё
lissyara$ more /usr/local/etc/exim/configure.default | grep "require verify"
require verify = sender
require verify = recipient
# require verify = csa
lissyara$
линух чтоли?
изврасченцы
)
это точно...
я был одним из них...
счас слава богу на Фрю переехал...
Добавлено: 2007-05-08 12:42:06
cyrus_user
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
а require verify = recipient проверит именно получателя в заголовке To:? тогда если там undisclosured_recipients; то что будет?
зы1: правило исключения Сaйрус_Юзера номер один: если никто из воинствующих незнаек-линуксоидов не поднимает холивар и не пенит со рта проклятья в сторону других ОС, то всегда найдётся бзд-шник который попытается испортить дружественную идиллию.
зы2: ничего личного. холивары плиз в отдельный раздел.
Добавлено: 2007-05-08 12:52:12
dikens3
а require verify = recipient проверит именно получателя в заголовке To:? тогда если там undisclosured_recipients; то что будет?
Проверка verify работает со
своими и
внешними E-Mail'ами.
Отсюда:
1. Cо
своими (если получатель в твоём домене) проверяет наличие
undisclosured_recipients@yourdomain.ru
2. С
внешними только @ДОМЕН_НА_КОТОРЫЙ_ИДЁТ_ПИСЬМО.
Чтобы изменить что-то читаем перевод лисссяры по Exim.
defer_ok - рекомендую установить для require verify = recipient, может быть Greylisting, и проверка завершится неудачей.
^^ Мои домыслы. Читай доки.
Добавлено: 2007-05-08 13:00:00
cyrus_user
тогда либо я что-то не понял, либо меня не поняли.
спамер шлёт письмо:
rcpt to:
aaa@xxx.ru
^^^ тут начинает работать verify = recipient ( без разницы с callout или нет)
-skip-
DATA
но уже заголовок To:
bbb@xxx.ru
но тут классический verify = recipient уже не работает. иначе бы он сказал что
bbb@xxx.ru нету
Добавлено: 2007-05-08 13:08:39
cyrus_user
вот пример письма:
Код: Выделить всё
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
возможно я недопонимаю, вот и вопрос был по поводу доработки фильтров
Добавлено: 2007-05-08 14:01:57
dikens3
Проверяет
домен отправителя:
Код: Выделить всё
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
Добавлено: 2007-05-08 14:11:05
dikens3
Времени у меня сейчас нет подумать, праздник, но доки покажу:
http://www.lissyara.su/?id=1239#39.31
http://www.lissyara.su/?id=1207
поиск по
require в помощь на страницах.
Добавлено: 2007-05-08 14:13:34
cyrus_user
dikens3 писал(а):Проверяет
домен отправителя:
Код: Выделить всё
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
Но в документации сказано что callout проверяет сендера а не домен! exim_4.67_doc_40.36
Код: Выделить всё
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
как тогда Вaс понимать?
[/code]
Добавлено: 2007-05-08 14:34:34
dikens3
Ошибся, бывает, рад что документация помогает.
Отсюда могу предположить:
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.
P.S. Делай рандомную локальную часть и блокируй, если она вдруг примется проверяемым хостом.
Добавлено: 2007-05-08 14:52:23
cyrus_user
dikens3 писал(а):Ошибся, бывает, рад что документация помогает.
Отсюда могу предположить:
1. Истечение Time-Out'а
2. Проверка удачна
да дело не в том что ваше 1. defer_ok или ваше 2. callout cache: domain accepts random addresses
а в изначальном вопросе топика!
Я не сомневаюсь в вашей компетенции, но вы мне все советуете проверять 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|ещё_что_используемое_рассылками}}}}
Добавлено: 2007-05-08 14:56:48
cyrus_user
dikens3 писал(а):
P.S. Делай рандомную локальную часть и блокируй, если она вдруг примется проверяемым хостом.
тогда и mail.ru будет блокироваться :) знаете почему? потому что они сначала принимают _всё_ письмо...
а только потом анализируют.
Добавлено: 2007-05-08 15:09:53
dikens3
cyrus_user писал(а):dikens3 писал(а):
P.S. Делай рандомную локальную часть и блокируй, если она вдруг примется проверяемым хостом.
тогда и mail.ru будет блокироваться
знаете почему? потому что они сначала принимают _всё_ письмо...
а только потом анализируют.
Учту. Спасибо.
Добавлено: 2007-05-08 15:11:20
dikens3
cyrus_user писал(а):dikens3 писал(а):Ошибся, бывает, рад что документация помогает.
Отсюда могу предположить:
1. Истечение Time-Out'а
2. Проверка удачна
да дело не в том что ваше 1. defer_ok или ваше 2. callout cache: domain accepts random addresses
а в изначальном вопросе топика!
Я не сомневаюсь в вашей компетенции, но вы мне все советуете проверять 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
В случае отсутствия получателя письмо не принимается.
Если знаний недостаточно, то опишите принцип работы этого фильтра? Я поправлю.
Добавлено: 2007-05-08 15:27:18
cyrus_user
dikens3 писал(а):
Почему стандартные настройки не блокируют это письмо? Фильтры exim' составлены верно?
Код: Выделить всё
# Принимаем, если получатель и домен наши и существуют.
accept domains = +local_domains
endpass
message = "Unknown user"
verify = recipient
В случае отсутствия получателя письмо не принимается.
Если знаний недостаточно, то опишите принцип работы этого фильтра? Я поправлю.
потому что
bob@xxx.ru существует! поэтому такой фильтр пропускает сообщение.
повторяю 3-й раз. Внимательно смотрите на заголовки письма спамера. особенно на полe To:
Добавлено: 2007-05-08 15:31:10
dikens3
И где здесь твой домен? Фильтр должен работать.
Тут почитай, может твой случай.
http://forum.lissyara.su/viewtopic.php?t=3086
Добавлено: 2007-05-08 15:45:23
cyrus_user
да какая разница есть мой домен или нет. verify=recipient опрашивает роутеры и уже condition в роутерe возвращает есть ли такой получатель или нет.
если бы было написано rcpt to:
whikxwqxsr@sakrament.com то однозначна будет deny!
а вот по ссылке именно мой случай, но что-то вразумительных ответов там нет...
[/code]
Добавлено: 2007-05-08 15:58:15
Alex Keda
lissyara писал(а):где нить в системном фильтре, разбирать получателей конверта и сравнивать с тем, что было дано в заголовке From:
========
кстати - интересная задача - будет время - займусь.
Возможные грабли - получатель конверта может быть не один...
а времени всё нет и нет
Добавлено: 2007-05-08 15:58:41
dikens3
Это почему? Дан пример блокировки CC,BCC, есть ссылка как сделать без фильтра в acl_check_data (verify ="not_blind")
Что ещё нужно.
Я вот узнал что проверяется поле envelope-to в acl_check_rcpt, думал что поле to. TO: Может быть любым, если envelope-to содержит твоего юзверя.
Добавлено: 2007-05-10 5:30:25
cyrus_user
verify =not_blind не подходит сразу, режет практически все рассылки
envelope-to не является частью rfc2822, поэтому его в подавляющем большинстве писем просто нет.
вариации на тему Cc,Bcc опять же порежут много нужных писем.
остаётся вариант с весами для спамчекера или какой-то хитрый acl