Антиспамовый фильтр (Sendmail + DrWeb + SpamAssassin)

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1984
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 07 июн 2004, 16:41

to GGR
не делайте всё одновременно, отделите желток от белка, а именно:

1. добейтесь нормального запуска spamd вручную, из консоли
2. добейтесь запуска милтера из консоли

проверте что имеются сокеты на оба этих процесса и они мирно сидят в запущенных процессах

3. после проверки общей работоспособноси почтовика, включите обработку милтера

далее читаем логи, смотрим заголовки писем и убеждаемся что вся связка работает.

4. и только после этого проверяем запуск милтера и демона в rc скриптах.

GGR
Junior member
Сообщения: 4
Зарегистрирован: 07 июн 2004, 16:19
Откуда: Челябинск
Контактная информация:

Сообщение GGR » 07 июн 2004, 16:55

пасибо конечно, постараюсь все упорядочить но можно ответить все-таки на конкретный вопрос :
что должно стоять в параметре сокет строчки про Ассасин
INPUT_MAIL_FILTER(`spamassassin',`S=local:/var/run/milter-spamc, F=T, T=C:15m;S:4m;R:4m;E:10m')

чей сокет там должен быть? мильтера?
укажите плиз на ошибки в sendmail.mc
Ты видишь суслика? - Нет.
Я тоже. НО ОН ЕСТЬ!!!

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1984
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 07 июн 2004, 17:46

GGR писал(а):пасибо конечно, постараюсь все упорядочить но можно ответить все-таки на конкретный вопрос :
что должно стоять в параметре сокет строчки про Ассасин
INPUT_MAIL_FILTER(`spamassassin',`S=local:/var/run/milter-spamc, F=T, T=C:15m;S:4m;R:4m;E:10m')

чей сокет там должен быть? мильтера?
укажите плиз на ошибки в sendmail.mc
там должен быть сокет милтера, работает связка sendmail-milter-spamd то есть параметры spamd должен знать милтер но не sendmail

я думаю что должно быть так :

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

define(`confMILTER_MACROS_CONNECT',`b, j, _, {daemon_name}, {if_name}, {if_addr}') 
INPUT_MAIL_FILTER(`milter-spamc',`S=unix:/var/state/milter-spamc/socket, T=S:30s;R:2m') 
INPUT_MAIL_FILTER(`drweb-filter', `S=local:/usr/local/drweb/run/drweb-smf.sock, F=T, T=C:1m;S:5m;R:5m;E:1h') 
define(`confMILTER_LOG_LEVEL',`14') 
это точно убрать :

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

INPUT_MAIL_FILTER(`spamassassin',`S=local:/var/run/milter-spamc, F=T, T=C:15m;S:4m;R:4m;E:10m') 
я не знаю для чего это:

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

INPUT_MAIL_FILTER(`milter-sender',`S=unix:/var/state/milter-sender/socket, T=C:1m;S:30s;R:6m;E:1m') 
define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`,{verify}') 

GGR
Junior member
Сообщения: 4
Зарегистрирован: 07 июн 2004, 16:19
Откуда: Челябинск
Контактная информация:

Сообщение GGR » 07 июн 2004, 18:12

Код:
INPUT_MAIL_FILTER(`milter-sender',`S=unix:/var/state/milter-sender/socket, T=C:1m;S:30s;R:6m;E:1m')
define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`,{verify}')

Это замечательная вещь в помощь к Ассассину стоит самой первой в связке и принимает первой на себя письмо, проверяет по ДНСу и МХам корректность сендера

Ладно я указал так
INPUT_MAIL_FILTER(`spamassassin',`S=local:/var/state/milter-spamc/socket, F=T, T=C:15m;S:4m;R:4m;E:10m')
т.е типа сокет самого милтера, оно заработало но явно неправильно(но об этом я спрошу в следующем письме, Баес явно незаработал ;)))
хотя допускаю что не прав - но если сделать так как ты говоришь то где, в каком конфиге сказать мильтеру что надо передавать на сокет spamd????? В случае с фильтром веба у него был отдельный каталог с конфигом а где у milter-spamc подобный каталог или конфиг????

вот то что пишет spamd в логах
Jun 8 03:01:31 newmail spamd[1498]: info: setuid to root succeeded
Jun 8 03:01:31 newmail spamd[1498]: Still running as root: user not specified with -u, not found, or set to root. Fall back to nobody.
Jun 8 03:01:31 newmail spamd[1498]: checking message <200406072101.i57L1URu001494@newmail.chelcom.ru> for root:65534.
Jun 8 03:01:31 newmail spamd[1498]: clean message (0.0/3.5) for root:65534 in 0.2 seconds, 2511 bytes.

но при этом соответсвующих хедеров в письме не появляется X-Spam-Checker-Version: нету
есть только
X-Scanned-By: milter-spamc/0.17.257 (newmail.chelcom.ru [81.20.168.92]); Mon, 07 Jun 2004 19:38:21 +0600
X-Scanned-By: milter-spamc/0.17.257 (newmail.chelcom.ru [81.20.168.92]); Mon, 07 Jun 2004 19:38:21 +0600
X-Scanned-By: milter-sender/0.55.730 (newmail.chelcom.ru [81.20.168.92]); Mon, 07 Jun 2004 19:38:17 +0600
X-Spam-Flag: NO
X-Spam-Status: NO, hits=0.00 required=3.50

причем непонятно почему спамс написал сво хедер дважды...

и еще непонимаю почему у меня не включился Баес, в конфиге все указано, может потому что сам конфиг лежит в немного нестандартом месте, но она сама туда его поставила при установке из портов
/usr/local/etc/mail/spamassassin, после загрузки там образовался файлик auto_whitelist.db, но файлов байеса не обнаружено

/usr/local/etc/mail/spamassassin/local.cf
-----------------------------------------------
rewrite_subject 1
subject_tag *SPAM*_HITS_ points*
required_hits 3.5
report_safe 0
use_terse_report 0
use_bayes 1
auto_learn 1
skip_rbl_checks 0
use_razor2 0
use_dcc 0
use_pyzor 0
always_add_report 1
use_auto_whitelist 1
auto_whitelist_path /usr/local/etc/mail/spamassassin/auto_whitelist
bayes_path /usr/local/etc/mail/spamassassin/bayes
ok_languages ru en
ok_locales ru en
report_charset windows-1251
lang ru
score FROM_ILLEGAL_CHARS 1.5
score HEAD_ILLEGAL_CHARS 1.5
score SUBJ_ILLEGAL_CHARS 1.5

pr0vider
Junior member
Сообщения: 13
Зарегистрирован: 17 май 2004, 12:51
Откуда: Moscow, RU
Контактная информация:

Про мильтер....

Сообщение pr0vider » 08 июн 2004, 10:59

GGR писал(а):пасибо конечно, постараюсь все упорядочить но можно ответить все-таки на конкретный вопрос :
что должно стоять в параметре сокет строчки про Ассасин
INPUT_MAIL_FILTER(`spamassassin',`S=local:/var/run/milter-spamc, F=T, T=C:15m;S:4m;R:4m;E:10m')

чей сокет там должен быть? мильтера?
укажите плиз на ошибки в sendmail.mc
Здесь должен быть сокет мильтера. В вашем sendmail.mc вышеприведенную строчку можно вообще убрать. т.к. она полнсостью дублируется для milter-spamc. В sendmail.mc надо указывать только на мильтер. Кроме того в конце каждой строки я бы поставил как тут люди рекомендуют "dnl" - это избавит вас от непонятных проблем после компиляции в sendmail.cf. Spamd daemon должен быть запущен до мильтера в вашем случае /usr/local/etc/rc.d/spamd.sh start. Конфиги для spamd по умолчанию лежат в /etc/mail/spamassassin/local.cf. Кроме того посмотрите опции мильтера milter-spamc - там их достаточно много и от них зависит как это все будет работать. :D

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1984
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 08 июн 2004, 11:10

to GGR
1. баес начинает работать после заучивания 200 белых и 200 чёрных писем (я уже устал всем об этом рассказывать).
2. то что в заголовке письма нет оценки и соответствующих X тегов это фича spamc милтера. об этом тоже уже говорили здесь на форуме.

RaUs
Junior member
Сообщения: 6
Зарегистрирован: 01 июн 2004, 11:39

переодически падает milter

Сообщение RaUs » 10 июн 2004, 16:50

Привет всем !
переодически падает spamass-milter ...
установлена версия spamass-milter 0.2.0 .....
вот выдержки из maillog :
: milter_read(spamassassin): cmd read returned 0, expecting 5
: Milter (spamassassin): to error state
: Milter (spamassassin): error connecting to filter: Connection refused by /var/run/spamass-milter
: Milter: initialization failed, temp failing commands
: i5ACZdk3022845: Milter (spamassassin): error connecting to filter: Connection refused by /var/run/spamass-milter

в sendmail.mc вот так :
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter, F=T, T=C:15m;S:4m;R:4m;E:10m')dnl
INPUT_MAIL_FILTER(`drweb-filter', `S=inet:3001@localhost, F=T, T=C:1m;S:5m;R:5m;E:1h')

Может кто знает - в чем тут дело ?

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1984
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 10 июн 2004, 17:43

:? есть такой баг. это криво написаный милтер.

RaUs
Junior member
Сообщения: 6
Зарегистрирован: 01 июн 2004, 11:39

milter failed

Сообщение RaUs » 10 июн 2004, 17:55

может тогда кто нибудь поделится опытом - как решается проблема со сбоями милтера.
может ранние версии милтера являются более стабильными ?

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1984
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 10 июн 2004, 17:59

я для себя пока не решил, я думаю наиболее оптимальным будет использование милтера mimedefang.
Но времени на тесты всё никак не найду.

P.S. Милтер spamc тоже да`n нестабильные результаты.

ilyushka
Junior member
Сообщения: 3
Зарегистрирован: 29 дек 2003, 09:43

Сообщение ilyushka » 10 июн 2004, 18:40

setar писал(а):я для себя пока не решил, я думаю наиболее оптимальным будет использование милтера mimedefang.
Но времени на тесты всё никак не найду.

P.S. Милтер spamc тоже да`n нестабильные результаты.
может это поможет?
http://savannah.nongnu.org/bugs/?func=d ... em_id=1099

да. а ни у кого проблемы не было что после компиляции при попытке запустить выдается segmentation fault. линукс - RS AS 3.0

RaUs
Junior member
Сообщения: 6
Зарегистрирован: 01 июн 2004, 11:39

Сообщение RaUs » 11 июн 2004, 14:38

Привет Всем !

Не рекомендую использовать флаг F=T в параметрах милтера (sendmail.mc) как это указано в первом сообщении - у меня это приводило к отлупу писем - лучше просто F=

Вот информация по этому флагу :
The F flag says what to do if the milter cannot be reached. F= means let it through. F=R means reject, F=T means return tempfail.


Еще - если кому интересно много полезной информации вот здесь :
http://lists.gnu.org/archive/html/spama ... reads.html

Raf
Junior member
Сообщения: 5
Зарегистрирован: 26 авг 2002, 19:28

Сообщение Raf » 11 июн 2004, 16:07

Вроде всё настроил, но спам не фильтруется.... Что скажете....


X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=ham version=2.60

Вопрос по поводу параметра test, поясните откуда он берётся ....

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1984
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Сообщение setar » 15 июн 2004, 11:32

Raf писал(а):Вроде всё настроил, но спам не фильтруется.... Что скажете....

X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=ham version=2.60

Вопрос по поводу параметра test, поясните откуда он берётся ....
Что то у вас не так с перловой библиотекой SA похоже, (если конечно письмо не пустое)

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

вот пример оценки достаточно чистого письма :

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

X-Spam-Status: No, hits=-6.2 required=5.0 tests=AWL,BAYES_00,HTML_50_60,
        HTML_MESSAGE autolearn=no version=2.60
X-Spam-Report: 
        *  0.1 HTML_50_60 BODY: Message is 50% to 60% HTML
        *  0.1 HTML_MESSAGE BODY: HTML included in message
        * -9.8 BAYES_00 BODY: Bayesian spam probability is 0 to 1%
        *      [score: 0.0000]
        *  3.4 AWL AWL: Auto-whitelist adjustment

Raf
Junior member
Сообщения: 5
Зарегистрирован: 26 авг 2002, 19:28

Сообщение Raf » 15 июн 2004, 12:43

Письмо не пустое, абсолютно все письма проходящие через фильтр получают добавок к заголовку, который я писал ниже....
Что то у вас не так с перловой библиотекой SA похоже
А что с ней может быть не так ?!

P.S. Буду благодарен, если поможете разобраться... А то что-то я в тупике ((

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»