24
Авг
2010

dcc-cgp helper

В предыдущей статье DCC для CGP я описывал свой патч для dcc-cgp. В настоящий момент в виде патча мои изменения поддерживать не так удобно, потому я сделал свой тарболл dcc-cgp-1.1.0-dcc-1.3.130.tar.gz

Это модифицированная версия dcc-cgp v1.1.0 и плюс исправленные патчи для накатывания на dcc-1.3.130.

Мои модификации dcc-cgp v1.1.0:

  • изменил коды ошибок GREY_XCODE и DCC_XCODE на x.9.9. Это позволяет сообщать отправляющей стороне о причине ошибки в момент работы greylist-инга;
  • изменил dcc_mk_su () для работы с новыми версиями dcc;
  • изменил GCP_PROTOCOLS – список протоколов, которыми сообщение может попасть в систему и будет обработано этим хелпером. В него добавлены некоторые WEB протоколы, но удалён RPOP;
  • немного исправлены информационные сообщения.

Я уже больше года использую эти модификации на своей системе и пока доволен.

Если вы хотите пользоваться не модифицированной версией от автора dcc-cgp, то вам надо заменить dcc-cgp/dcc-cgp.c на версию из оригинального дистрибутива и модифицировать одну строку:

-      dcc_mk_su(DCCsu, hp->h_addrtype, hp->h_addr, Port);
+      dcc_mk_su(DCCsu, hp->h_addrtype, hp->h_addr, 0, Port);

Установка модифицированной версии аналогична оригинальной:

  • скачать и развернуть архивы dcc и dcc-cgp;
  • содержимое dcc-cgp перенести в дерево dcc;
  • накатить dcc-CGP.patch и для не FreeBSD систем не забыть накатить dcc-CGP-nonFreeBSD.patch;
  • для перехода к не модифицированной версии dcc-cgp заменить dcc-cgp/dcc-cgp.c из оригинального дистрибутива и изменить одну строку как это описано чуть выше;
  • собрать, установить и настроить dcc как это описано в его документации;
  • скопировать получившийся dcc-cgp/dcc-cgp в рабочую папку CGP и настроить его запуск как CGP хелпера.
0

Прошло несколько месяцев работы dspam-фильтров в промышленных масштабах. Серьёзных проблем не найдено, но захотелось немного изменить граничные точки для X-Junk-Score заголовка.

Было:

/* Defines the bar score ranges. By default the following ratios are used:
* digital    Bar score
* 0          []
* 1-49       [X]
* 50-70      [XX]
* 71-89      [XXX]
* 90-94      [XXXX]
* 95-99      [XXXXX]
* 100        [XXXXXX]
*/
int BARSCORERANGES[] = {0,49,70,89,94,99,100,      -1};

Стало:

/* Defines the bar score ranges. By default the following ratios are used:
* digital    Bar score
* 0          []
* 1-49       [X]
* 50-70      [XX]
* 71-89      [XXX]
* 90-94      [XXXX]
* 95-98      [XXXXX]
* 99-100     [XXXXXX]
*/
int BARSCORERANGES[] = {0,49,70,89,94,98,100,      -1};

Изменились два последних диапазона. Это позволяет отделить максимальную вероятность 99 в отдельную группу. И применять к ней более суровые фильтры.

Я соответственно изменил, выложенные на сайте cgp- и zmailer- фильтры. Это единственное изменение в новых версиях.

0

spam musubiАналогично интеграции DSPAM для CGP в режиме добавления заголовков, можно использовать эту технологию для интеграции DSPAM-a для ZMailer MTA.

Обязательным условием интеграции является модификация исходного кода dspam, для перевода его в режим добавления только заголовков. Для этого надо наложить модификацию: dspam_addheader.patch

План интеграции такой:

Читать полностью »

0
28
Дек
2009

DSPAM для CGP v1.0.1

949d805d531e

Обновил dspam-cgp.c до версии 1.0.1.

Добавлен традиционный для CGP заголовок вида: X-Junk-Score: 90 [XXXX]. Его удобно использовать для применения различных действий  к письмам с разным уровнем «вероятности» спама. Этот заголовок автоматически используется в разделе «Упрощённые Правила по Обработке Спама». Так же это можно использовать и в своих правилах вида:

Header Field is   X-Junk-Score:*[XXXX*
Store in  Junk
Discard

Подробнее о том как использовать этот заголовок можно прочитать на сайте CGP в описании настроек для фильтра CGPSpamCatcher.

Для задания граничных точек уровня вероятности используется массив чисел:

/* Defines the bar score ranges. By default the following ratios are used:
 * digital    Bar score
 * 0          []
 * 1-49       [X]
 * 50-70      [XX]
 * 71-89      [XXX]
 * 90-94      [XXXX]
 * 95-99      [XXXXX]
 * 100        [XXXXXX]
*/
int BARSCORERANGES[] = {0,49,70,89,94,99,100,      -1};

Вероятность может быть от 0 до 100. Количество диапазонов может быть любым. Вероятность вычисляется исходя из результатов, которые сообщает dspam.  Пока мне кажется оптимальным такое распределение вероятностей. Но вы можете сами изменить их, отредактировав BARSCORERANGES[]. Конечный «-1» всегда должен присутствовать последним элементом, он используется для определения конца массива.

О том как изменить dspam и использовать его для CGP читать в предыдущей статье: DSPAM для CGP в режиме добавления заголовков

0

dspam-logo-eyes DSPAM — это свободное программное обеспечение, представляющее собой статистический спам фильтр.

Проект DSPAM, который некоторое время оказался заброшенным, вот уже больше полугода активно развивается dspam-сообществом. В 2007 году его бывший автор Jonathan Zdziarski передал свои права компании Sensory Networks. А в январе 2009 года компания Sensory Networks объявила, что перестаёт заниматься этим проектом и полностью передала все права dspam-сообществу.

Про настройку, обучение и работу с dspam-ом есть много статей, я хочу написать об изменениях, которыми пользуюсь я для связки dspam-а и CGP.

Читать полностью »

0

whitelistНаравне с технологией DNS blacklisting (DNSBL) существует технология DNS whitelisting (DNSWL). Это списки ip-адресов, хранимые с использованием системы архитектуры DNS. Но в отличии от «чёрных списков»(blacklist), которые хранят ip-адреса распространителей спама, «белые списки»(whitelist) хранят ip-адреса тех, кто в рассылках спама не замечен.

Основная идея «белых списков» — уменьшить количество ложных срабатываний остальных антиспам фильтров.

Мне показалось, что наиболее полную базу «белых адресов» имеет ресурс dnswl.org. Этот ресурс, помимо самого факта «чистоты» ip-адреса, хранит так же уровень этой чистоты(Trust Level).

Всего уровней четыре:

  1. High – никогда не рассылал спам;
  2. Medium – крайне редки случаи спама, быстро реагируют на проблемы;
  3. Low – иногда рассылают спам, активно реагируют на проблемы, но менее оперативно;
  4. None – легитимный почтовый сервер, но может рассылать спам.

Применение этого белого списка может быть таким:

  • не применять технологию «серых списков» для всех ip-адресов с уровнями None-High;
  • не применять технологию «черных списков» для всех ip-адресов с уровнями None-High;
  • не проверять письма на спам (или проверять в меньшей степени) для ip-адресов с уровнями Medium-High.

Вся остальная почта с адресов, которых нет в DNSWL, пройдёт полную проверку.

Для CGP я написал dnswl-cgp.c фильтр (cgp helper), который делает запрос в DNSWL и добавляет в сообщение заголовок: «X-DNSWL-Status: <Trust Level>».

Читать полностью »

20
Фев
2009

DCC для CGP

dcc-cgp В заметке Greylisting для CGP я давал ссылку на dcc-cgp help'ер, который реализует проверку входящих сообщений через технологию DCC. Как оказалось, сайт автора (http://sk.simtel.ru/DCC/DOC/DownLoad.html) уже некоторое время недоступен.

Потому я выложил дистрибутив у себя: http://kocmuk.ru/download/dcc-cgp. К сожалению, этот дистрибутив накатывается на новые версии DCC с ошибкой. Потому там же я выложил свой dcc-cgp.1.3.103.patch. Этот патч надо применить уже после всех патчей самого dcc-cgp.

UPD 24/08/2010: сделал тарболл с модифицированной версией dcc-cgp и работающими патчами для dcc-1.3.130. Описание изменений в новом топике.

INSTALLATION

dcc-cgp requires CommuniGate Pro version 4.0 or higher (4.1 or higher preferred).
Installation of dcc-cgp takes several steps. The following step-by-step instructions should enable you to get the filter working on your system.

  1. The latest dcc-cgp tarball is available from Simtel.Ru.
  2. The latest dcc-dccd.tar.Z tarball is available from http://www.dcc-servers.net/dcc/source/.
  3. Extracting the source distribution will create a directory named "dcc-dccd- " where the source resides. Change current directory to it and extract dcc-cgp source distribution to this directory
  4. Apply patch to «configure» and «Makefiles» by execution the following command:
    «patch < dcc-CGP.patch», or «gpatch < dcc-CGP.patch».
    On Linux apply: «patch -l -u -t -p0 < dcc-CGP.patch».
  5. Apply patch to «Makefile» for all non-FreeBSD systems by execution the following command:
    «patch < dcc-CGP-nonFreeBSD.patch», or «gpatch < dcc-CGP-nonFreeBSD.patch».
    On Linux apply: «patch -l -u -t -p0 < dcc-CGP-nonFreeBSD.patch».
  6. Apply patch to «Makefile» for new version of DCC by execution the following command:
    «patch < dcc-cgp.1.3.115.patch», or «gpatch < dcc-cgp.1.3.115.patch».
    On Linux apply: «patch -l -u -t -p0 < dcc-cgp.1.3.115.patch».
  7. And now install DCC software on your system following documentation. Also install any auxiliary programs you want to use, such as «rrdtool» for example.
  8. ... follow README

UPD 05/04/2009: обновил мой патч с dcc-cgp.1.3.99.patch до dcc-cgp.1.3.103.patch

UPD 26/08/2009: обновил мой патч с dcc-cgp.1.3.103.patch до dcc-cgp.1.3.115.patch

UPD 24/08/2010: сделал тарболл с модифицированной версией dcc-cgp и работающими патчами для dcc-1.3.130. Описание изменений в новом топике.