exim ban list

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Аватара пользователя
mclaud
Advanced member
Сообщения: 79
Зарегистрирован: 20 апр 2005, 12:56
Откуда: Москва
Контактная информация:

Сообщение mclaud » 22 апр 2005, 17:39

не банит вообще

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 22 апр 2005, 17:40

mclaud писал(а):не банит вообще
да уж... зря я копипастил кондишин для примера... оказалось, что я его взял именно из той мессаги, где был пропущен знак доллара

советую потихонечку осваивать режимы -be, -bh, -bhc и начинать решать такие мелкие вопросы самостоятельно
--
/corvax

Аватара пользователя
mclaud
Advanced member
Сообщения: 79
Зарегистрирован: 20 апр 2005, 12:56
Откуда: Москва
Контактная информация:

Сообщение mclaud » 22 апр 2005, 17:43

только хотел написать что разобрался - но ты опередил. Спасибо.

Pavel NS
Junior member
Сообщения: 17
Зарегистрирован: 07 ноя 2005, 16:40
Откуда: Петербург

Сообщение Pavel NS » 19 май 2006, 15:28

Hi
Подсажите, что неправильно в конфиге exim !?!?
Нужно сделать проверку по имени хоста на предмет содержащихся в нем слов "adsl|dial-up|client" и т.д. и в случае, если такие слова есть в обратном имени хоста-отправителя письма с него не принимать.
Соответственно в acl добаляю:
deny massage = Forged host
condition = ${if match{$sender_host_name}{\N(adsl|dial-up|client}{yes}{no}}
Но все равно, exim не реджектит хост, хотя в имени хоста есть dial-up
Условие почему-то = no
Подскажите, в чем затык?

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 19 май 2006, 15:57

Pavel NS писал(а):Hi
Подсажите, что неправильно в конфиге exim !?!?
Нужно сделать проверку по имени хоста на предмет содержащихся в нем слов "adsl|dial-up|client" и т.д. и в случае, если такие слова есть в обратном имени хоста-отправителя письма с него не принимать.
Соответственно в acl добаляю:
deny massage = Forged host
condition = ${if match{$sender_host_name}{\N(adsl|dial-up|client}{yes}{no}}
регексп кривой
Pavel NS писал(а):Но все равно, exim не реджектит хост, хотя в имени хоста есть dial-up
Условие почему-то = no
Подскажите, в чем затык?
всегда условия сначала проверяйте в exim -be
--
/corvax

Pavel NS
Junior member
Сообщения: 17
Зарегистрирован: 07 ноя 2005, 16:40
Откуда: Петербург

Сообщение Pavel NS » 19 май 2006, 17:30

corvax писал(а): регексп кривой

всегда условия сначала проверяйте в exim -be
А так:
condition = ${if match{$sender_host_name}{\N(dial-up|adsl)\N}{yes}{no}}
А что неправильно?
А как сделать правильно?

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 19 май 2006, 17:40

Pavel NS писал(а):
corvax писал(а): регексп кривой

всегда условия сначала проверяйте в exim -be
А так:
condition = ${if match{$sender_host_name}{\N(dial-up|adsl)\N}{yes}{no}}
значительно лучше
Pavel NS писал(а):А что неправильно?
а что, вы даже не заметили, что правили в регекспе?
Pavel NS писал(а):А как сделать правильно?
--
/corvax

Pavel NS
Junior member
Сообщения: 17
Зарегистрирован: 07 ноя 2005, 16:40
Откуда: Петербург

Сообщение Pavel NS » 19 май 2006, 17:53

Заметил что в первый раз написал с ошибкой. Сейчас просто копи-пастил.

Так ведь не срабатывает условие!
Чего-то я не понимаю, может поможете?

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 19 май 2006, 17:58

Pavel NS писал(а):Заметил что в первый раз написал с ошибкой. Сейчас просто копи-пастил.

Так ведь не срабатывает условие!
Чего-то я не понимаю, может поможете?
exim -bh поможет разобраться
--
/corvax

Pavel NS
Junior member
Сообщения: 17
Зарегистрирован: 07 ноя 2005, 16:40
Откуда: Петербург

Сообщение Pavel NS » 19 май 2006, 18:27

corvax писал(а):
Pavel NS писал(а):Заметил что в первый раз написал с ошибкой. Сейчас просто копи-пастил.

Так ведь не срабатывает условие!
Чего-то я не понимаю, может поможете?
exim -bh поможет разобраться
Так, похоже, что exim выполняет 2 проверки: имя хоста по ip, а затем проверяет ip по найденному имени хоста (зачем только?). В случае, если он не может определить ip по найденному имени хоста то условие на работает!?! В случае, если вторая проверка удается то условие срабатывает.
Как сделать, чтобы условие проверялось и при отсутствии прямой записи в днс?
В конфиге по умолчанию: host_lookup = *

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 19 май 2006, 20:01

Pavel NS писал(а):
corvax писал(а):
Pavel NS писал(а):Заметил что в первый раз написал с ошибкой. Сейчас просто копи-пастил.

Так ведь не срабатывает условие!
Чего-то я не понимаю, может поможете?
exim -bh поможет разобраться
Так, похоже, что exim выполняет 2 проверки: имя хоста по ip, а затем проверяет ip по найденному имени хоста (зачем только?).
чтобы $sender_host_name невозможно было сфальсифицировать изменив лишь запись в реверсной зоне
Pavel NS писал(а): В случае, если он не может определить ip по найденному имени хоста то условие на работает!?!
если нет записи в прямой зоне или она не соответствует записи в реверной зоне, то значение $sender_host_name не определено, что явно указано в документации
Pavel NS писал(а): В случае, если вторая проверка удается то условие срабатывает.
Как сделать, чтобы условие проверялось и при отсутствии прямой записи в днс?
В конфиге по умолчанию: host_lookup = *
получить PTR запись хоста рилея отправителя с помощью dnsdb и проверять его как угодно
--
/corvax

LISTEN
Junior member
Сообщения: 6
Зарегистрирован: 24 июл 2006, 10:59

Сообщение LISTEN » 25 июл 2006, 12:34

Приветствую!
Подскажите, каким образом можно отшибать почту, о которой exim "говорит" вот такое:

Received: from 59-125-97-179.hinet-ip.hinet.net ([59.125.97.179] helo=localhost)

Буду благодарен за пример!

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 25 июл 2006, 13:35

LISTEN писал(а):Подскажите, каким образом можно отшибать почту, о которой exim "говорит" вот такое:

Received: from 59-125-97-179.hinet-ip.hinet.net ([59.125.97.179] helo=localhost)
вот такое - это что? имелась ввиду фитрация по helo? A записи рилея? PTR записи рилея
Буду благодарен за пример!
лучше бы вместо благодарности формулировали вопрос по-человечески...
--
/corvax

LISTEN
Junior member
Сообщения: 6
Зарегистрирован: 24 июл 2006, 10:59

Сообщение LISTEN » 25 июл 2006, 14:07

Конфигурация такая: стоит exim 4.50 (stella), который всю входящую внешнюю почту "отдает" Exchange (chip), предварительно "спросив" наличие юзера в активдиректори. Сейчас подобные письма (см. заголовок ниже), проходят "на ура", но у них у всех одна отличительная особенность (helo=localhost). Насколько я понимаю, удаленный хост "отдает" свое имя, как localhost. Дак вот, как можно обрубить такие письма, при условии, что ИП-адрес !=127.0.0.1, а имя = localhost?

вот типичный заголовок такого письма:

Microsoft Mail Internet Headers Version 2.0
Received: from stella.abcd.ru ([aa.bb.cc.dd]) by chip.abcd.ru with # мой релей aa.bb.cc.dd (и никак не localhost)
Microsoft SMTPSVC(6.0.3790.1830);
Tue, 25 Jul 2006 15:10:17 +0600
Received: from [218.6.45.5] (helo=localhost)
by stella.abcd.ru with smtp (Exim 4.50)
id 1G5J3U-000FT9-PR
for admin@abcd.ru; Tue, 25 Jul 2006 15:18:27 +0600
(дальше уже не интересно)

(Вроде правильно объяснил суть проблемы)

Аватара пользователя
corvax
free-lance moderator
Сообщения: 877
Зарегистрирован: 06 авг 2004, 17:21
Откуда: Kiev, Ukraine
Контактная информация:

Сообщение corvax » 25 июл 2006, 14:52

LISTEN писал(а):Конфигурация такая: стоит exim 4.50 (stella), который всю входящую внешнюю почту "отдает" Exchange (chip), предварительно "спросив" наличие юзера в активдиректори. Сейчас подобные письма (см. заголовок ниже), проходят "на ура", но у них у всех одна отличительная особенность (helo=localhost). Насколько я понимаю, удаленный хост "отдает" свое имя, как localhost. Дак вот, как можно обрубить такие письма, при условии, что ИП-адрес !=127.0.0.1, а имя = localhost?

вот типичный заголовок такого письма:

Microsoft Mail Internet Headers Version 2.0
Received: from stella.abcd.ru ([aa.bb.cc.dd]) by chip.abcd.ru with # мой релей aa.bb.cc.dd (и никак не localhost)
Microsoft SMTPSVC(6.0.3790.1830);
Tue, 25 Jul 2006 15:10:17 +0600
Received: from [218.6.45.5] (helo=localhost)
by stella.abcd.ru with smtp (Exim 4.50)
id 1G5J3U-000FT9-PR
for admin@abcd.ru; Tue, 25 Jul 2006 15:18:27 +0600
(дальше уже не интересно)

(Вроде правильно объяснил суть проблемы)
deny    ! hosts         = 127.0.0.1
          condition       = ${if eq{$sender_helo_name}{localhost}{yes}{no}}

фильтр тривиальный, в доке на эксим все это описано
я бы еще посоветовал почитать
http://www.tldp.org/HOWTO/Spam-Filtering-for-MX/

там много теории, но в конце есть примеры для эксима
--
/corvax

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей