EXIM: если SMTP AUTH удачный не делать проверку на RBL

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
flintus
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-09-06 1:22:34

EXIM: если SMTP AUTH удачный не делать проверку на RBL

Непрочитанное сообщение flintus » 2008-10-17 13:12:21

Столкнулся с проблемой, при отправке почты от пользователей несмотря на удачный SMTP AUTH далее идет проверка на RBL и при наличии хоста отправителя в RBL идет режект почты с данного хоста, реально ли реализовать следующее, после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?

вот выдержка из конфига EXIM

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

...
acl_smtp_helo           = acl_check_helo
acl_smtp_rcpt           = acl_check_rcpt

...

acl_check_helo:
accept hosts = :

...

deny    message       = Spam blocked see:  http://www.spamcop.net/w3m?action=checkblock&ip=$sender_host_address
         log_message   = found in $dnslist_domain
              dnslists      = bl.spamcop.net
...

acl_check_rcpt:
accept  hosts = :

...

 accept  authenticated = *
            control       = submission/domain=

    deny    message       = "Relay not permitted!"


Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 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_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: EXIM: если SMTP AUTH удачный не делать проверку на RBL

Непрочитанное сообщение Alex_hha » 2008-10-17 16:11:06

после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?
по дефолту так и сделанно

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

Re: EXIM: если SMTP AUTH удачный не делать проверку на RBL

Непрочитанное сообщение dikens3 » 2008-10-17 16:30:51

Alex_hha писал(а):
после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?
по дефолту так и сделанно
Там после HELO/EHLO прибивается и не доходит до rcpt.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

flintus
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-09-06 1:22:34

Re: EXIM: если SMTP AUTH удачный не делать проверку на RBL

Непрочитанное сообщение flintus » 2008-10-17 17:00:49

Alex_hha писал(а):
после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?
по дефолту так и сделанно
что есть дефолт? какая именно конфигурация?

не совсем понял, проверки на HELO/EHLO нормально проходят, далее идет проверка авторизации по SMTP, далее идет проверка на наличие в RBL, если SMTP авторизая была успешной от нет смысла искать хост в RBL, в моем случае поиски хоста в RBL делаются, и есть огромное желание это исправить.

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: EXIM: если SMTP AUTH удачный не делать проверку на RBL

Непрочитанное сообщение Alex_hha » 2008-10-17 18:40:44

Под дефолтом подразумевается исходный конфиг exim.

Зачем вы проверку по rbl засунули в acl_check_helo?! На этапе helo/ehlo об аутентификации ничего не известно. Переноси проверки в acl_check_rcpt после строки accept authenticated = *

flintus
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-09-06 1:22:34

Re: EXIM: если SMTP AUTH удачный не делать проверку на RBL

Непрочитанное сообщение flintus » 2008-10-17 20:13:28

Alex_hha писал(а):Под дефолтом подразумевается исходный конфиг exim.

Зачем вы проверку по rbl засунули в acl_check_helo?! На этапе helo/ehlo об аутентификации ничего не известно. Переноси проверки в acl_check_rcpt после строки accept authenticated = *
Зачем перенес проверку rbl в acl_check_helo? Потому как на данном этапе уже известны данные которые там можно проверить, судя повсему я погоречился.. Пожалуйста помогите с корректировкой конфига, ниже привожу acl_check_helo и acl_check_rcpt:

acl_check_helo

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

acl_check_helo:

    accept hosts = :

    accept hosts = +relay_from_hosts
    drop condition = ${if match{$sender_helo_name}{MY_IP}{yes}{no} }
         message   = "Dropped spammer pretending to be us"
    .ifdef TEERGRUBE
         delay          = TEERGRUBE
    .endif

    drop condition = ${if match{$sender_helo_name}{^[0-9]\.[0-9]\.[0-9]\.[0-9]}{yes}{no} }
          message   = "Dropped IP-only or IP-starting helo"
    .ifdef TEERGRUBE
         delay          = TEERGRUBE
    .endif

    deny    message       = Error on HELO/EHLO greeting
            log_message   = remote host used IP address in HELO/EHLO greeting
            condition     = ${if isip {$sender_helo_name}{true}{false}}
    .ifdef TEERGRUBE
         delay          = TEERGRUBE
    .endif

    deny    message       = Error on HELO/EHLO greeting.
            log_message   = remote host used our named on HELO/EHLO greeting.
            condition     = ${if match_domain{$sender_helo_name}{$primary_hostname:+local_domains:+relay_to_domains}{1}{0}}
    .ifdef TEERGRUBE
         delay          = TEERGRUBE
    .endif

    deny    message       = HELO/EHLO required by SMTP RFC
            condition     = ${if eq{$sender_helo_name}{}{yes}{no}}
    .ifdef TEERGRUBE
         delay          = TEERGRUBE
    .endif

    deny    message       = message from  $sender_host_address rejected - see http://njabl.org/
            log_message   = found in $dnslist_domain
            dnslists      = dnsbl.njabl.org

    deny    message       = rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
            log_message   = found in $dnslist_domain
            dnslists      = dialups.mail-abuse.org

    deny    message       = rejected because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
            log_message   = found in $dnslist_domain
            dnslists      = list.dsbl.org

    deny    message       = Spam blocked see:  http://www.spamcop.net/w3m?action=checkblock&ip=$sender_host_address
            log_message   = found in $dnslist_domain
            dnslists      = bl.spamcop.net

    deny    message       = rejected, $sender_host_address Open Proxy, see: $dnslist_domain\n$dnslist_text
            log_message   = found in $dnslist_domain
            dnslists      = dnsbl.void.ru

    accept
acl_check_rcpt

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

acl_check_rcpt:

    accept  hosts = :

    deny    message       = Restricted characters in address
            local_parts   = ^[.] : ^.*[@%!/|]

    deny    message       = Restricted characters in address
            local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

    deny    message       = Restricted characters in address
            local_parts   = ^.*[@%!/|] : ^\\.

    accept  local_parts   = postmaster
            domains       = +local_domains


    deny    message        = Only one recipient accepted for NULL sender
            senders        = :
            condition      = ${if >{$rcpt_count}{1}{1}}
    .ifdef TEERGRUBE
            delay          = TEERGRUBE
    .endif

    drop    hosts         = !+hosts_disable_callback:*
            sender_domains = !+domain_disable_callback:*
            !verify        = sender/callout=90s,random,postmaster
    .ifdef TEERGRUBE
            delay          = TEERGRUBE
    .endif

    drop    hosts          = !+hosts_disable_callback:*
            sender_domains = +domain_disable_callback
            !verify        = sender/callout=90s,postmaster
    .ifdef TEERGRUBE
            delay          = TEERGRUBE
    .endif


    .ifdef TEERGRUBE
        deny    log_message    = Teergrube: dictionnary attack (ALLOWEDRCPTFAIL failed probes)
                message        = unknown user
                condition      = ${if >{$rcpt_fail_count}{1} {1}{0}}
    .else
        drop    log_message    = Dictionnary attack ($rcpt_fail_count failed probes). Dropping connection
                message        = unknown user ($rcpt_fail_count failed queries)
                condition      = ${if >{$rcpt_fail_count}{${eval:ALLOWEDRCPTFAIL-2}} {1}{0}}
    .endif
                delay          = ${eval:30*$rcpt_fail_count}s
                domains        = +local_domains
                !verify        = recipient

    deny        condition      = ${if eq{$sender_ident}{CacheFlow Server}{1}{0}}
                message        = Rejected - appears to be an unsecured proxy: $sender_ident

    drop        condition       = ${if > {$rcpt_fail_count}{3}}
                message         = Too many failed recipients

    accept  domains       = +local_domains
            endpass
            verify        = recipient

    accept  domains       = +relay_to_domains
            endpass
            verify        = recipient

    accept  hosts         = +relay_from_hosts

    accept  authenticated = *
            control       = submission/domain=
    deny    message       = "Relay not permitted!"