PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SPAMASSASSIN: Mails werden markiert, jedoch auch zugestellt



newbie2007
07.07.08, 16:03
Hallo @ll,
ich habe das Problem, dass Mails welche SPAM sind als *****SPAM***** markiert werden und anschließend an das Postfach am Exchange relayed werden. Nun hat der User jede Menge an SPAM Mails und das ist ziemlich lästig. Kann mir jemand sagen, wie ich SPAMS welche als SPAM erkannt werden erst überhaupt nicht annehme (Postfix wird als Relay eingesetzt). Kennt jemand ein gutes HowTo mit dem ich mein Problem lösen kann.

Ich danke euch allen für die Unterstützung newbie2007

Blade
07.07.08, 20:03
Gut so, spamassassin erkennt die Mails als Spam korrekt, gratuliere Dir. Hast Du auch den Bayes-Filter am Laufen? Sehr nützlich, nebenbei als Hinweis.

Damit die Spams auch aussortiert und in den Müll (dev > null) landen musst Du entsprechende Einträge, je nach Spam-Wahrscheinlichkeit, bei procmail vornehmen.

newbie2007
07.07.08, 20:23
Hallo,
danke für die Antwort ich habe aber kein procmail installiert, lernt spamassassin nicht durch den Eintrag im local.cf. Und irgenwann erhöht sich der Spamlevel und dann wird die mail so und so nicht zugestellt, oder irre ich mich da???

danke euch

Roger Wilco
07.07.08, 21:35
SpamAssassin ist ausschließlich für die Bewertung einer E-Mail zuständig und kann keine Mails löschen oder verschieben. Aussortieren muss ein anderer Bestandteil des Mailsystems (normalerweise ein MDA wie eben procmail).

UzumakiNaruto
08.07.08, 07:08
nur weil eine e-mail als spam makiert ist .. ist sie es noch lange nicht.

durch dumme zufälle werden auch andere mails als spam makiert .. und die waren evtl. sehr wichtig ;)

spams zustellen ist doch kein problem .. nur lasse sie gleich in einen spam ordner verschieben, gelöscht werden können sie am ende immer noch.

Blade
08.07.08, 21:48
Du hast procmail bestimmt unbewusst installiert. Procmail transportiert die Mails von fetchmail zum MTA und dann in die Postfächer, es werkelt im Hintergrund. Da Spamassassin tatsächlich nichts löschen kann, sondern nur seine SPAM-Beurteilung einträgt, muss ein anderes Script-Programm die Eliminierung oder Aussonderung in ein separates Verzeichnis vornehmen. Denk an meinen Tipp: dev > null und procmail.

newbie2007
10.07.08, 11:36
Hallo @ll,
Fetchmail habe ich nicht, ich habe ja einen offizillen SMTP Server (postfix).
Procmail war bei mir anscheinend wirklich schon installiert. Nun frage ich mich, wie übergebe ich an Procmail die Mails und bekomme diese wieder an Postfix zurück, weil Postfix (ist ja nur der Relay-Server) gibt diese ja schließlich an den Exchange weiter.
Ich danke euch für die Hilfe
lg, Newbie2007

Roger Wilco
10.07.08, 14:53
Was spricht gegen die Reihenfolge fetchmail -> procmail -> Postfix? Dass fetchmail die Mails direkt an procmail weitergibt, kannst du mit der Direktive mda erreichen (siehe `man fetchmailrc`).

pucki
10.07.08, 20:45
schau dir mal die doku von postfix an. genauso wie du spamassassin in den Pfad gehängt hast, kannst du auch andere tools arbeiten lassen.

Trotz alledem solltest du vor dem Löschen von allen Nutzern eine schriftliche! Einverständniserklärung erhalten, dass sie mit der Filterung einverstanden sind. Ansonsten steht es jedem Nutzer frei eigene Filterregeln in seinem Client zu konfigurieren.

Grüße

newbie2007
14.07.08, 08:30
Hallo,
ich komme einfach nicht weiter, ich möchte, dass meine User keine SPAM Mails bekommen, wenn Spamassassin eine Mail als Spam erkannt hat, so will ich, dass irgend ein Tool diese Mails am Mailserver in ein bestimmtes Postfach weiterleiten.
Ich habe in diesem Thread schon gelesen, dass man das mit procmail machen kann, doch leider funkt das bei mir nicht richtig. Ich hänge euch mal meine master.cf an, vielleicht könnt Ihr mir dazu was sagen.


#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# ================================================== ========================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ================================================== ========================
smtp inet n - n - - smtpd -o content_filter=filter:
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticate d,reject
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticate d,reject
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - n - - smtp
-o fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
#
# ================================================== ==================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ================================================== ==================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=procmail
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,rej ect
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes

# SPAMASSASIN
filter unix - n n - - pipe
user=filter argv=/home/filter/sc/filter.sh -f ${sender} -- ${recipient}

procmail unix - n n - 20 pipe
flags=R user=filter argv=/usr/bin/procmail -o SENDER=${sender} -m USER=${user} EXTENSION=${extension} /etc/procmailrc

Ich danke euch für die Hilfe, newbie2007

Blade
14.07.08, 19:04
Die nutzt hier garnichts, lies Dich in procmail ein. Ein Beispiel findest Du auch auf der Spamassassin-Webpage ... http://wiki.apache.org/spamassassin/DeletingAllMailsMarkedSpam

newbie2007
30.07.08, 16:16
Hallo,
die Antwort von pucki hat mir sehr gut gefallen, doch leider kenne ich mich noch nicht sooo gut aus, dass ich procmail richtig einbinden kann. Vielleicht kann mir jemand von euch helfen, hier noch ein Auszug aus meiner aktuellen master.cf (Die mails laufen offensichtlich nicht duch pocmail):

smtp inet n - n - - smtpd -o content_filter=filter:procmail


smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,rej ect
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes

# SPAMASSASIN
filter unix - n n - - pipe
user=filter argv=/home/filter/sc/filter.sh -f ${sender} -- ${recipient}

procmail unix - n n - - pipe
user=filter argv=/usr/bin/procmail -t ${sender} ${recipient}


Es macht den eindruck, als würde der nix an procmail schicken, ich verstehe nicht warum???

newbie2007
30.07.08, 16:30
xxxxxxxxxxxxxxxxx

Blade
30.07.08, 18:07
Tsss, doch tut es das! Da steht es doch in der master.cf geschrieben:


procmail unix - n n - - pipe
user=filter argv=/usr/bin/procmail -t ${sender} ${recipient}

Nochmals, lies Dich in procmail ein.

newbie2007
31.07.08, 07:39
Ich verstehe deine Antwort nicht, wenn eine mail an procmail übergeben wird kommt normalerweise in /var/log/procmail ein Logeintrag, zB.:

procmail: No match on .....
procmail: Skipped "OH:"
Subject: Testmail .....
Ich lese mich gerade in procmail ein, wenn ich mir die div. HowTos durchsehe, ist dass nicht so schwer.
Wenn der Eintrag in der master.cf ziehen würde, wäre es doch so, dass ich irgendwo in der /var/log/maillog folgenden Eintrag zu finden sein müsste "relay=procmail" leider ist das aber nicht so, wo liegt jetzt der Hund begraben???

danke, newbie2007

Thovan
31.07.08, 12:28
Ich habe den Thread jetzt nicht bis zum Ende durchgelesen, aber ganz zuBeginn, war Deine ANforderung ja, das Du Spammails gar nicht erst annehmen willst.
(Was übrigens rechtlich betrachtet die Beste Lösung ist, da Du sonst Nachrichten unterdrückst und unter Umständen dafür belangt werden kannst.)

Ich würde Dir raten amavisd-new als Proxy-Filter zu verwenden (entsprechende Ressourcen (RAM) vorausgesetzt).
Postfix nimmt dann die Mail nur an, wenn Amavis sein OK gibt.
Bei Spam kann man das Ganze so konfigurieren, dass Amavis eben REJECT meldet und Postfx den dann zum Client (sendender Mailserver) weiterreicht.

Dein Server nimmt die Mail damit nicht an und Du bist aus dem Schneider.

Arbeitest Du dagegen mit procmail, dann ist der Spam schon auf Deinem System und in Deinem Zuständigkeitsbereich.
Umleiten in ein anderes Postfach (was Du bzw. ein Dritter abruft) wäre dann eine "Verletzung des Postgeheimnisses", Löschen bzw. Aussortieren wäre "Unterdrücken von Nachrichten".
Dass ist beides nicht's weswegen ich belangt werden wollen würde.

newbie2007
31.07.08, 15:38
Also nochmal, ich nehme fast keine spams durch div. (RBL-Listen und andere) Prüfungen an, jedoch hin und wieder schummeln sich welche durch die ich dann hinterher mit amavisd-new als SPAM markiere dann mit procmail in ein eigenes Verzeichnis schieben will.

Blade
31.07.08, 18:22
Nein so ist das nicht, procmail arbeitet still im Hintergrund:
fetchmail -> procmail -> MTA -> filter spamassassin -> mta -> Postfächer.
spamassassin nimmt einen Header-Eintrag über die SPAM-Wahrscheinlichkeit vor und löscht nichts. Beim Rücktransport zum MTA kannst Du in der procmailrc entsprechende Script-Einträge vornehmen, die die SPAM-Kennzahl im Header ausliest und dann entscheiden was mit der Mail passieren soll. Ab ins Nirvana oder doch noch zustellen. Spamassassin verfügt ferner über einen Bayes-Filter, der zunächst angelert werden muss mit Hams und Spams, erst danach wird er aktiv und dann arbeitet spamassassin auch perfekt.

Thovan
01.08.08, 11:25
Also nochmal, ich nehme fast keine spams durch div. (RBL-Listen und andere) Prüfungen an, jedoch hin und wieder schummeln sich welche durch die ich dann hinterher mit amavisd-new als SPAM markiere dann mit procmail in ein eigenes Verzeichnis schieben will.

Wäre es denn nicht besser, den Spam gar nicht anzunehmen? ;)

RBLs, wenn sie in den smtpd_*_restrictions eingebunden sind, haben den riesengroßen Nachteil, dass die so absolut sind.

Ist auf einer RBL der Absender/Client gelistet, wir die Annahme verweigert.
Und das dann auch bei einem false positive.

BÄH.

Das geht mit entsprechenden Tools viel besser.

Thovan
01.08.08, 11:29
Spamassassin verfügt ferner über einen Bayes-Filter, der zunächst angelert werden muss mit Hams und Spams, erst danach wird er aktiv und dann arbeitet spamassassin auch perfekt.

IMHO ist der Filter beim Einsatz von SpamAssassin per AMavisd-New bereits gerüstet.

Zuviel lernen, kann die Erkennungsrate auch versauen.

Wenn man den überhaupt trainiert, dann muss er mindestens genauso viele Ham-Mails wie Spam-Mails lernen.

Nur woher weiß der Admin, dass er auch wirklich Hams trainiert?
Dazu müsste er selber reinschauen, was er aber in der Regel nicht darf.
(Verletzung des Postgeheimnisses!)

Blade
01.08.08, 19:46
@Thovan,
das mit dem Trainieren stimmt und ist ganz wichtig. Mit der autolearn-Funktion kann sich spamassassin schnell in die falsche Richtung trainieren und alle Spams kopflos durchlassen.

Ich richte da immer ganz frische mbox-Konten für HAMS und SPAMS ein und lass alle User im Intranet Spams und Hams dorthin schicken. Nachts lasse ich dann sa-learn darüber laufen und der Bayes-Filter ist auf dem aktuellen Stand, klappt perfekt.

... und das Postgeheimnis ist gewahrt :-)

Ich nutze nicht amavisd-new, sondern sendmail und spamassassin direkt, daher kann ich dazu keine Aussage treffen.

Thovan
04.08.08, 07:17
@Thovan,
das mit dem Trainieren stimmt und ist ganz wichtig. Mit der autolearn-Funktion kann sich spamassassin schnell in die falsche Richtung trainieren und alle Spams kopflos durchlassen.

Ich richte da immer ganz frische mbox-Konten für HAMS und SPAMS ein und lass alle User im Intranet Spams und Hams dorthin schicken. Nachts lasse ich dann sa-learn darüber laufen und der Bayes-Filter ist auf dem aktuellen Stand, klappt perfekt.

... und das Postgeheimnis ist gewahrt :-)

Ich nutze nicht amavisd-new, sondern sendmail und spamassassin direkt, daher kann ich dazu keine Aussage treffen.

Bist Du sicher, dass das so richtig läuft?
Immerhin wird durch das Weiterleiten die E-Mail verändert.

Inhaltlich (Body), aber auch besonders die Header.

emwe
04.08.08, 07:46
Hallo,

da Du ja anscheinend sowieso amavisd-new benutzt kannst Du Dir auch procmail sparen. Ebenfalls fällt fetchmail aus der Kette, da Du Deinen eigenen SMTP-Server betreibst. Dazu reicht in der amavisd.conf folgender Eintrag:



$sa_kill_level_deflt = <wert>; # wobei <wert hoch gewählt sein sollte >> 10
$final_spam_destiny = D_DISCARD; # verwirft als Spam markierte Nachrichten


Die rechtlichen Konsequenzen eines solchen Setups sind natürlich nicht zu verachten. Auf jeden Fall muß für das Aussortieren von Emails die Erlaubnis der Nutzer eingeholt werden (da die Mails ja untersucht werden, wenn auch automatisch). Das würde nur dann entfallen, wenn Du die Mails direkt nach Eintreffen abweist - und nicht, wenn sie schon ein Mailsystem durchlaufen haben. Dieser Absatz gilt natürlich nur dann, wenn in eurem Unternehmen die Mitarbeiter private Mails empfangen und verschicken dürfen. Sprich das am besten noch mal mit der Geschäftsführung durch.

Gruß,

emwe

Thovan
04.08.08, 14:58
...
Das würde nur dann entfallen, wenn Du die Mails direkt nach Eintreffen abweist - und nicht, wenn sie schon ein Mailsystem durchlaufen haben.


Falsch!



Dieser Absatz gilt natürlich nur dann, wenn in eurem Unternehmen die Mitarbeiter private Mails empfangen und verschicken dürfen. Sprich das am besten noch mal mit der Geschäftsführung durch.


Falsch!

Wenn die E-Mails nach dem Eintreffen abgewiesen werden, dann waren Sie bereits im Zuständigkeitsbereich des Servers/Admin.
Eine Abweisung nach Annahme durch den Server (Nach dem Senden von <cr><lf>.<cr><lf> durch den Client wurde weder ein 4xx-Error noch ein 5xx-Error an den Client zurückgegeben) würde unter "Unterdrückung von Nachrichten fallen" und ist in den meisten Konstellationen strafbar.

Weiterhin sind E-Mails prinzipiell Privateigentum, auch wenn Sie über Firmen-Accounts empfangen oder gesendet werden.
Die einzige Ausnahme in denen E-Mails Eigentum der Firma sind, ist, wenn die private Nutzung von E-Mails weder gestattet noch geduldet wird.
D.h. Verstöße müssen auch entsprechend geandet werden (Abmahnung, im Wiederholungsfalle Kündigung).
Das Verbot einer privaten Nutzung alleine reicht nicht aus.
Hat der Arbeitgeber trotz entsprechender vertraglicher oder betrieblicher Vereinbarung/Verbote der privaten Nutzung Kenntnis von einer solchen und duldet diese, so sind alle E-Mail privates Eigentum des Absenders/Empfängers.

Eine Filterung/Unterdrückung von Nachrichten bedarf der Zustimmung des jeweiligen Eigentümers der Nachrichten.
Ausnahmen bildet das Unterdrücken von Viren.

Das ist nach meinem Kenntnisstand und meinen Recherchen die aktuelle Rechtsauffassung zu diesem Thema.
Ganz sicher kann das ein Anwalt aber sagen.
Ich bin juristischer Laie, dieser Beitrag lediglich (m)eine MJeinungsäußerung - keine Rechtsberatung!

Blade
04.08.08, 18:21
Bist Du sicher, dass das so richtig läuft?
Immerhin wird durch das Weiterleiten die E-Mail verändert.

Inhaltlich (Body), aber auch besonders die Header. Doch das klappt, ich lösche bei der Weiterleitung von SPAMS lediglich meine eigene Mail-Adresse raus und auch in der Betreffzeile das FW: etc. Spamassassin ignoriert die geänderten Header-Einträge, es erkennt, dass es eine weitergeleitete Mail ist. Das stört das Bayes-Training wirklich nicht. :p