Spam szűrő szerver (Postfix & Spamassassin): spam törlés és sa-learn

Fórumok

Sziasztok!

Lehet, hogy hülyeség, amit kérdezek, de csak nem találom rá a megoldást. (Persze az is lehet, hogy rosszul keresem)

Spam-szűrő szerver: Exchange elé rakott Postfix/Spamassassin [és a többiek] kombó

transport map segítségével a filterezett email-eket tovább paszoljuk az Exchange-nek.

De mi is az, hogy 'filterezett'?
- a Postfix RBL, graylist és egyéb HELO és más megszorításokkal egész jól rúgdos vissza első körben
- ami ezen átmegy, azt a Spamassassin elemzi, és ha nem gyere be, akkor jelöli

Ha szeretném a Postfix-en átcsúszott, de a Spamassassin által jelölt leveleket törölni vagy elterelni, azt hogyan tudom megtenni?
Én eddig csak a 'mailbox_command = /usr/bin/procmail' megoldást találtam, de ebben az esetben nincs is local mail delivery, így mailbox command sincs. (Javítsatok ki, ha tévednék!)

Milyen más megoldás van?

Másik: hogy tudok ebben az esetben sa-learn-nel tanítani azon felül, amit automatice magától csinál?

Előre is köszi!

Hozzászólások

nemnagyon ertem az elso problemat, amavis+spamassassin eseten szepen meglehet adni, hogy hany elert pont eseten mi legyen a mailel, lehet eldobatni, lehet masik mailcimre iranyitani meg ilyesmik...

sa-learn el pedig lehet ugy hogy ha pl. X pont feletti jelölt maileket egy masik mailfiokba kuldod akkor sa-learn nek megtudod adni hogy X maildir- X konyvtarat tanulja Spam nak , sa-learn pedig futtatható pl. crontab bol.

Na, a kérdés pont ez.

Én itt akadtam el: http://wiki.apache.org/spamassassin/DeletingAllMailsMarkedSpam

SpamAssassin itself will not delete any emails. It's only a filter which reads email in, and passes that same email out, modified in some way. If you want to delete emails, or redirect emails, you need to do it in whatever program calls SpamAssassin.

.. és aztán javasolja a procmail-t, amit én egyelőre a mailbox_command segítségével tudnék meghívni.

De mivel nem a Linux-on lévő lokális mailboxokba mennek a zemail-ek, hanem transport segítségével tovább smtp-ződnek, ezért _nincs_ mailbox command. (nem hajtódik végre)

Vagy rosszul értelmezem? (csak benéztem?)
Van más megoldás is, ahogy a procmail-t meg tudom hívni? (vagy ahogy a spamasassin-nek meg tudom mondani, hogy törölj?)

Szia

Én ezzel a szkripttel csináltam meg.
A postfix master.cf-ben:
filter unix - n n - - pipe
flags=Rq user=filter argv=/usr/sbin/spamfilter.sh -f ${sender} -- ${recipient}

spamfilter.sh:
#!/usr/bin/perl -w
#
# This reads in input on stdin, sees if it contains X-Spam-Status: Y,
# and if it does it prints out nothing, and exit(0)'s.
# Else it prints out the mail message (for local delivery
# through sendmail)
sub debug {
my $message = shift;
chomp $message; # remove line ending if there is one
# open /var/log/spamlog in append mode, if we can't warn and return.
open(LOG, ">>/var/log/spamlog") or warn ("Debug Failed: $message") and return;
print LOG $message . "\n";
close(LOG);
}

# debug ("Spam Check starting..");
undef $/; # change line seperator
$_ = ; # read standard input (i.e. what's being piped in)

if ($_ =~ /^X-Spam-Status: Y/m ) {
# debug("spam detected, skipping ") ;
exit 0;
}

debug("Mail ok : $_");
my $prog = "/usr/sbin/sendmail -i @ARGV";
# debug("Program set to : $prog");
open PROG, "|$prog" or die "Cannot spawn |$prog: $!";
print PROG $_;
close PROG;

Ha van valami kérdésed szólj.

én postfix+amavisd-t használok, ahol ugye az amavis hívogatja a spamassassint, clamav-t - és karanténozza a spam/vírusos leveleket

én is: postfix + amavisd-new + clamav + spamassassin(spamc)

Részemről bármelyik dobhatja, ha meg lehet szerelni és nem túl bonyolult.
Elég komoly spam áradatot szűr, szóval minél a egyszerűbb/stabilabb megoldásokat preferálom.

Nem akarok ideológiai vitát gerjeszteni, hogy Postfix vagy Exim, én ezeket a szempontokat figyelembe véve egyelőre a Postfix-et preferálom: http://shearer.org/MTA_Comparison

'Secure, easy to administer, efficient ... extremely fast'

Neked az amavisd hogyan karanténoz?