Почему-то не работают правила в Exim...

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
wein72
рядовой
Сообщения: 14
Зарегистрирован: 2008-06-16 10:04:32

Почему-то не работают правила в Exim...

Непрочитанное сообщение wein72 » 2008-12-10 9:09:02

Помогите пожалуйста, не могу понять где туплю...

Хочу сделать блэк и вайт листы. Файлы соответствующие у меня есть в дире с конфигами екзима. Блок acl в конфиге привожу ниже. Там это всё было сделано инклудом, попробовал из него всё перетащить в конфиг непосредственно - не помогает. Да и отрабатывает же оно частично там, по крайней мере то что проверку на реверс днс некоторые не проходят и отсылаются куда подальше, я в логах вижу. Не работают почему-то именно условия с проверкой из файлов. Где грабли?

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

begin acl

#тут длинный инклуд с говорящим названием, но его коментирование ничего не меняет
  .include /etc/exim/vexim-acl-check-spf.conf

acl_local_whitelist:
    accept
        hosts = ${if exists{CONFDIR/hosts_whitelist}\
    {CONFDIR/hosts_whitelist}{}}
    accept
    senders = ${if exists{CONFDIR/senders_whitelist}\
    {CONFDIR/senders_whitelist}{}}

acl_check_helo:

  .include /etc/exim/vexim-acl-check-helo.conf

*содержимое этого инклуда:
  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"
  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"
  accept
* конец инклуда

acl_check_rcpt:

  accept  hosts = :

  accept  authenticated = *

.ifdef CHECK_RCPT_REVERSE_DNS
    deny
        message = X-Host-Lookup-Failed: Reverse DNS lookup failed for $sender_host_address (${if eq{$host_lookup_failed}{1}{failed}{deferred}})
        condition = ${if and{{def:sender_host_address}{!def:sender_host_name}}{yes}{no}}
        !acl = acl_local_whitelist
.endif

    deny
        message       = DNSBL listed at $dnslist_domain\n$dnslist_text
        dnslists      = combined.njabl.org:cbl.abuseat.org

    deny
       message = Sender IP address $sender_host_address is locally blacklisted here. If you think this is wrong, get in touch with postmaster. Please use for communication authoritative mail services such as gmail.com, mail.ru, etc. We apologize for probably delivered inconveniences
        hosts = ${if exists{CONFDIR/hosts_blacklist}{CONFDIR/hosts_blacklist}{}}
        !acl = acl_local_whitelist

    deny
       message = Sender envelope address $sender_address is locally blacklisted here. If you think this is wrong, get in touch with postmaster. Please use for communication authoritative mail services such as gmail.com, mail.ru, etc. We apologize for probably delivered inconveniences
        senders = ${if exists{CONFDIR/senders_blacklist}{CONFDIR/senders_blacklist}{}}
        !acl = acl_local_whitelist

  deny    local_parts   = ^.*[@%!/|] : ^\\.

  accept  local_parts   = postmaster
          domains       = +local_domains

  accept  domains       = +local_domains
          endpass
          verify        = recipient

  accept  domains       = +relay_to_domains
          endpass
          verify        = recipient

  accept  hosts         = +relay_from_hosts

  deny    message       = relay not permitted

acl_check_content:

  # Include Vexim specific rcpt ACLs
  .include /etc/exim/vexim-acl-check-content.conf

  # finally accept all the rest
  accept
Заранее спасибо.
Последний раз редактировалось wein72 2008-12-10 9:22:35, всего редактировалось 1 раз.

Хостинговая компания 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 Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение Alex Keda » 2008-12-10 9:21:33

страницу крутим до верху и читаем текст на красном фоне
Убей их всех! Бог потом рассортирует...

wein72
рядовой
Сообщения: 14
Зарегистрирован: 2008-06-16 10:04:32

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение wein72 » 2008-12-10 9:23:16

прошу прощения, поправил

так есть мысли то? :-)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение Alex Keda » 2008-12-10 9:25:04

инклюды хоть бы показал...
=======
а вообще - посомтри в дебаге эмуляцию приёма письма с нужными параметрами - думаю прояснит что и где не так.
Убей их всех! Бог потом рассортирует...

wein72
рядовой
Сообщения: 14
Зарегистрирован: 2008-06-16 10:04:32

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение wein72 » 2008-12-10 9:40:45

vexim-acl-check-spf.conf - его я пробовал убирать, это ничего не меняет

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

# SPF Auth test for Exim 4.xx
# Version 2.05 by david @ ols . es
#
# Features:
#
#    Full SPF support via spfd socket
#
# Warning:
#
#    Will use acl_m9, acl_m8, acl_m7 and acl_m6
#
# Requires
#
#    Mail::SPF::Query ver 1.9.1
#
# Usage instructions:
#
# 1. copy this file to your /usr/local/exim
#
# 2. add this line to your exim configuration file after your
#    begin acl:
#
#    .include /usr/local/exim/spf.acl
#
# 3. Grab a copy of Mail::SPF::Query from
#    http://spf.pobox.com/downloads.html and install it
#
# 4. Run spfd -path=/tmp/spfd as the same user as Exim runs
#
# 5. Now you can use the test on your RCPT/MAIL ACL this way:
#
#    deny    !acl        = spf_rcpt_acl
#
#    And on your DATA ACL:
#
#    deny    senders     = :
#            !acl        = spf_from_acl
#
#    now acl_m8 will hold 'pass','fail', 'unknown'
#    so you can take other decisions based on the result

spf_rcpt_acl:

    # Check envelope sender

    warn     set acl_m8  = $sender_address
    deny     !acl        = spf_check
    warn     message     = Received-SPF: $acl_m7
    accept

spf_from_acl:

    # Check header From:

    warn     set acl_m8  = ${address:$h_from:}
    deny     !acl        = spf_check
    warn     message     = Received-SPF: $acl_m7
    accept

spf_check:

    warn     set acl_m9  = ${readsocket{/tmp/spfd}\
                           {ip=$sender_host_address\n\
                           helo=${if def:sender_helo_name\
                           {$sender_helo_name}{NOHELO}}\
                           \nsender=$acl_m8\n\n}{20s}{\n}{socket failure}}

    # Defer on socket error

    #defer    condition   = ${if eq{$acl_m9}{socket failure}{yes}{no}}
    #         message     = Cannot connect to spfd

    # Prepare answer and get results

    warn     set acl_m9  = ${sg{$acl_m9}{\N=(.*)\n\N}{=\"\$1\" }}
             set acl_m8  = ${extract{result}{$acl_m9}{$value}{unknown}}
             set acl_m7  = ${extract{header_comment}{$acl_m9}{$value}{}}

    # Check for fail

    deny     condition   = ${if eq{$acl_m8}{fail}{yes}{no}}
             message     = $acl_m7
             log_message = Not authorized by SPF

    accept
vexim-acl-check-helo.conf

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

  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"
  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"
  accept
vexim-acl-check-content.conf

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

  deny  senders         = :
        hosts           = ! +relay_from_hosts
        !acl            = spf_from_acl
        message         = Your sender is not permitted (read spf.pobox.com)

  # First unpack MIME containers and reject serious errors.
  deny  message         = This message contains a MIME error ($demime_reason)
        demime          = *
        condition       = ${if >{$demime_errorlevel}{2}{1}{0}}

  # Reject typically wormish file extensions. There is almost no
  # sense in sending such files by email.
  deny  message         = This message contains an unwanted file extension ($found_extension)
        demime          = scr:vbs:bat:lnk:pif:bz2

  deny  message = Possible CMD file attack ($found_extension)
        demime = cmd

  deny  message = Possible COM file attack ($found_extension)
        demime = com

  deny  message = Possible Microsoft JScript attack ($found_extension)
        demime = js

  deny  message = Possible Windows registry attack ($found_extension)
        demime = reg

  deny  message = Possible compiled Help file-base virus ($found_extension)
        demime = chm

  deny  message = Possible SpeedDial attack ($found_extension)
        demime = cnf

  deny  message = Possible Micrsoft HTML archive attack ($found_extension)
        demime = hta

  deny  message = Possible Microsoft Internet Settings attack ($found_extension)
        demime = ins

  deny  message = Possible Windows Explorer Command attack ($found_extension)
        demime = scf

  deny  message = Possible Microsoft Windows Script attack ($found_extension)
        demime = sct

  deny  message = Possible Microsoft VBScript attack ($found_extension)
        demime = vbs:vbe

  deny  message = Possible Microsoft Script Host attack ($found_extension)
        demime = wsc:wsf:wsh

  deny  message = Possible Exchange Shortcut attack ($found_extension)
        demime = xnk

  deny  message = Possible Microsoft Access Shortcut attack ($found_extension)
        demime = mad:maf:mag:mam:maq:mar:mas:mat:mav:maw

  # Reject virus infested messages.
  warn  message         = This message contains malware ($malware_name)
        malware         = *
        log_message     = This message contains malware ($malware_name)

  # Reject messages containing "viagra" in all kinds of whitespace/case combinations
  # WARNING: this is an example !
  # deny  message = This message matches a blacklisted regular expression ($regex_match_string)
  #      regex = [Vv] *[Ii] *[Aa] *[Gg] *[Rr] *[Aa]

  # Always add X-Spam-Score and X-Spam-Report headers, using SA system-wide settings
  # (user "nobody"), no matter if over threshold or not.
  warn  message         = X-Spam-Score: $spam_score ($spam_bar)
        spam            = mail:true
  warn  message         = X-Spam-Report: $spam_report
        spam            = mail:true
  accept hosts          = 127.0.0.1:+relay_from_hosts
  accept authenticated  = *

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение princeps » 2008-12-10 16:49:20

А как ты перезагружаешь конфиг?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

wein72
рядовой
Сообщения: 14
Зарегистрирован: 2008-06-16 10:04:32

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение wein72 » 2008-12-10 17:53:55

в смысле как перезагружаю? чтобы изменения применить?

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

service exim restart
сегодня я вообще сервак этот тушил, так что конфиги то стопудово перегружались, если ты об этом.
я вот думаю, может быть при сборке что-то нужное не было указано? система работает под opensuse 11, exim ставился пакетом из официальных репов, причём там был пакетик exim и exim-mysql, я ставил последний, т.к. у меня все акаунты и домены в мускле и без него никак. вот вывод exim -bV:

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

Exim version 4.69 #1 built 07-Jun-2008 07:20:25
Copyright (c) University of Cambridge 2006
Berkeley DB: Berkeley DB 4.5.20: (May 22, 2008)
Support for: crypteq iconv() IPv6 OpenSSL move_frozen_messages Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd
Authenticators: cram_md5 dovecot plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Size of off_t: 8
Configuration file is /etc/exim/exim.conf

lerryc
сержант
Сообщения: 191
Зарегистрирован: 2008-07-10 7:28:37
Откуда: Vladivostok

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение lerryc » 2008-12-11 3:50:52

У меня был подобный глюк из серии необъяснимо- но факт
Система Gentoo
При размещении include-файлов и файлов, где делается lsearch (+relaydomain и т.п.) по пути /etc/exim/ полностью игнорировались без ответа и привета.
После того, как переместил эти файлы в /etc/mal/ - всё заработало
Права доступа и владелец для обеих папок - одинаковы
В чем глюк - так и не разбирался, заработало - и ладно, а где лежит - мне как бы и фиолетово.
машина думать не может, машина должна ехать

wein72
рядовой
Сообщения: 14
Зарегистрирован: 2008-06-16 10:04:32

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение wein72 » 2008-12-11 9:06:27

пилят! заработало %) и в самом деле, перетащил файлики в /etc/mail, прописал жестко пути и попёрло
только вот теперь вопрос, как бы сделать нормально чтобы приходил отчёт? у меня там довольно много букв :-) поэтому приходит вот так:

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

Technical details of permanent failure: 
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 550 550-Sender envelope address wein72@gmail.com is locally blacklisted here. If
550-you think this is wrong, get in touch with postmaster. Please use for
550-communication authoritative mail services such as gmail.com, mail.ru, etc.
550 We apologize for probably delivered inconveniences (state 14).
можно ли сделать как-то чтобы оно всё одной строкой уходило? или всё правильно и это так надо? я про "550" вначале каждой строки
по сути то можно забить. мелочь, но всё же...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение Alex Keda » 2008-12-11 9:12:41

а я вообще не люблю относительные пути, хоть это и неправильно.
========
где чего искать, указывается в опциях компиляции. так что - кривые руки того кто пакет компилил.
Убей их всех! Бог потом рассортирует...

wein72
рядовой
Сообщения: 14
Зарегистрирован: 2008-06-16 10:04:32

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение wein72 » 2008-12-11 9:19:37

ну так конфиг то он находит там
получается чтоль что CONFDIR куда-то на другое место ссылается... мдя, весело :-)
вот и ставь пакетики пля...
когда сам то собираешь гораздо удобнее в плане того что можно включить только всё что нужно и убрать лишнее. но обновление в таком случае гиморнее. а самому пакеты делать - ленивый я слишком ;-)

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение princeps » 2008-12-11 9:34:33

В свое время, выбирая между линухом и фрей остановился на последней, так как очень понравилась система портов. Время от времени убеждаюсь, что не ошибся.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение Alex Keda » 2008-12-11 9:34:53

есть дира где искать, а есть жётский путь для конфига, вместе с его именем.
======
а вообще - лучше доку читать. я за два года уже забывать начал всё =)
Убей их всех! Бог потом рассортирует...

lerryc
сержант
Сообщения: 191
Зарегистрирован: 2008-07-10 7:28:37
Откуда: Vladivostok

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение lerryc » 2008-12-11 10:33:59

wein72 писал(а):ну так конфиг то он находит там
получается чтоль что CONFDIR куда-то на другое место ссылается... мдя, весело :-)
вот и ставь пакетики пля...
когда сам то собираешь гораздо удобнее в плане того что можно включить только всё что нужно и убрать лишнее. но обновление в таком случае гиморнее. а самому пакеты делать - ленивый я слишком ;-)
потавь gentoo поверх suse - и будет тебе щастье от портов ;)
как ни странно - но работает такое ;)
машина думать не может, машина должна ехать


Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение zingel » 2008-12-12 16:20:41

потавь gentoo поверх suse - и будет тебе щастье от портов ;)
как ни странно - но работает такое ;)
и ещё в эмуляции винду для кучи, а в ней все порты ещё открыть :smile:
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
gloom
лейтенант
Сообщения: 738
Зарегистрирован: 2008-03-13 16:29:12
Откуда: UA

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение gloom » 2008-12-12 20:16:13

zingel писал(а):
потавь gentoo поверх suse - и будет тебе щастье от портов ;)
как ни странно - но работает такое ;)
и ещё в эмуляции винду для кучи, а в ней все порты ещё открыть :smile:
не так во фряхе делается линуховый чрут и селится туда портаге ;-)

Лучший
проходил мимо

Плизз помогите

Непрочитанное сообщение Лучший » 2008-12-13 17:45:07

Ставлю винду, мне пишет connect error плизз помогите поставить, в чем проблема может быть?!((

wein72
рядовой
Сообщения: 14
Зарегистрирован: 2008-06-16 10:04:32

Re: Почему-то не работают правила в Exim...

Непрочитанное сообщение wein72 » 2009-03-16 8:52:36

Ставлю винду, мне пишет connect error плизз помогите поставить, в чем проблема может быть?!((
где и почём такая забориста трава? :-)