Страница 1 из 3
настройка Spamassassin
Добавлено: 2007-10-26 11:15:31
dvg_lab
у меня долгое время крутится релей на постфиксе и amavisd-new со спамассассином который пробрасывает почту на корпоративный эксчендж, последнее время стало прорываться много спама и антиспам необходимо постоянно обучать. Делать это руками, то есть сохранять письмо, закачивать его на сервак, потом говорить sa-learn честно говоря зодолбало, хочется настроить что-то типа
spam@domain.ru и шобы все юзера могли пересылать туда спам, а там некий скрипт обучал бы антиспамовый фильтр...
есть у кого подобные реализации? направте в правильное русло плс...
Re: настройка Spamassassin
Добавлено: 2007-10-26 17:50:08
Alex Keda
Код: Выделить всё
%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"
%
но это для дспам
Re: настройка Spamassassin
Добавлено: 2007-10-26 22:20:29
dvg_lab
кроме Лисяры никто таки не ответил.
На самом деле я много думал на тему того что это релей, он является MX для домена но в то же время все письма отдаются эксченджу, вот как-то надо настроить эксчендж чтобы при пересылке спамовое письмо заливалось обратно в релей и чтоб релей не устраивал футбол с эксченджем. Домен то один и тот же и там и тут. Вот тут я сообразить не могу. Заведу я допустим ящик
spam@domen.ru в алиасах его пропишу, скорее всего удастся постфикс настроить так чтоб он понимал что spam это локальный адрес, а все остальные это на эксчендж... но как сказать эксченджу что
spam@domen.ru слать на релей?
Не знаю понятно написал или нет... ваще у меня пятницо, чего и всем желаю, но от работы оторваться нереально

Re: настройка Spamassassin
Добавлено: 2007-10-26 22:25:29
Alex Keda
у меня этот ящик в отдельном домене
domain.ru - домен
mail.domain.ru - мыльница, на ней жже эти два ящика
Re: настройка Spamassassin
Добавлено: 2007-10-29 12:12:21
dvg_lab
ща пытаюсь сделать такую вот фигню: в алиасес прописал типа
Код: Выделить всё
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 от постфикса чтоле?
Re: настройка Spamassassin
Добавлено: 2007-10-29 13:39:14
dvg_lab
почетал интернед... стало мне чета совсем плохо. Народ грит что при пересылке письма хидеры коцаюцо, так оно в принципе и есть, особенно ебу... извините долбаная связка эксченж +аутлук отрезает ваще все хидеры оставляя только свою поеб... извините хрень... И есс-но спам-ассассин понимает это письмо как новое и обучается на нем не совсем верно, оценки потом выставляет как байес_50 то есть не может определить он спам это или нет. Вобщем че длать в случае с релеем я не совсем себе представляю. Форвардинг получаецо не катит. Мало того, автоглюк даже толком сохранить письмо в формате msg не может... вот уродство... негросовт мля.

Re: настройка Spamassassin
Добавлено: 2007-10-29 15:40:43
Alex Keda
я пару человек научил дёргать дспамовский хидер с сигнатурой и слать ответ как плайн текст..
хоть что-то...
Re: настройка Spamassassin
Добавлено: 2007-10-29 15:50:52
dvg_lab
lissyara писал(а):я пару человек научил дёргать дспамовский хидер с сигнатурой и слать ответ как плайн текст..
хоть что-то...
тоже ехсчендж + автоглюки?
Re: настройка Spamassassin
Добавлено: 2007-10-29 16:04:56
Alex Keda
да
иначе бы не пришлось

))
Re: настройка Spamassassin
Добавлено: 2007-10-29 16:06:38
Alex Keda
подумалось - как вариант добавлять в конец письма текстовую часть с указанием что то текст и соответствующей сигнатурой.
она пойдёт как часть письма - и не вырежется...
но это - изврат.
==========
можно даже как html часть , а нужный текст закомментить - чтоб юзеров не смущть
Re: настройка Spamassassin
Добавлено: 2007-10-30 10:22:06
dvg_lab
я вот щас думаю на dspam перейти, там и сигнатура есть и если сигнатура в теле письма а не в тегах, то можно просто форвардить мыло, и индивидуальная настройка на каждый ящик. даже можно веб интерфейс прикрутить к индивидуальной настройке дспама... вобщем буду думать.
Re: настройка Spamassassin
Добавлено: 2007-10-30 10:51:08
Alex Keda
там сигнатура в заголовках.
но её мона вынуть и в тело сунуть
Re: настройка Spamassassin
Добавлено: 2007-10-30 15:22:50
dvg_lab
вот тут в каментах
http://www.lissyara.su/?id=1453 Хвост дал правильную наводку... надо перейти на dspam и кнопочки прикрутить к автоглюку, вот это буит то что надо. Интересно Хвост на форуме пишет или так мимо проходил в гости зашол?
Re: настройка Spamassassin
Добавлено: 2007-10-30 16:33:33
Alex Keda
dvg_lab писал(а):вот тут в каментах
http://www.lissyara.su/?id=1453 Хвост дал правильную наводку... надо перейти на dspam и кнопочки прикрутить к автоглюку, вот это буит то что надо. Интересно Хвост на форуме пишет или так мимо проходил в гости зашол?
у меня не получилось.
получиться - отпишись.
Re: настройка Spamassassin
Добавлено: 2007-11-01 23:19:15
Andy2k
dvg_lab писал(а):почетал интернед... стало мне чета совсем плохо. Народ грит что при пересылке письма хидеры коцаюцо, так оно в принципе и есть, особенно ебу... извините долбаная связка эксченж +аутлук отрезает ваще все хидеры оставляя только свою поеб... извините хрень... И есс-но спам-ассассин понимает это письмо как новое и обучается на нем не совсем верно, оценки потом выставляет как байес_50 то есть не может определить он спам это или нет. Вобщем че длать в случае с релеем я не совсем себе представляю. Форвардинг получаецо не катит. Мало того, автоглюк даже толком сохранить письмо в формате msg не может... вот уродство... негросовт мля.

Курим маны - они рулез

Если в аутглюке жмакнуть "Файл-Сохранить как..." и выбрать тип сохраняемого файла MSG, то прекрасно сохраняются все хидеры. Затем этот файл аттачем кидаем на спамообучающий адрес. Я своих юзверей этой нехитрой операции обучил - полет нормальный, dspam обучается бешенными темпами

Re: настройка Spamassassin
Добавлено: 2007-11-02 0:01:00
Alex Keda
завтра попробую....
Re: настройка Spamassassin
Добавлено: 2007-11-02 14:15:28
gmn
dvg_lab писал(а):кроме Лисяры никто таки не ответил.
На самом деле я много думал на тему того что это релей, он является MX для домена но в то же время все письма отдаются эксченджу, вот как-то надо настроить эксчендж чтобы при пересылке спамовое письмо заливалось обратно в релей и чтоб релей не устраивал футбол с эксченджем. Домен то один и тот же и там и тут. Вот тут я сообразить не могу. Заведу я допустим ящик
spam@domen.ru в алиасах его пропишу, скорее всего удастся постфикс настроить так чтоб он понимал что spam это локальный адрес, а все остальные это на эксчендж... но как сказать эксченджу что
spam@domen.ru слать на релей?
Не знаю понятно написал или нет... ваще у меня пятницо, чего и всем желаю, но от работы оторваться нереально

Если вопрос еще актуален, то я решил у себя таким образом (у меня связка Exim-Exchange).
В общих папках Exchange создал папку SPAM. Юзеры туда помещают спам со своего Оутлука.
А я с хоста с Exim по крону запускаю скрипт, который письма с папки забирает и ими обучает SA.
Если дальше интересно, то выложу скрипт.
Re: настройка Spamassassin
Добавлено: 2007-11-02 14:55:20
sasha
Извеняюь.. как то не хотелось создавать новую тему по настройкам spamassasian.
короче завел я этого зверя- только он помечает просто письма как спам. А как сделать что бы он скидывал их в отдельную папку( или в отдельные папки юзеров) Читал что народ настравивает с procmail -только я в качестве агента доставки использую pop3
вобщем подскажите что и куда прикрутить.
Re: настройка Spamassassin
Добавлено: 2007-11-02 15:41:45
Alex Keda
давай скрипт
Re: настройка Spamassassin
Добавлено: 2007-11-02 15:54:11
gmn
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
Re: настройка Spamassassin
Добавлено: 2007-11-02 15:56:18
gmn
sasha писал(а):Извеняюь.. как то не хотелось создавать новую тему по настройкам spamassasian.
короче завел я этого зверя- только он помечает просто письма как спам.
Как настроил, так он и делает. Правильно.
sasha писал(а):А как сделать что бы он скидывал их в отдельную папку( или в отдельные папки юзеров) Читал что народ настравивает с procmail -только я в качестве агента доставки использую pop3
вобщем подскажите что и куда прикрутить.
Где ящики?
В самом начале было
sasha писал(а):пробрасывает почту на корпоративный эксчендж
Т.е., я так понимаю, что дальше письма после приемом Exim, передаются по smtp на Exchange. Так? Наверняка так.
А как уже письма забираются с Exchange - это уже другой вопрос ... (Outlook, pop3, imap4, Outlook Web Access).
В Exchange 2003 в каждом ящике пользователя есть папка "Нежелательная почта".
Вот и научи Exchange перемещать письма, помеченные SA, в эту папку каждому юзеру.
В общем, опиши детальнее - какие действия предполагается ывполнять для писем, классифицированных как спам. Тогда уже можно будет дальше писать что-то.
Re: настройка Spamassassin
Добавлено: 2007-11-05 11:16:04
sasha
>>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);
}
Re: настройка Spamassassin
Добавлено: 2007-11-05 12:25:55
Alex Keda
нечитаемо...
юзай лучше кнопочку 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);
}
Re: настройка Spamassassin
Добавлено: 2007-11-05 13:25:42
Alex Keda
кто раскладывает почту по дирам?
довекот умеет доставлять в указанную директорию, exim умеет
про постфикс - не знаю.