[exim-conf] dlfunc для интеграции exim с rspamd

Victor Ustugov victor на corvax.kiev.ua
Сб Янв 29 13:37:19 EET 2011


Victor Ustugov wrote:

> в рамках расширения набора поддерживаемых контент сканеров написан
> тестовый вариант dlfunc для интеграции exim с rspamd:
> http://mta.org.ua/exim-4.70-conf/dlfunc/rspamd/rspamd.c
> 
> rspamd позиционируется как алтернатива SpamAssassin'у:
> http://webcrunch.ru/library/administration/security/rspamd/
> https://bitbucket.org/vstakhov/rspamd/downloads
> 
> пока тяжело сказать, сколько времени уйдет на доведение функционала
> rspamd до функционала SpamAssassin, собранного с этими патчами
> http://mta.org.ua/spamassassin/patches/, и использующего эти правила
> http://mta.org.ua/spamassassin/rules.corvax/ и
> http://mta.org.ua/spamassassin/rules.local/
> 
> но для систем с большим потоком входящей почты SpamAssassin явно не
> является приемлемым решением.
> 
> вот пример configure для обработки ответа rspamd, полученного от dlfunc:
> http://mta.org.ua/exim-4.70-conf/dlfunc/rspamd/configure-example-single-metric
> 
> как следует из навазния файла, этот пример годится для конфигурации
> rspam с одной метрикой. что делать с результатами проверки при более чем
> одной метрике, я пока не решил.
> 
> собственно, саму dlfunc не нужно модифицировать в случае использования
> нескольких метрик.

вот вариант для обработки ответов от rspamd с несколькими метриками:
http://mta.org.ua/exim-4.70-conf/dlfunc/rspamd/configure-example

как и в предыдущем варианте, из ответа rspamd извлекается номер версии
протокола и указывается в добавляемом поле X-Rspamd-Protocol-Version.

далее извлекается поле Urls из ответа rspamd и его значение указывается
в добавляемом поле X-Rspamd-Urls.

далее ответ rspamd разделяется по метрикам. для каждой метрики поле
Action заменяется на поле Status.
значение Action: spam меняется на Status: Spam
значение Action: greylist меняется на Status: Probably spam
пустое значение Action меняется на Status: unknown
остальные значения Action меняются на Status: Ham

в таком виде все поля ответа rspamd с указанием сработавших символов,
соответствующие данной метрике, добавляются в поле X-Rspamd-Report
вместе с названием метрики, флагом срабатывания метрики, начисленными
баллами.

на основании полей Status каждой метрики вычисляется общий результат
проверки и его значение указывается в добавляемом поле X-Rspamd-Status.

в случае, если rspamd вернул результаты проверки письма только по одной
метрике, начисленные баллы по этой метрике будут указаны в добавляемом
поле X-Rspamd-Score.


пример добавленных полей (ответ rspamd по двум метрикам):

X-Rspamd-Protocol-Version: 1.1
X-Rspamd-Urls: shopinusa.com.ua, www.shopinusa.com.ua, estream.com.ua,
www.trackemailmarketing.com, www.gap.com
X-Rspamd-Report: Metric: default; False; 9.00 / 10.00 / 0.00
        Status: Probably spam
        Symbol: FORGED_RECIPIENTS
        Symbol: BAYES_SPAM; 1.00
        Symbol: R_PARTS_DIFFER
X-Rspamd-Report: Metric: test metric; True; 9.00 / 8.00 / 0.00
        Status: Spam
        Symbol: FORGED_RECIPIENTS
        Symbol: BAYES_SPAM; 1.00
        Symbol: R_PARTS_DIFFER
X-Rspamd-Status: Spam


пример добавленных полей (от rspamd по одной метрике):

X-Rspamd-Protocol-Version: 1.1
X-Rspamd-Urls: shopinusa.com.ua, www.shopinusa.com.ua, estream.com.ua,
www.trackemailmarketing.com, www.gap.com
X-Rspamd-Report: Metric: default; False; 9.00 / 10.00 / 0.00
        Status: Probably spam
        Symbol: FORGED_RECIPIENTS
        Symbol: BAYES_SPAM; 1.00
        Symbol: R_PARTS_DIFFER
X-Rspamd-Status: Probably spam
X-Rspamd-Score: 9.00 / 10.00 / 0.00



-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC




Подробная информация о списке рассылки exim-conf