Помогите с правилами и белым листом

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Young
проходил мимо

Помогите с правилами и белым листом

Непрочитанное сообщение Young » 2008-09-19 17:24:08

Использую конфиг лиссяры. В секции acl_check_rcpt идут правила, типа

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

# Рубаем тех, кто не пишет отправителя
  deny    condition     = ${if eq{$sender_address}{}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : !192.168.5.103 : !192.168.1.162 : !192.168.0.29 *
          message       = "Why HELO empty?! Not RFC..."

## Рубаем тех, кто не пишет отправителя (пробел)
  deny    condition     = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost  : *
          message       = "Why HELO empty? (only spaces)?! Not RFC..."
И есть у меня файл с адресами, которые не надо фильтровать через эти правила (по сути белый лист). Никак не пойму, как объяснить экзиму, что если адрес найден в этом файле, то проверку на все остальные правила пропустить. Подскажите, как правильно?
Вот какие варианты пробовал:

1. объявляем переменные

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

hostlist whitelist = /etc/exim4/whitelist
addresslist  whitelisted = wildlsearch;/etc/exim4/whitelist
и перед всеми правилами поставить вот такое

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

accept senders = +whitelisted
что-то не сработало. :(

2. пробовал вот такое правило сварганить, опять таки же поставив его перед остальными проверками.

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

    accept
    condition        = ${lookup{$sender_address_domain}lsearch{/etc/exim4/whitelist}{yes}{no}}
    hosts            = !+relay_from_hosts : *
    logwrite         = domain of $sender_address is in white domain list. message to $local_part
    add_header       = X-White-Domain: YES
тоже не помогло.
3. пробовал в качестве исключения для всех денай правил делать вот такое указание на файл

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

# Считаем число точек в helo, если меньше одной - deny
        deny    condition       = ${if !match{$sender_helo_name}{\N\w\.\w\N}{yes}{no}}
        !senders        = :
        hosts           = !+relay_from_hosts : !128.1.2.200 : !${if exists{/etc/exim4/whitelist}{/etc/exim4/whitelist}{}} : *
        message         = "Не бывает HELO без точек"
тоже оказалось не эффективно

Посоветуйте, как правильно сделать?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Помогите с правилами и белым листом

Непрочитанное сообщение dikens3 » 2008-09-20 8:36:05

Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.