настройка Spamassassin

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
dvg_lab
сержант
Сообщения: 291
Зарегистрирован: 2007-07-02 22:51:25
Откуда: Москва

настройка Spamassassin

Непрочитанное сообщение dvg_lab » 2007-10-26 11:15:31

у меня долгое время крутится релей на постфиксе и amavisd-new со спамассассином который пробрасывает почту на корпоративный эксчендж, последнее время стало прорываться много спама и антиспам необходимо постоянно обучать. Делать это руками, то есть сохранять письмо, закачивать его на сервак, потом говорить sa-learn честно говоря зодолбало, хочется настроить что-то типа spam@domain.ru и шобы все юзера могли пересылать туда спам, а там некий скрипт обучал бы антиспамовый фильтр...

есть у кого подобные реализации? направте в правильное русло плс...
FreeBSD the power to serve.

Хостинговая компания 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/

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-10-26 17:50:08

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

%grep dspa /etc/aliases
spam:           "| /usr/local/bin/dspam --user system --class=spam --source=error"
notspam:        "| /usr/local/bin/dspam --user system --class=innocent --source=error"
%      
но это для дспам
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dvg_lab
сержант
Сообщения: 291
Зарегистрирован: 2007-07-02 22:51:25
Откуда: Москва

Re: настройка Spamassassin

Непрочитанное сообщение dvg_lab » 2007-10-26 22:20:29

кроме Лисяры никто таки не ответил.
На самом деле я много думал на тему того что это релей, он является MX для домена но в то же время все письма отдаются эксченджу, вот как-то надо настроить эксчендж чтобы при пересылке спамовое письмо заливалось обратно в релей и чтоб релей не устраивал футбол с эксченджем. Домен то один и тот же и там и тут. Вот тут я сообразить не могу. Заведу я допустим ящик spam@domen.ru в алиасах его пропишу, скорее всего удастся постфикс настроить так чтоб он понимал что spam это локальный адрес, а все остальные это на эксчендж... но как сказать эксченджу что spam@domen.ru слать на релей?
Не знаю понятно написал или нет... ваще у меня пятницо, чего и всем желаю, но от работы оторваться нереально :)
FreeBSD the power to serve.

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-10-26 22:25:29

у меня этот ящик в отдельном домене
domain.ru - домен
mail.domain.ru - мыльница, на ней жже эти два ящика
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dvg_lab
сержант
Сообщения: 291
Зарегистрирован: 2007-07-02 22:51:25
Откуда: Москва

Re: настройка Spamassassin

Непрочитанное сообщение dvg_lab » 2007-10-29 12:12:21

ща пытаюсь сделать такую вот фигню: в алиасес прописал типа

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

spam: "/usr/local/bin/sa-learn --dbpath /var/amavis/.spamassassin --spam
на экченже сделал пересылку на этот ящик, письмо доходит запускаецо команда sa-learn но не хватает прав и я имею

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

<spam@my.dom.ru>: Command died with status 13: "/usr/local/bin/sa-learn
    --dbpath /var/amavis/.spamassassin --spam". Command output: bayes:
    expire_old_tokens: locker: safe_lock: cannot create lockfile
    /var/amavis/.spamassassin.mutex: Permission denied  bayes: locker:
    safe_lock: cannot create lockfile /var/amavis/.spamassassin.mutex:
    Permission denied Learned tokens from 0 message(s) (1 message(s) examined)
я терь тока понять не могу от какого юзера пускаецо этот sa-learn от постфикса чтоле?
FreeBSD the power to serve.

Аватара пользователя
dvg_lab
сержант
Сообщения: 291
Зарегистрирован: 2007-07-02 22:51:25
Откуда: Москва

Re: настройка Spamassassin

Непрочитанное сообщение dvg_lab » 2007-10-29 13:39:14

почетал интернед... стало мне чета совсем плохо. Народ грит что при пересылке письма хидеры коцаюцо, так оно в принципе и есть, особенно ебу... извините долбаная связка эксченж +аутлук отрезает ваще все хидеры оставляя только свою поеб... извините хрень... И есс-но спам-ассассин понимает это письмо как новое и обучается на нем не совсем верно, оценки потом выставляет как байес_50 то есть не может определить он спам это или нет. Вобщем че длать в случае с релеем я не совсем себе представляю. Форвардинг получаецо не катит. Мало того, автоглюк даже толком сохранить письмо в формате msg не может... вот уродство... негросовт мля. :twisted:
FreeBSD the power to serve.

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-10-29 15:40:43

я пару человек научил дёргать дспамовский хидер с сигнатурой и слать ответ как плайн текст..
хоть что-то...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dvg_lab
сержант
Сообщения: 291
Зарегистрирован: 2007-07-02 22:51:25
Откуда: Москва

Re: настройка Spamassassin

Непрочитанное сообщение dvg_lab » 2007-10-29 15:50:52

lissyara писал(а):я пару человек научил дёргать дспамовский хидер с сигнатурой и слать ответ как плайн текст..
хоть что-то...
тоже ехсчендж + автоглюки?
FreeBSD the power to serve.

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-10-29 16:04:56

да
иначе бы не пришлось :)))
Убей их всех! Бог потом рассортирует...

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-10-29 16:06:38

подумалось - как вариант добавлять в конец письма текстовую часть с указанием что то текст и соответствующей сигнатурой.
она пойдёт как часть письма - и не вырежется...
но это - изврат.
==========
можно даже как html часть , а нужный текст закомментить - чтоб юзеров не смущть
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dvg_lab
сержант
Сообщения: 291
Зарегистрирован: 2007-07-02 22:51:25
Откуда: Москва

Re: настройка Spamassassin

Непрочитанное сообщение dvg_lab » 2007-10-30 10:22:06

я вот щас думаю на dspam перейти, там и сигнатура есть и если сигнатура в теле письма а не в тегах, то можно просто форвардить мыло, и индивидуальная настройка на каждый ящик. даже можно веб интерфейс прикрутить к индивидуальной настройке дспама... вобщем буду думать.
FreeBSD the power to serve.

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-10-30 10:51:08

там сигнатура в заголовках.
но её мона вынуть и в тело сунуть
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dvg_lab
сержант
Сообщения: 291
Зарегистрирован: 2007-07-02 22:51:25
Откуда: Москва

Re: настройка Spamassassin

Непрочитанное сообщение dvg_lab » 2007-10-30 15:22:50

вот тут в каментах http://www.lissyara.su/?id=1453 Хвост дал правильную наводку... надо перейти на dspam и кнопочки прикрутить к автоглюку, вот это буит то что надо. Интересно Хвост на форуме пишет или так мимо проходил в гости зашол?
FreeBSD the power to serve.

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-10-30 16:33:33

dvg_lab писал(а):вот тут в каментах http://www.lissyara.su/?id=1453 Хвост дал правильную наводку... надо перейти на dspam и кнопочки прикрутить к автоглюку, вот это буит то что надо. Интересно Хвост на форуме пишет или так мимо проходил в гости зашол?
у меня не получилось.
получиться - отпишись.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Andy2k
ефрейтор
Сообщения: 69
Зарегистрирован: 2007-08-06 16:14:12

Re: настройка Spamassassin

Непрочитанное сообщение Andy2k » 2007-11-01 23:19:15

dvg_lab писал(а):почетал интернед... стало мне чета совсем плохо. Народ грит что при пересылке письма хидеры коцаюцо, так оно в принципе и есть, особенно ебу... извините долбаная связка эксченж +аутлук отрезает ваще все хидеры оставляя только свою поеб... извините хрень... И есс-но спам-ассассин понимает это письмо как новое и обучается на нем не совсем верно, оценки потом выставляет как байес_50 то есть не может определить он спам это или нет. Вобщем че длать в случае с релеем я не совсем себе представляю. Форвардинг получаецо не катит. Мало того, автоглюк даже толком сохранить письмо в формате msg не может... вот уродство... негросовт мля. :twisted:
Курим маны - они рулез :)
Если в аутглюке жмакнуть "Файл-Сохранить как..." и выбрать тип сохраняемого файла MSG, то прекрасно сохраняются все хидеры. Затем этот файл аттачем кидаем на спамообучающий адрес. Я своих юзверей этой нехитрой операции обучил - полет нормальный, dspam обучается бешенными темпами :)

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-11-02 0:01:00

завтра попробую....
Убей их всех! Бог потом рассортирует...

Аватара пользователя
gmn
сержант
Сообщения: 239
Зарегистрирован: 2007-02-28 18:01:37
Откуда: UA, Kiev
Контактная информация:

Re: настройка Spamassassin

Непрочитанное сообщение gmn » 2007-11-02 14:15:28

dvg_lab писал(а):кроме Лисяры никто таки не ответил.
На самом деле я много думал на тему того что это релей, он является MX для домена но в то же время все письма отдаются эксченджу, вот как-то надо настроить эксчендж чтобы при пересылке спамовое письмо заливалось обратно в релей и чтоб релей не устраивал футбол с эксченджем. Домен то один и тот же и там и тут. Вот тут я сообразить не могу. Заведу я допустим ящик spam@domen.ru в алиасах его пропишу, скорее всего удастся постфикс настроить так чтоб он понимал что spam это локальный адрес, а все остальные это на эксчендж... но как сказать эксченджу что spam@domen.ru слать на релей?
Не знаю понятно написал или нет... ваще у меня пятницо, чего и всем желаю, но от работы оторваться нереально :)
Если вопрос еще актуален, то я решил у себя таким образом (у меня связка Exim-Exchange).

В общих папках Exchange создал папку SPAM. Юзеры туда помещают спам со своего Оутлука.
А я с хоста с Exim по крону запускаю скрипт, который письма с папки забирает и ими обучает SA.
Если дальше интересно, то выложу скрипт.

sasha
проходил мимо

Re: настройка Spamassassin

Непрочитанное сообщение sasha » 2007-11-02 14:55:20

Извеняюь.. как то не хотелось создавать новую тему по настройкам spamassasian.
короче завел я этого зверя- только он помечает просто письма как спам. А как сделать что бы он скидывал их в отдельную папку( или в отдельные папки юзеров) Читал что народ настравивает с procmail -только я в качестве агента доставки использую pop3
вобщем подскажите что и куда прикрутить.

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-11-02 15:41:45

давай скрипт
Убей их всех! Бог потом рассортирует...

Аватара пользователя
gmn
сержант
Сообщения: 239
Зарегистрирован: 2007-02-28 18:01:37
Откуда: UA, Kiev
Контактная информация:

Re: настройка Spamassassin

Непрочитанное сообщение gmn » 2007-11-02 15:54:11

lissyara писал(а):давай скрипт
Скрипт, который по IMAP4 забирает письма с общей папки Exchange и кормит их sa-learn-у:

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

#!/usr/bin/perl

# Define login, password ...
$imapserver="IP-Exchange-сервера";
$login="логин";
$passw="пароль";
$dirname="/var/spool/salearnfromexchange";
$imapfolder="Public Folders/SPAM";

use Net::IMAP::Simple;
use Email::Simple;
use Fcntl;

# SUB
sub emptydestdir {
opendir (DIR,$dirname) or die "cant't open $dirname: $!";
while (defined ($file = readdir(DIR))) { unlink "$dirname/$file";};
close (DIR);
};
# end sub

# Create the object IMAP
    my $imap = Net::IMAP::Simple->new($imapserver) ||
       die "Unable to connect to IMAP: $Net::IMAP::Simple::errstr\n";

# Log on to IMAP server
    if(!$imap->login($login,$passw)){
        print STDERR "Login failed: " . $imap->errstr . "\n";
        exit(64);
    };

# Заремленное использовалось для тестов. Можно убрать.
#my @boxes   = $imap->mailboxes;
#foreach $box (@boxes) {print $box,"\n";};
$imap->select($imapfolder);
# get numbers of messages
$mn=$imap->messages("$imapfolder");

if ($mn>0) { &writeandsalearn;};

# SUB for write messages and run sa-learn
sub writeandsalearn {
    print "Current Mail Box folder: " . $imap->current_box . "\n";
    print "Messages in $imapfolder -- " . $imap->messages("$imapfolder") . "\n";
# del all files in dir for store spam letter
     &emptydestdir;
# get each message and write to file in imapfolder
 for($i=1; $i <= $mn; $i++){
     $imap->seen($i);
     $message_number=$i;
     $filename="$dirname/$i.txt";
     my $message = $imap->get( $message_number );
     sysopen (FN, $filename,O_WRONLY|O_CREAT) or die "Can't open $filename for writing: $!\n";
     print FN for @{$message};
     close FN;
     # del current message on server
     $imap->delete( $message_number );
 };
# RUN SA-LEARN
     $runsalearn=`/usr/local/bin/sa-learn --use-ignores --showdots --spam $dirname`;
# del all messages in spam folder
     &emptydestdir;
};
# end SUB

$imap->quit;
Папочку для скачанных писем создать надо "/var/spool/salearnfromexchange". Или задать свою, другую ...

В конфиге SA я задавал кучу параметров для игнора фильтром bayes:

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

#######
bayes_ignore_header Return-Path
bayes_ignore_header Received
bayes_ignore_header To
bayes_ignore_header X-Resent-For
bayes_ignore_header X-Resent-By
bayes_ignore_header X-Resent-To
bayes_ignore_header Resent-To
bayes_ignore_header Sender
bayes_ignore_header X-MS-Has-Attach
bayes_ignore_header X-MS-TNEF-Correlator
bayes_ignore_header X-SA-Exim-Connect-IP
bayes_ignore_header X-SA-Exim-Rcpt-To
bayes_ignore_header X-SA-Exim-Mail-From
bayes_ignore_header X-SA-Exim-Version
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Checker-Version
bayes_ignore_header X-Spam-Status
bayes_ignore_header X-Spam-Prev-Subject
bayes_ignore_header X-Spam-Level
bayes_ignore_header X-Spam-Score
bayes_ignore_header X-Spam-Report
bayes_ignore_header X-Antispam
bayes_ignore_header X-Antivirus
bayes_ignore_header X-Antivirus-Code
bayes_ignore_header X-Antivirus
bayes_ignore_header X-OriginalArrivalTime
bayes_ignore_header Microsoft Mail Internet Headers

Аватара пользователя
gmn
сержант
Сообщения: 239
Зарегистрирован: 2007-02-28 18:01:37
Откуда: UA, Kiev
Контактная информация:

Re: настройка Spamassassin

Непрочитанное сообщение gmn » 2007-11-02 15:56:18

sasha писал(а):Извеняюь.. как то не хотелось создавать новую тему по настройкам spamassasian.
короче завел я этого зверя- только он помечает просто письма как спам.
Как настроил, так он и делает. Правильно.
sasha писал(а):А как сделать что бы он скидывал их в отдельную папку( или в отдельные папки юзеров) Читал что народ настравивает с procmail -только я в качестве агента доставки использую pop3
вобщем подскажите что и куда прикрутить.
Где ящики?
В самом начале было
sasha писал(а):пробрасывает почту на корпоративный эксчендж
Т.е., я так понимаю, что дальше письма после приемом Exim, передаются по smtp на Exchange. Так? Наверняка так.
А как уже письма забираются с Exchange - это уже другой вопрос ... (Outlook, pop3, imap4, Outlook Web Access).
В Exchange 2003 в каждом ящике пользователя есть папка "Нежелательная почта".
Вот и научи Exchange перемещать письма, помеченные SA, в эту папку каждому юзеру.
В общем, опиши детальнее - какие действия предполагается ывполнять для писем, классифицированных как спам. Тогда уже можно будет дальше писать что-то.

sasha
проходил мимо

Re: настройка Spamassassin

Непрочитанное сообщение sasha » 2007-11-05 11:16:04

>>gmn
Брр... прошу прощения.. я про exchenge ничего не говорил..

У меня стоит Postfix+PgSQL+SpamAssasin, 2 виртуальных домена.
у каждого юзверя своя папка и оттуда они забирают клиентом.
Скрипт( приведен ниже) фильтрует почту и помечает ее как спам. Можно ли с помощью этого антиспама помеченные письма ложить например в отдельную папку у каждого пользователя.

#!/usr/bin/perl

use strict;
use Net::SMTP;

my $host = sall_ch($ARGV[0], '"');
my $ehlo = sall_ch($ARGV[1], '"');
my $mail_from = sall_ch($ARGV[2], '"');
my $rcpt_to = sall_ch($ARGV[3], '"');
my $spamc = sall_ch($ARGV[4], '"');

system("echo $host-$ehlo-$mail_from-$rcpt_to-$spamc >> /var/log/filter-spam.log");

if (!defined($host)||!defined($ehlo)||!defined($mail_from)||!defined($rcpt_to)) {
die("use $0 <host> <ehlo> <mail_from> <rcpt_to> [cmd]\n");
}

if (defined($spamc)) {
open(CF, "$spamc |") or undef($spamc);
}

my $smtp = Net::SMTP->new($host);
$smtp->hello($ehlo);
$smtp->mail($mail_from);
$smtp->to($rcpt_to);

$smtp->data();
if (defined($spamc)) {
while(<CF>) {
next if (/^delivered\-to\:/i);
$smtp->datasend($_);
}
}
else {
while(<>) {
next if (/^delivered\-to\:/i);
$smtp->datasend($_);
}
}
$smtp->dataend();
close(CF) if defined($spamc);

$smtp->quit;
exit 0;

############################################################
sub sall_ch() {
my($string, $chars) = @_;
return(undef) unless defined($string);
$string =~ s/^[\Q$chars\E]+//;
$string =~ s/[\Q$chars\E]+$//;
return($string);
}

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-11-05 12:25:55

нечитаемо...
юзай лучше кнопочку code
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: настройка Spamassassin

Непрочитанное сообщение Гость » 2007-11-05 12:52:50

Извеняюсь.. вот код скрипта

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

#!/usr/bin/perl

use strict;
use Net::SMTP;

my $host = sall_ch($ARGV[0], '"');
my $ehlo = sall_ch($ARGV[1], '"');
my $mail_from = sall_ch($ARGV[2], '"');
my $rcpt_to = sall_ch($ARGV[3], '"');
my $spamc = sall_ch($ARGV[4], '"');

system("echo $host-$ehlo-$mail_from-$rcpt_to-$spamc >> /var/log/filter-spam.log");

if (!defined($host)||!defined($ehlo)||!defined($mail_from)||!defined($rcpt_to)) {
die("use $0 <host> <ehlo> <mail_from> <rcpt_to> [cmd]\n");
}

if (defined($spamc)) {
open(CF, "$spamc |") or undef($spamc);
}

my $smtp = Net::SMTP->new($host);
$smtp->hello($ehlo);
$smtp->mail($mail_from);
$smtp->to($rcpt_to);

$smtp->data();
if (defined($spamc)) {
while(<CF>) {
next if (/^delivered\-to\:/i);
$smtp->datasend($_);
}
}
else {
while(<>) {
next if (/^delivered\-to\:/i);
$smtp->datasend($_);
}
}
$smtp->dataend();
close(CF) if defined($spamc);

$smtp->quit;
exit 0;

############################################################
sub sall_ch() {
my($string, $chars) = @_;
return(undef) unless defined($string);
$string =~ s/^[\Q$chars\E]+//;
$string =~ s/[\Q$chars\E]+$//;
return($string);
}

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

Re: настройка Spamassassin

Непрочитанное сообщение Alex Keda » 2007-11-05 13:25:42

кто раскладывает почту по дирам?
довекот умеет доставлять в указанную директорию, exim умеет
про постфикс - не знаю.
Убей их всех! Бог потом рассортирует...