exim ban list

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

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

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

exim ban list

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

Стоит free 4.1 exim+sa+clam как шлюз для exchange все работает ок, но.
Проблема: в конфиге exim
main
hostlist host_reject= /usr/local/etc/exim/acl/reject
acl
deny hosts = +host_reject
message =You are banned. We're so sorry.
добавляю в файл reject *@mail.ru -не банит с этого домена
говорили вроде что нужно не имена а IP туда записывать - это не подходит. Сейчас EXCHANGE занимается отсеиванием почты по именам домено, но это не правильно. Подскажите как exim это сделать.

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

Re: exim ban list

Сообщение corvax » 20 апр 2005, 13:38

mclaud писал(а):Стоит free 4.1 exim+sa+clam как шлюз для exchange все работает ок, но.
Проблема: в конфиге exim
main
hostlist host_reject= /usr/local/etc/exim/acl/reject
acl
deny hosts = +host_reject
message =You are banned. We're so sorry.
добавляю в файл reject *@mail.ru -не банит с этого домена
естественно. даже если не читать доку, а просто попытаться на русский язык перевести параметр hostlist, то после этого можно не пытаться даже в этот файл вносить маски адресов e-mail
mclaud писал(а):говорили вроде что нужно не имена а IP туда записывать - это не подходит.
для hostlist это как раз подходит
mclaud писал(а):Сейчас EXCHANGE занимается отсеиванием почты по именам домено, но это не правильно. Подскажите как exim это сделать.
почитать доку на счет lookup и wildlsearch
в exim'е одна из самых разжеванных док из тех, что я видел
--
/corvax

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

Сообщение mclaud » 20 апр 2005, 14:26

deny message = Blacklisted file extension detected
      condition =
${if match ${lookup{$domain}lsearch{/usr/local/etc/exim/bablist}}
а в banlist:
*@mail.ru
*@*.com
es@ya.ru
так?

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

Сообщение corvax » 20 апр 2005, 14:56

mclaud писал(а):deny message = Blacklisted file extension detected
      condition =
${if match ${lookup{$domain}lsearch{/usr/local/etc/exim/bablist}}
а в banlist:
*@mail.ru
*@*.com
es@ya.ru
так?
не так
match сам по себе - это сравнение выражения с регулярным выражением
да и лучше в данном случае использовать wildlsearch, а не lsearch
да и искать нужно не $domain, а $sender_address
да и файл наверное называется banlist, а не bablist
да и message странный для данного случая (причем тут file extention?)

в общем, судя по всему, легче сразу готовый condition написать...

Код: Выделить всё

deny  condition = ${lookup{$sender_address}wildlsearch{banlist}{yes}{no}}
   message = Sender address blacklisted
на самом деле надо еще предусмотреть механизм исключений
можно еще в самом файле с блеклистнутыми адресами указывать текст сообщения SMTP клиенту
--
/corvax

Аватара пользователя
apelsin
Advanced member
Сообщения: 470
Зарегистрирован: 09 окт 2004, 12:32

Сообщение apelsin » 20 апр 2005, 15:00

подсказка::
host == имя комьютера в сети, например pop.mail.ru;
hostlist == список имен

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

Сообщение mclaud » 20 апр 2005, 15:21

сделал все так- не банит

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

Сообщение corvax » 20 апр 2005, 15:29

mclaud писал(а):сделал все так- не банит
хочу взглянуть на результат

Код: Выделить всё

echo '${lookup{postmaster@mail.ru}wildlsearch{banlist}{yes}{no}}' | exim -be
и на результат

Код: Выделить всё

grep mail.ru banlist
естественно, вместо banlist нужно будет в обеих командах прописать полный путь к файлу
--
/corvax

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

Сообщение mclaud » 20 апр 2005, 15:42

bash-2.05b# echo '${lookup{postmaster@mail.ru}wildlsearch{/usr/local/etc/exim/banlist}{yes}{no}}' | /usr/local/etc/exim/bin/exim -be
> yes
>
bash-2.05b# grep mail.ru /usr/local/etc/exim/banlist
*@mail.ru
bash-2.05b#

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

Сообщение corvax » 20 апр 2005, 15:47

mclaud писал(а):bash-2.05b# echo '${lookup{postmaster@mail.ru}wildlsearch{/usr/local/etc/exim/banlist}{yes}{no}}' | /usr/local/etc/exim/bin/exim -be
> yes
>
bash-2.05b# grep mail.ru /usr/local/etc/exim/banlist
*@mail.ru
bash-2.05b#
адреса из домена mail.ru должны отвергаться
есть как минимум два варианта:
1. указанный мной конфидин вставлен фиг знает в какое место конфига, для этого не предназначенное
2. после рихтовки кондишина в конфиге эксим не был перегружен
--
/corvax

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

Сообщение mclaud » 20 апр 2005, 15:56

1. поставлен в acl перед deny message relay not permitted
2. конечно перезапущен

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

Сообщение corvax » 20 апр 2005, 16:05

mclaud писал(а):1. поставлен в acl перед deny message relay not permitted
до или после accept'а для локальных получателей?
--
/corvax

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

Сообщение mclaud » 20 апр 2005, 16:07

после

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

Сообщение corvax » 20 апр 2005, 16:10

mclaud писал(а):после
а как тогда могут письма с mail.ru отвергаться?
я ж написал, что кондишин вставлен не туда, куда надо...
--
/corvax

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

Сообщение mclaud » 20 апр 2005, 16:15

begin acl

# This access control list is used for every RCPT command in an incoming
# SMTP message. The tests are run in order until the address is either
# accepted or denied.

acl_check_rcpt:

 # Accept if the source is local SMTP (i.e. not over TCP/IP). We do this by
 # testing for an empty sending host field.

 accept  hosts = :

 #############################################################################
 # The following section of the ACL is concerned with local parts that contain
 # @ or % or ! or / or | or dots in unusual places.
 #
 # The characters other than dots are rarely found in genuine local parts, but
 # are often tried by people looking to circumvent relaying restrictions.
 # Therefore, although they are valid in local parts, these rules lock them
 # out, as a precaution.
 #
 # Empty components (two dots in a row) are not valid in RFC 2822, but Exim
 # allows them because they have been encountered. (Consider local parts
 # constructed as "firstinitial.secondinitial.familyname" when applied to
 # someone like me, who has no second initial.) However, a local part starting
 # with a dot or containing /../ can cause trouble if it is used as part of a
 # file name (e.g. for a mailing list). This is also true for local parts that
 # contain slashes. A pipe symbol can also be troublesome if the local part is
 # incorporated unthinkingly into a shell command line.
 #
 # Two different rules are used. The first one is stricter, and is applied to
 # messages that are addressed to one of the local domains handled by this
 # host. It blocks local parts that begin with a dot or contain @ % ! / or |.
 # If you have local accounts that include these characters, you will have to
 # modify this rule.

 deny    message       = Restricted characters in address
         domains       = +local_domains
         local_parts   = ^[.] : ^.*[@%!/|]
 deny    message       = host is listed in $dnslist_domain
         dnslists      = relays.ordb.org
 deny    condition     = ${lookup{sender_address}wildlsearch{/usr/local/etc/exim/banlist}{yes}{no}}
         message       = Sender address blacklisted




так разместил - то же самое

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

Сообщение corvax » 20 апр 2005, 16:29

mclaud писал(а):begin acl

acl_check_rcpt:

 accept  hosts = :

 deny    message       = Restricted characters in address
         domains       = +local_domains
         local_parts   = ^[.] : ^.*[@%!/|]
 deny    message       = host is listed in $dnslist_domain
         dnslists      = relays.ordb.org
 deny    condition     = ${lookup{sender_address}wildlsearch{/usr/local/etc/exim/banlist}{yes}{no}}
         message       = Sender address blacklisted

так разместил - то же самое
я хочу увидеть результат

Код: Выделить всё

( \
echo 'helo f9.mail.ru' ; \
echo 'mail from:<postmaster@mail.ru>' ; \
echo 'rcpt to:<user@domain.tld>' ; \
echo 'quit' ; \
) | exim -bh 194.67.57.39
вместо user@domain.tld нужно вписать реальный адрес локального пользователя
--
/corvax

Ответить

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

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

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