Страница 1 из 1

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

Добавлено: 2008-10-17 13:12:21
flintus
Столкнулся с проблемой, при отправке почты от пользователей несмотря на удачный 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!"


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

Добавлено: 2008-10-17 16:11:06
Alex_hha
после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?
по дефолту так и сделанно

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

Добавлено: 2008-10-17 16:30:51
dikens3
Alex_hha писал(а):
после удачного SMTP AUTH не делать дальнейших проверок, а принимать почту безусловно?
по дефолту так и сделанно
Там после HELO/EHLO прибивается и не доходит до rcpt.

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

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

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

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

Добавлено: 2008-10-17 18:40:44
Alex_hha
Под дефолтом подразумевается исходный конфиг exim.

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

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

Добавлено: 2008-10-17 20:13:28
flintus
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!"

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

Добавлено: 2008-10-20 10:04:50
Alex_hha
Я уже написал что нужно сделать