exim антиспам настройка

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Fix
ефрейтор
Сообщения: 59
Зарегистрирован: 2009-03-03 10:47:11

exim антиспам настройка

Непрочитанное сообщение Fix » 2009-03-03 10:56:44

Здравствуйте!!

Я согласен, что афтор нуп и опозорился, но всеже...

Форум я читал статьи тоже. Проблема в том что достался мне сервер почтовый на базе Exim, и достал меня ужо спам. Вот решил както с ним побороться из всего что у меня в конвиге я понял что есть только колауты и закрытый релей. Так вот собственно вопрос можно ли с помощью только одного екзима уменьшить поток спама?? (конфи из http://www.lissyara.su/?id=1194 видел если еще чтото?)
Последний раз редактировалось hizel 2009-03-03 12:18:15, всего редактировалось 1 раз.
Причина: уважайте себя!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/

Аватара пользователя
estade
мл. сержант
Сообщения: 92
Зарегистрирован: 2008-06-18 11:16:41
Откуда: Челябинск
Контактная информация:

Re: Помогите ламеру. плиз.

Непрочитанное сообщение estade » 2009-03-03 11:20:49

Fix писал(а):Здравствуйте!!
Здаров!
Fix писал(а):Я согласен, что афтор нуп и опозорился, но всеже...
Ну зачем же так сразу..все мы чему то постоянно учимся))
Fix писал(а):достал меня ужо спам
Ну вообщем то неприятная штука
Fix писал(а):Так вот собственно вопрос можно ли с помощью только одного екзима уменьшить поток спама?? (конфи из http://www.lissyara.su/?id=1194 видел если еще чтото?)
Очень хорошо что видел..а можно увидеть твои конфиги экзима хотя бы.
Можно спамассасин или дспам поставить еще меньше поток спаму будет :smile:

Fix
ефрейтор
Сообщения: 59
Зарегистрирован: 2009-03-03 10:47:11

Re: Помогите ламеру. плиз.

Непрочитанное сообщение Fix » 2009-03-03 11:36:29

Нужен целиком конфиг или какуе то его часть? скажем с begin acl??
предоставим
а самое печальное что я практически не умею ставит пакеты и порты(((

Аватара пользователя
estade
мл. сержант
Сообщения: 92
Зарегистрирован: 2008-06-18 11:16:41
Откуда: Челябинск
Контактная информация:

Re: Помогите ламеру. плиз.

Непрочитанное сообщение estade » 2009-03-03 11:56:36

Fix писал(а):Нужен целиком конфиг или какуе то его часть? скажем с begin acl??
А давай целиком...гулять так гулять
Fix писал(а):а самое печальное что я практически не умею ставит пакеты и порты(((
а что их уметь ставить то, инструкций в инете навалом, вполне достаточно http://www.freebsd.org/doc/ru_RU.KOI8-R ... using.html

Fix
ефрейтор
Сообщения: 59
Зарегистрирован: 2009-03-03 10:47:11

Re: Помогите ламеру. плиз.

Непрочитанное сообщение Fix » 2009-03-03 12:16:12

весь пока не выложу вот кусочек

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

begin acl
acl_check_rcpt:
  accept  hosts = :
  deny    message       = Restricted characters in address
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]
  deny    message       = Restricted characters in address
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
#ltk
  deny     message      = Invalid account  $sender_address_local_part
           condition    = ${if match {$sender_address_local_part}{\N^(\.|.+\.\.|
.*[\%\/\!\&\@\|\~\`])\N} {yes}{no}}

#ltk
  accept  local_parts   = postmaster
#       domains       = +local_domains
        domains       = +local_domains : +relay_to_domains
#  require verify        = sender
  require verify       = sender/callout=10s,defer_ok
  require logwrite      = sender_address = $sender_address
        hosts           = *
  deny    message       = don't spam me
          senders       = www@test.com.ua
#  accept   hosts        = +relay_from_hosts
#           verify       = recipient
  accept   hosts        = +relay_from_hosts
           verify       = recipient/callout=10s,use_sender,defer_ok
  accept  authenticated = *
          control       = submission
  #this trick can allso be used to stop spamers from attempting to use "From:"
  #adress. Updeter Fix
  deny   message = You are not in the office
         log_message = LOCAL_DOMAINS relay prohibited outside \
         LAN for $sender_address
         !hosts = +relay_from_hosts
         sender_domains = +local_domains
  # Fix
  require message = relay not permitted
          domains = +local_domains : +relay_to_domains
  accept  domains       = +local_domains
         endpass
          verify        = recipient
  accept  domains       = +relay_to_domains
          endpass
          verify        = recipient
  accept  hosts         = +relay_from_hosts
          control       = submission
  accept  authenticated = *
  deny    message       = relay not permitted

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

Re: exim антиспам настройка

Непрочитанное сообщение princeps » 2009-03-03 15:57:12

Дружище, пошарь по статьям на сайте и посмотри там acl. У меня средствами exim без контент-проверок рубится 99,2% спама.
Fix писал(а): а самое печальное что я практически не умею ставит пакеты и порты(((
У тебя какая ОС?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim антиспам настройка

Непрочитанное сообщение Laa » 2009-03-03 18:04:44

Ну с настройкой портов и пакетов Вам таки надо почитать документации по своей ОС, почитать форумы. Захотеть разобраться, да, будут ошибки, будут сбои и будут трудности, никто не говорил, что будет легко. Но это лучше таки знать самому, с вас же и спросит ваше же руководство.

А по поводу настройки exim, конфиг интересный, но требует массу доработок.
Вы для себя понимаете его полностью??? Точно?

Не ищите готовый конфиг, который можно взять и поставить, этим вы только себе навредите. Ищите для начала acl которые могут отсекать какой-то спам, потом тоже для других видом спама и тд. Потом вы начнете понимать как работают acl, какие встречаются подводные камни. Начнете писать acl сами. Вместо вас этот путь никто из форума не пройдет...

Удачи!
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

flot
рядовой
Сообщения: 26
Зарегистрирован: 2009-02-14 9:17:16

Re: exim антиспам настройка

Непрочитанное сообщение flot » 2009-03-03 21:18:49

В вашем конфиге почти нет никаких проверок на спам.
Советую добавить

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

  deny    message       = "HELO is not hostname or IP address (see RFC 821, 2821)"
          condition     = ${if match{$sender_helo_name}\
                            {\N\.\N}{no}{yes}}

  deny    message       = "HELO is IP address, sorry"
          condition     = ${if match{$sender_helo_name}\
                            {\N^[\[\]\d\.]+$\N}{yes}{no}}
          
  warn    set acl_m1    = ${lookup dnsdb{defer_never,a=$sender_helo_name}{$value}{false}}

  deny    message       = "HELO is not hostname (lookup failed)"
          condition     = ${if eq{$acl_m1}{false}{true}{false}}
          !spf          = pass

  deny    message       = "Bad word in host name"
          condition     = ${if match{$sender_host_name $sender_helo_name} \
             {adsl|dialup|dial-up|dialin|pool|peer|dhcp|pppoe|dynamic}{yes}{no}}
          !spf          = pass

  deny    message       = "Bad number in host name"
          condition     = ${if match{$sender_host_name $sender_helo_name} \
                               {\N\d+[-\.]\d+[-\.]\d+\N}{yes}{no}}
          !spf          = pass

  deny    message       = "host in blacklist - $dnslist_domain $dnslist_text"
          hosts         = !+relay_from_hosts
          dnslists      = proxies.blackholes.easynet.nl : \
                          cbl.abuseat.org : \
                          sbl.spamhaus.org : \ 
                          bl.spamcop.net 

  deny    message       = "$sender_host_address is not allowed to send mail from $sender_address_domain (SPF fail)"
          spf           = fail
И только после них проверять callout.
Последний раз редактировалось flot 2009-03-04 9:50:43, всего редактировалось 1 раз.

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim антиспам настройка

Непрочитанное сообщение Laa » 2009-03-03 22:10:58

Может я и баян растяну, но я не понимаю этого:

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

  deny    message       = "Bad world in host name"
          condition     = ${if match{$sender_host_name $sender_helo_name} \
             {adsl|dialup|dial-up|dialin|pool|peer|dhcp|pppoe|dynamic}{yes}{no}}
          !spf          = pass
разжуйте мне кондишен.

Даже, если я туплю и кондишен похож на правду, то как это сработает с почтой от dhcp.org или dialin.at или adsl.ru?

И вот по этому:

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

  warn    set acl_m1    = ${lookup dnsdb{defer_never,a=$sender_helo_name}{$value}{false}}
поясните мне смысл задрачивания ДНС-сервера запросами по $sender_helo_name скажем такому (вполне не плохому) [11.22.33.44] (этот получит deny чуть раньше, ладно.. :) ), но что делать с helo=QWERTY и другими, которые любят вводить боты? Зачем к ДНС слать запросы на helo, на который ДНС точно ничего хорошего не ответит?

Еще важно не забывать разрешать NULL-сендеру сделать sender-verify (а-то кривонастроенный удаленный почтовый сервер не примет ваше письмо, что будете своим пользователям говорить?), то есть не отрубить его до predata... короче, тонкостей много... советую крепко задумываться над тем, как работает почта. :st:
Последний раз редактировалось Laa 2009-03-03 22:13:46, всего редактировалось 1 раз.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

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

Re: exim антиспам настройка

Непрочитанное сообщение Alex Keda » 2009-03-03 22:12:23

а как подумал, так и сработает =)
в доке всё есть.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim антиспам настройка

Непрочитанное сообщение Laa » 2009-03-03 22:22:38

lissyara писал(а):а как подумал, так и сработает =)
в доке всё есть.
Отжешь, еще раз открыл, перечитал, не нашел. :cz2: :oops:
Читал это вот:

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

match {<string1>}{<string2>}

    The two substrings are first expanded. The second is then treated as a
    regular expression and applied to the first. Because of the pre-expansion,
    if the regular expression contains dollar, or backslash characters, they
    must be escaped. Care must also be taken if the regular expression contains
    braces (curly brackets). A closing brace must be escaped so that it is not
    taken as a premature termination of <string2>. The easiest approach is to
    use the "\N" feature to disable expansion of the regular expression. For
    example,

    ${if match {$local_part}{\N^\d{3}\N} ...

    If the whole expansion string is in double quotes, further escaping of
    backslashes is also required.

    The condition is true if the regular expression match succeeds. The regular
    expression is not required to begin with a circumflex metacharacter, but if
    there is no circumflex, the expression is not anchored, and it may match
    anywhere in the subject, not just at the start. If you want the pattern to
    match at the end of the subject, you must include the "$" metacharacter at
    an appropriate point.

    At the start of an if expansion the values of the numeric variable
    substitutions $1 etc. are remembered. Obeying a match condition that
    succeeds causes them to be reset to the substrings of that condition and
    they will have these values during the expansion of the success string. At
    the end of the if expansion, the previous values are restored. After
    testing a combination of conditions using or, the subsequent values of the
    numeric variables are those of the condition that succeeded.

не то? Или не увидел? :oops:
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

flot
рядовой
Сообщения: 26
Зарегистрирован: 2009-02-14 9:17:16

Re: exim антиспам настройка

Непрочитанное сообщение flot » 2009-03-03 22:35:08

Laa писал(а):Может я и баян растяну, но я не понимаю этого:
что делать с helo=QWERTY и другими, которые любят вводить боты? Зачем к ДНС слать запросы на helo, на который ДНС точно ничего хорошего не ответит?
Вы совершенно не внимательны, самая первая проверка срежет и до ДНС дело не дойдет.
Даже, если я туплю и кондишен похож на правду, то как это (четвертая проверка) сработает с почтой от dhcp.org или dialin.at или adsl.ru?
Да, мои проверки зарубят. Если вам нужна почта от таких хостов - не включайте данную проверку.

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim антиспам настройка

Непрочитанное сообщение Laa » 2009-03-03 22:45:24

ok! по первой проверке таки согласен, не обратил внимания на расположение {no}{yes} :oops:

А по второму вопросу -- мне лично не нужна почта от adsl.ru и тд, но я не могу опросить ВСЕХ своих пользователей и точно знать, что ВСЕМ им не нужна от туда почта. Мало ли, вдруг кому-то пошлют жирный контракт от туда, а я зарублю его... :fool: :-o ну да ладно... кто как хочет... просто рекомендую думать всем, кто будет эти acl внедрять!

Лично к автору у меня нет никаких претензий. ;-) :drinks:
Все, я откланиваюсь. 8)
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

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

Re: exim антиспам настройка

Непрочитанное сообщение princeps » 2009-03-04 9:29:08

У Laa особая ситуация со спамом, ему нельзя его полностью рубить, в соседнем топике мы с ним этот вопрос обсудили :) Для среднего офиса, где 50-100 пользователей и админ каждого знает в лицо эти acl нормально подходят.
Laa писал(а):Мало ли, вдруг кому-то пошлют жирный контракт от туда, а я зарублю его... :fool: :-o ну да ладно... кто как хочет... просто рекомендую думать всем, кто будет эти acl внедрять!
вайт-листы в 90% случаев спасают отцов русской демократии
Кроме того, не хочу показаться снобом, но вот эта строка:
"Bad world in host name"
в переводе означает "плохой мир в имени хоста" :) Надо заменить world на word.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

flot
рядовой
Сообщения: 26
Зарегистрирован: 2009-02-14 9:17:16

Re: exim антиспам настройка

Непрочитанное сообщение flot » 2009-03-04 9:53:58

Спасибо, поправил.

Кстати заметил, что есть домены в которых прописано в SPF записи "+all" в конце. Вот думаю как бы банить всю почту от таких доменов...

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim антиспам настройка

Непрочитанное сообщение Laa » 2009-03-04 9:55:27

+1, часто бывают такие веселые описания кодов ошибок у некоторых... диву даешься. :-D

Вот вчера знакомый (эдакий рассыльщик своего прайсика, микро-спамер :-D ) слал письмо на mail.ru, а там пришел отлуп типа нет такого юзера, а от меня telnet-ehlo-mail from-rcpt-to показало, что такой юзер есть.... Вот я думаю, может лучше спамерам выдавать вместо "ты в блэклисте, отвали!" отлуп типа такого "Unknown account" ??? А от тех, у кого все хорошо (helo, rbl, syntax, spf...) просто принимать письмо. Один фиг, в основной своей массе спам шлется с ботнетов или троянов, а если какой и выполняет анализ, то глядишь и вынесет после некоторого кол-ва попыток из своей базейки... кто что думает?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim антиспам настройка

Непрочитанное сообщение Laa » 2009-03-04 10:00:53

flot писал(а):Спасибо, поправил.

Кстати заметил, что есть домены в которых прописано в SPF записи "+all" в конце. Вот думаю как бы банить всю почту от таких доменов...
Может для таких давать boxtrapper? Но это надо обсудить со своими юзерами... думаю для таких это решение даст неплохой результат. Хотя надо думать... :fool:
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

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

Re: exim антиспам настройка

Непрочитанное сообщение princeps » 2009-03-04 10:29:05

Laa писал(а):Вот я думаю, может лучше спамерам выдавать вместо "ты в блэклисте, отвали!" отлуп типа такого "Unknown account" ???
Это хоть и с небольшой вероятностью, но все же может быть просто неправильно настроенный не-спамерский сервер. И тогда системный администратор этого сервера сойдет с ума, пытаясь определить, почему не доходят письма. Я несколько раз сталкивался с таким.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Fix
ефрейтор
Сообщения: 59
Зарегистрирован: 2009-03-03 10:47:11

Re: exim антиспам настройка

Непрочитанное сообщение Fix » 2009-03-04 10:36:28

Вот порывшись набрасал конфиг, уважаемые гуру поругайте.

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

begin acl
acl_check_rcpt:
  accept  hosts = :
 
  deny    message       = Restricted characters in address
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]
  
  deny    message       = Restricted characters in address
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
  
  deny     message      = Invalid account  $sender_address_local_part
           condition    = ${if match {$sender_address_local_part}{\N^(\.|.+\.\.|
.*[\%\/\!\&\@\|\~\`])\N} {yes}{no}}
  
  accept  local_parts   = postmaster
          domains       = +local_domains
  
  deny    message       = "HELO/EHLO require by SMTP RFC"
          condition     = ${if eq{$sender_helo_name}{}{yes}{no}}

  deny    message       = "HELO is not hostname or IP address (see RFC 821, 2821)"
          condition     = ${if match{$sender_helo_name}\
                            {\N\.\N}{no}{yes}}

  deny    message       = "HELO is IP address, sorry"
          condition     = ${if match{$sender_helo_name}\
                            {\N^[\[\]\d\.]+$\N}{yes}{no}}
  
  warn    set acl_m1    = ${lookup dnsdb{defer_never,a=$sender_helo_name}{$value}{false}}

  deny    message       = "HELO is not hostname (lookup failed)"
          condition     = ${if eq{$acl_m1}{false}{true}{false}}
          !spf          = pass

  deny    message       = "host in blacklist - $dnslist_domain $dnslist_text"
          hosts         = !+relay_from_hosts
          dnslists      = proxies.blackholes.easynet.nl : \
                          cbl.abuseat.org : \
                          sbl.spamhaus.org : \ 
                          bl.spamcop.net 

  deny    message       = "$sender_host_address is not allowed to send mail from $sender_address_domain (SPF fail)"
          spf           = fail

  require verify       = sender/callout=10s,defer_ok
  require logwrite      = sender_address = $sender_address
        hosts           = *
  deny    message       = don't spam me
          senders       = www@test.com.ua
  accept   hosts        = +relay_from_hosts
           verify       = recipient/callout=10s,use_sender,defer_ok
  accept  authenticated = *
          control       = submission

  require message = relay not permitted
          domains = +local_domains : +relay_to_domains
  accept  domains       = +local_domains
         endpass
          verify        = recipient
  accept  domains       = +relay_to_domains
          endpass
          verify        = recipient
  accept  hosts         = +relay_from_hosts
          control       = submission
  accept  authenticated = *
  deny    message       = relay not permitted

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim антиспам настройка

Непрочитанное сообщение Laa » 2009-03-04 14:09:29

Мне кажется, что тут:

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

  deny    message       = "HELO is not hostname (lookup failed)"
          condition     = ${if eq{$acl_m1}{false}{true}{false}}
          !spf          = pass
стоит добавить

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

!senders = :
для того чтобы не дергать зазря DNS при удаленных sender-verify. Ну и эту мысль применить и дальше. Можно для этого сделать меточку acl_m_xx , а в predata рубить, если метка позволяет. Дабы не зарубить удаленный sender-verify у ваших же кривых получателей (вы же хотите, чтобы от вас было принято письмо?). Давайте это обсудим, может есть другие мысли по этому поводу?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim антиспам настройка

Непрочитанное сообщение Laa » 2009-03-04 14:15:33

в догонку: аутентифицированных отправителей лучше разместить пораньше, дабы зазря не рубануть аутентифицированного отправителя на проверках rbl и тд.

callout думаю нужно обдумать, и, возможно сделать подольше, так как многие любят баловаться delay-ями по случаю и без случая... :-o

еще рекомендую такой RBL (я наблюдал за ним долго, доволен):

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

dnslists        = hostkarma.junkemailfilter.com=127.0.0.2
+ задуматься о dns-white-lists, типа list.dnswl.org, hostkarma.junkemailfilter.com=127.0.0.1 и тд
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

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

Re: exim антиспам настройка

Непрочитанное сообщение princeps » 2009-03-04 19:22:30

Это самый минимум :) 80% спама где-то зарубишь.
Laa писал(а):+ задуматься о dns-white-lists, типа list.dnswl.org, hostkarma.junkemailfilter.com=127.0.0.1 и тд
Обязательно сделай собственный вайт-лист, в который будут попадать адреса, на которые отправлялась почта аутентифицировавшимися юзерами. В прилепленной теме есть пара вариантов.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Fix
ефрейтор
Сообщения: 59
Зарегистрирован: 2009-03-03 10:47:11

Re: exim антиспам настройка

Непрочитанное сообщение Fix » 2009-03-11 15:14:10

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

deny    message       = "HELO is not hostname or IP address (see RFC 821, 2821)"
          condition     = ${if match{$sender_helo_name}\
                            {\N\.\N}{no}{yes}}
вставил в конфиг екзима, многих спамеров рубит но и не дает отпроавлять почту моим локальным клиентам, скажите плиз что сделат

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim антиспам настройка

Непрочитанное сообщение Laa » 2009-03-11 15:41:21

Выполнять проверку свой-не-свой ДО этого правила. И лучше вообще своих проверять в самом начале, чтобы не рубануть своих по RBL, HELO и тд...
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Fix
ефрейтор
Сообщения: 59
Зарегистрирован: 2009-03-03 10:47:11

Re: exim антиспам настройка

Непрочитанное сообщение Fix » 2009-03-12 11:12:18

Как это ужасно быть ламером и ничего не понимать (((

Опробовал конфиг, что приводил выше. Зарезало почту от локальных пользователей, не дает им отправлять письма(((

много думал решил исправить конфиг , выношу на ваш суд

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

acl_check_rcpt:
  accept  hosts = :
 
  deny    message       = Restricted characters in address
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]
  
  deny    message       = Restricted characters in address
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
  
  deny     message      = Invalid account  $sender_address_local_part
           condition    = ${if match {$sender_address_local_part}{\N^(\.|.+\.\.|
.*[\%\/\!\&\@\|\~\`])\N} {yes}{no}}
  
  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
          control       = submission
  accept  authenticated = *
# вот так их и пропустим, или я глупый и делаю чтото не то??
# то с помощю чего хочу убавить спам
deny    message       = "HELO/EHLO require by SMTP RFC"
          condition     = ${if eq{$sender_helo_name}{}{yes}{no}}

  deny    message       = "HELO is not hostname or IP address (see RFC 821, 2821)"
          condition     = ${if match{$sender_helo_name}\
                            {\N\.\N}{no}{yes}}

  deny    message       = "HELO is IP address, sorry"
          condition     = ${if match{$sender_helo_name}\
                            {\N^[\[\]\d\.]+$\N}{yes}{no}}
  
  warn    set acl_m1    = ${lookup dnsdb{defer_never,a=$sender_helo_name}{$value}{false}}

  deny    message       = "HELO is not hostname (lookup failed)"
          condition     = ${if eq{$acl_m1}{false}{true}{false}}
          !spf          = pass

  deny    message       = "host in blacklist - $dnslist_domain $dnslist_text"
          hosts         = !+relay_from_hosts
          dnslists      = proxies.blackholes.easynet.nl : \
                          cbl.abuseat.org : \
                          sbl.spamhaus.org : \ 
                          bl.spamcop.net 

  deny    message       = "$sender_host_address is not allowed to send mail from $sender_address_domain (SPF fail)"
          spf           = fail
# если я правильно понимаю строки вида  hosts = * : !127.0.0.1 : !localhost можно убрать из проверок так как своих я уже пропусил

#  в этой части я совсем не уверен 
 require verify       = sender/callout=10s,defer_ok
  require logwrite      = sender_address = $sender_address
        hosts           = *
  deny    message       = don't spam me
          senders       = www@test.com.ua
  accept   hosts        = +relay_from_hosts
           verify       = recipient/callout=10s,use_sender,defer_ok
  accept  authenticated = *
          control       = submission
#####

deny    message       = relay not permitted

вот такой конфиг , может я в корне не прав и чегото не понимаю

и еще вопрос подскажите куда посмотреть чтобы сделать вайт-листы средствами екзима??