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

Настройка SpamAssassin через ACL

Добавлено: 2008-11-18 13:04:05
barut
Сейчас проверка на спам происходит через специальный роутер и транспорт, использующий spamc.
Попытался сделать автоматическую проверку через exim'овский ACL.

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

# warn message = X-Spam-Score: $spam_score ($spam_bar)
#      logwrite = "X-Spam-Score: $spam_score ($spam_bar)"
#      hosts = !+whitelist_hosts_ip : *
#      spam = spammail:true

# warn message = X-Spam-Report : $spam_report
#      hosts = !+whitelist_hosts_ip : *
#      spam = spammail:true

# warn message = ***SPAM*** $h_Subject :
#      hosts = !+whitelist_hosts_ip : *
#      spam = spammail:true

# deny message = This Message scored $spam_score spam points
#      hosts = !+whitelist_hosts_ip : *
#      condition = ${if > {$spam_score_int}{120}{1}{0}}
#      spam = spammail:true
Но такой вариант не устраивает. Проверка происходит даже на исходящую почту, это что первое не понравилось. Потом проверка идет от одного пользователя spammail.
Через spamc проверка шла для каждого отдельного пользователя (у каждого пользователя существуют отдельные настройки). Достигалось это через переменную $domain, после проверки которой определялся владелец домена (пользователь системы, которому принадлежат ящики этого домена). В ACL_DATA эту переменную использовать нельзя, как в прочем и производить проверку отправителя, находится ли он в локальных доменах.

Может кто знает как побороть это? Хочется чтобы проверка на спам производилась от каждого отдельного пользователя в правилах ACL.

P.S. пробовал запихивать домен в переменную acl_m0 во время ACL_RCPT, но срабатывал такой вариант через раз.

Еще насколько я понимаю проверка на спам производится в течение активной SMTP-сессии, сильно это загружает канал и проц???

Re: Настройка SpamAssassin через ACL

Добавлено: 2008-11-27 23:30:01
_adre
ф топку надо отправить .... такое правила, заставить работать спамасассина от пользователя нобади, и пускай гоняет сообщения, а выдумал помоему лишний геморой...

Re: Настройка SpamAssassin через ACL

Добавлено: 2008-11-28 2:57:06
lerryc
barut писал(а):Сейчас проверка на спам происходит через специальный роутер и транспорт, использующий spamc.
Попытался сделать автоматическую проверку через exim'овский ACL.

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

# warn message = X-Spam-Score: $spam_score ($spam_bar)
#      logwrite = "X-Spam-Score: $spam_score ($spam_bar)"
#      hosts = !+whitelist_hosts_ip : *
#      spam = spammail:true

# warn message = X-Spam-Report : $spam_report
#      hosts = !+whitelist_hosts_ip : *
#      spam = spammail:true

# warn message = ***SPAM*** $h_Subject :
#      hosts = !+whitelist_hosts_ip : *
#      spam = spammail:true

# deny message = This Message scored $spam_score spam points
#      hosts = !+whitelist_hosts_ip : *
#      condition = ${if > {$spam_score_int}{120}{1}{0}}
#      spam = spammail:true
Но такой вариант не устраивает. Проверка происходит даже на исходящую почту, это что первое не понравилось. Потом проверка идет от одного пользователя spammail.
Через spamc проверка шла для каждого отдельного пользователя (у каждого пользователя существуют отдельные настройки). Достигалось это через переменную $domain, после проверки которой определялся владелец домена (пользователь системы, которому принадлежат ящики этого домена). В ACL_DATA эту переменную использовать нельзя, как в прочем и производить проверку отправителя, находится ли он в локальных доменах.

Может кто знает как побороть это? Хочется чтобы проверка на спам производилась от каждого отдельного пользователя в правилах ACL.

P.S. пробовал запихивать домен в переменную acl_m0 во время ACL_RCPT, но срабатывал такой вариант через раз.

Еще насколько я понимаю проверка на спам производится в течение активной SMTP-сессии, сильно это загружает канал и проц???

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

 warn message = ***SPAM*** $h_Subject :
      hosts = !localhost : !+relay_from_host
### если почта принимается fetchmail извне, то так
### hosts = 127.0.0.1 : !+relay_from_host 
     set acl_m0  =    <== получить сюда user_ID, если пользователь системный, то можно просто $local_part
     spam = $acl_m0:true
но при этом спам-леарн надо запускать от каждого пользователя индивидуально

Re: Настройка SpamAssassin через ACL

Добавлено: 2008-11-28 14:47:32
barut

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

warn message = ***SPAM*** $h_Subject :
      hosts = !localhost : !+relay_from_host
### если почта принимается fetchmail извне, то так
### hosts = 127.0.0.1 : !+relay_from_host 
     set acl_m0  =    <== получить сюда user_ID, если пользователь системный, то можно просто $local_part
     spam = $acl_m0:true
вот как получить user_ID меня и интересует... Юзари хранятся не в базе, а в разных текстовы файлах. Досталась такая схема от DirectAdmin'a. В разделе acl_data нет доступа к переменным $local_part и $domain в том то и беда... Поэтому и задал вопрос на форуме. Может кто пути обходные знает...

То что spamassassin для каждого юзверя отдельно запускается - прихоть не моя, а DirectAdmin'a... Клиенты желают сам настраивать уровень фильтрации спама и что с ним делать. Через интерфейс DA это делается...

Тему думаю можно закрыть, потому что более грамотного способа в моем случае чем spamc думаю нет.

Сейчас больше интересует другое. Процесс фильтрации спама происходит во время SMTP сессии??? Если да, то насколько это загружает канал и проц???

Re: Настройка SpamAssassin через ACL

Добавлено: 2008-11-28 16:11:44
lerryc
barut писал(а): вот как получить user_ID меня и интересует... Юзари хранятся не в базе, а в разных текстовы файлах. Досталась такая схема от DirectAdmin'a. В разделе acl_data нет доступа к переменным $local_part и $domain в том то и беда... Поэтому и задал вопрос на форуме. Может кто пути обходные знает...

Сейчас больше интересует другое. Процесс фильтрации спама происходит во время SMTP сессии??? Если да, то насколько это загружает канал и проц???
была же ранее какая-то связь между local_part и user_ID
если структура файлов известна - то достать можно
доставать нужно в секции acl_check_rcpt а в секцию data передать через acl_m?

по поводу нагрузки не скажу - у меня из 4000 коннектов только 5-8 добрались до спамассина, поэтому для меня это не заметно

Re: Настройка SpamAssassin через ACL

Добавлено: 2008-11-28 16:40:20
barut
Я так и пытался, через переменные ACL это устанавливать, но не всегда прокатывало.

Судя по всему, оставлю так как есть, тем более говорят что spamc нормально отрабатывает сообщение.