SpamAssassin viele Fragen...

Status
Für weitere Antworten geschlossen.

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich "check" es schon wieder nicht... :mad:

Ich habe eine DS209+II mit DSM 2.3 und aktuellem MailStation Paket.

Der Mailserver funktioniert einwandfrei und holt bei diversen Postfächern meine Mails sauber ab und verschickt wird via "selfhost", also bis dahin alles wunderbar und ohne das Wiki wäre ich nie soweit gekommen... ;)

SpamAssassin!

Ich habe einen Ordner "Junk", da hätte ich gerne alle SPAM Mails hinsortiert.

Das Wiki scheint ein wenig veraltet zu sein, da SpamAssassin bereits im Paket enthalten ist.

Gibt es zu SpamAssassin eine Anleitung?
Wie kann ich SpamAssassin anlernen?
Gibt es fertige Erkennungspakete für SpamAssassin?
Gibt es Updates und/oder Autoupdates?

Was muss ich konkret tun um die Mails zu sortieren? Irgendwie komme ich mit dem Wiki zu SpamAssassin nicht ganz klar, oder stehe auf der Leitung.

Glücklicherweise bekomme ich kaum SPAM Mails, so dass ich noch nicht mal genua weiss, ob die Mails im Header mit *** SPAM *** oder so deklariert werden.

Mit ps | grep postfix bekomme ich folgende Antwort:

20697 postfix 2612 S pickup -l -t fifo -u
20698 postfix 2656 S qmgr -l -t fifo -u


Ist SpamAssassin aktiv? Das Häkchen im GUI ist gesetzt....
Was muss ich tun um SpamAssassin zu testen?

Vielleicht ist jemand von Euch so freundlich und kann mir ein wenig auf die Sprünge helfen. :D

Vielen Dank, viele Grüsse und schöne Ostertage
Hossi
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich glaube das waren zu viele Fragen und das Thema ist dafür zu komplex.

Ich habe die Anleitung Wiki (alt) zu heute (neu) hier gefunden:
http://syno.brain-force.ch/dovecot_sieve_installieren

Also einen Schritt nach dem anderen. Ich glaube mein SpamAssassin läuft überhaupt nicht.

Ich habe mir gestern eine Testmail mit dem Inhalt: "XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X" geschickt.

Reaktion = keine.

Kann ich SpamAssassin irgendwie manuell starten? Wenn ja wie? (Das Häckchen im Admin GUI ist natürlich gesetzt)

Ein ps | grep postfix ergibt:

20697 postfix 2612 S pickup -l -t fifo -u
20698 postfix 2656 S qmgr -l -t fifo -u


Ein ps | grep spam ergibt:

9187 root 27388 S /usr/syno/mailstation/bin/spamd -d -r /var/run/spamd.
9221 root 26832 S spamd child
9222 root 26832 S spamd child


Eine eine Idee, wie ich SpamAssassin ans laufen bekomme?

Vielen Dank und viele Grüsse
Hossi
 
Zuletzt bearbeitet:

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

mein ganz eigener Frage- und Antwortpost. :p

Ich habe jetzt SpamAssassin jetzt irgendwie, aber irgendwie auch nicht am laufen. Ich habe das Paket MailStation nun deinstalliert und neu installiert. Das Häckchen im Admin-GUI ist gesetzt.

So nun zum Problem:

Ich schicke ich mir selber von Strato oder GMX SPAM-Testmails werden diese nicht als SPAM erkannt. Verschicke ich von meiner DiskStation SPAM Mails an Strato oder GMX, werden diese im Header als SPAM markiert und erscheinen beim Empfänger so, wie ich Sie auf meiner DS gerne erhalten möchte.

Scheint so, als ob die Richtung vertauscht ist.

Ausgang SPAM-Check
Eingang kein SPAM-Check

Was mache ich falsch? Ich bin am verzweifeln... :confused:

Ein ps | grep postfix ergibt:
9184 postfix 2660 S pickup -l -t fifo -u
9185 postfix 2776 S qmgr -l -t fifo -u
9308 postfix 2676 S tlsmgr -l -t unix -u
9425 admin 312 S grep postfix


Ein ps | grep spam ergibt:
9187 root 27388 S /usr/syno/mailstation/bin/spamd -d -r /var/run/spamd.
9222 root 27608 S spamd child
9223 root 26832 S spamd child
9441 admin 308 S grep spam


Vielen Dank für Eure Hilfe!!

Gruß
Hossi
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Ich würde dir vorschlagen du meldest dich mal bei Synology. Scheint ja etwas komplexer zu sein.

MfG Matthieu
 

Herbert_Testmann

Benutzer
Mitglied seit
27. Jul 2009
Beiträge
1.114
Punkte für Reaktionen
1
Punkte
64
Ich möchte nur mal anmerken, dass die ankommenden Mails bei mir im Betreff mit *****SPAM ***** gekennzeichnet werden, so wie der Erfinder sich das wohl auch gedacht hat. Nur das der Filter leider meist etwas überempfindlich ist :(
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hi,

mittlerweile habe ich mir meine DS soweit verbogen, dass die ganze Mailstation bei mir nicht mehr sauber funktioniert.

Ich werde einen RESET machen und prüfen ob dann alles sauber läuft, sonst melde ich das an Synology.

Gibt es denn für das anlernen kein Update oder wie wird das normalerweise gemacht?

Viele Grüsse
Hossi
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Anlernen kann du mittels sa-learn und mit Regelsätzen versorgen kannst du mittels sa-update.
Wichtig: Nach einem sa-update unbedingt ein spamassassin -D --lint machen. Sonst könnte spamassassin stolpern.
Anlernen
Code:
sa-learn --progress --spam|--ham /volume1/homes/USER/.Maildir/.Junk/{cur,new}
Du kannst sowohl spam oder ham trainieren
Update
Code:
 sa-update --nogpg --channelfile /volume1/homes/root/sa-sources.txt
dabei enthält sa-sources.txt eine Liste mit den Regelsätzen zum updaten. Dieses File schaut bei mir so aus
72_sare_redirect_post3.0.0.cf.sare.sa-update.dostech.net
70_sare_evilnum0.cf.sare.sa-update.dostech.net
70_sare_bayes_poison_nxm.cf.sare.sa-update.dostech.net
70_sare_html0.cf.sare.sa-update.dostech.net
70_sare_header0.cf.sare.sa-update.dostech.net
70_sare_specific.cf.sare.sa-update.dostech.net
70_sare_adult.cf.sare.sa-update.dostech.net
72_sare_bml_post25x.cf.sare.sa-update.dostech.net
99_sare_fraud_post25x.cf.sare.sa-update.dostech.net
70_sare_spoof.cf.sare.sa-update.dostech.net
70_sare_random.cf.sare.sa-update.dostech.net
70_sare_oem.cf.sare.sa-update.dostech.net
70_sare_genlsubj0.cf.sare.sa-update.dostech.net
70_sare_highrisk.cf.sare.sa-update.dostech.net
70_sare_unsub.cf.sare.sa-update.dostech.net
70_sare_uri0.cf.sare.sa-update.dostech.net
70_sare_obfu.cf.sare.sa-update.dostech.net
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hi jahlives,

Danke für den Tip, allerdings funktioniert des automatische Update + manuelle Update nicht.

# sa-update --nogpg --channelfile /volume1/homes/root/sa-sources.txt
ash: sa-update: not found


Kann das am integrierten Spamassassin liegen? Das File sa-sources.txt habe ich auch nicht.

Ansonsten scheint Spamassassin ordentlich zu laufen.

Hat einer eine Idee?

Danke + Gruß
Hossi

PS: Im WIKI steht etwas von dieser Datei /opt/etc/spamassassin/local.cf, wo finde ich diese denn im integriertem Spamassassin?
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wenn du sa-update nicht findest dann probier doch mal
Code:
find / -name "sa-update"
wahrscheinlich liegt sa-update bei der Syno Version von SA nicht im Pfad.
Das gleiche kannst du für das local.cf File machen
Code:
find / -name local.cf | grep spamassassin
sa-sources.txt musst du selber erstellen, die war bei mir auch ned vorhanden (ipkg Version von SA). Drum habe ich ja auch de Inhalt der Datei gepostet
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hi jahlives,

vielen Dank für Deine Hilfe.

Habe die local.cf unter usr/syno/mailstation/etc/spamassassin/ gefunden und konnte Sie anpassen. Danke!! ;)

Die Datei sa-update liegt unter /usr/syno/mailstation/bin/.

Allerdings bekomme ich beim Aufruf direkt aus dem Verzeichnis folgende Meldung:
# sa-update --nogpg --channelfile /volume1/homes/root/sa-sources.txt
ash: sa-update: not found


Was mache ich falsch? :confused:

Nochmla vielen Dank für Deine Hilfe!! ;)

Viele Grüsse
Hossi
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hi jahlives,

vielen Dank für Deine Hilfe.

Habe die local.cf unter usr/syno/mailstation/etc/spamassassin/ gefunden und konnte Sie anpassen. Danke!! ;)

Die Datei sa-update liegt unter /usr/syno/mailstation/bin/.

Allerdings bekomme ich beim Aufruf direkt aus dem Verzeichnis folgende Meldung:
# sa-update --nogpg --channelfile /volume1/homes/root/sa-sources.txt
ash: sa-update: not found


Was mache ich falsch? :confused:

Nochmla vielen Dank für Deine Hilfe!! ;)

Viele Grüsse
Hossi
Mach mal ein
Code:
PATH=/usr/syno/mailstation/bin:$PATH
und probiers nochmal ;)
Oder verwende den ganzen Pfad zum Befehl.
Wenn du aber den Pfad der mailstation dauerhaft zu PATH hinzufügen willst, dann solltest du die Datei /etc/profile editieren und dort die PATH Variable anpassen z.B.
Code:
PATH="$PATH:/usr/syno/mailstation/bin:/usr/syno/mailstation/sbin:/usr/syno/mailstation/libexec/dovecot:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin"
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Danke!!!

Ich habe das gleich in die profile unter etc/ eingetragen. Der Aufruf klappt jetzt auch nach einem Reboot wunderbar. :)

Aber (Sorry, ich weiss, langsam werde ich lästig) bekomme ich nun folgende Fehlermeldung:

sa-update --nogpg --channelfile /volume1/homes/root/sa-sources.txt

Can't locate Archive/Tar.pm in @INC (@INC contains: /lib/perl5/site_perl/5.8.6 /usr/lib/perl5/5.8.6/PPC_853X /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/PPC_853X /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl) at /usr/syno/mailstation/bin/sa-update line 78.
BEGIN failed--compilation aborted at /usr/syno/mailstation/bin/sa-update line 78


Alle im WIKI genannten IPKG Pakete habe ich installiert.

Nochmal Danke!!

Viele Grüsse
Hossi :rolleyes:
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hast du den SA von Synology oder den von ipkg? Beim Syno SA wird der ein "falscher" perl Interpreter verwendet, der die perl Pakete in /opt gar nicht kennen kann ;)
Öffne die Datei sa-update mal in einem Editor (vi oder nano) und pass auf der ersten Zeile den Pfad zum Perlinterpreter auf /opt/bin/perl an (allfällige Parameter aber so belassen wie sie sind). Das gleiche musst du ggf für sa-learn auch machen.
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo jahlives,

so hört sich soooo einfach an, wenn Du das beschreibst... :p

Ich habe das aktuelle MailStation Paket von Synology mit spamassassin installiert.

Die sa-update und sa-learn hat > 1500 Zeilen. Sorry, ich kann den Eintrag nicht finden....

Die beiden Dateien liegen unter /usr/syno/mailstation/bin/.

Hier der Anfangsauszug aus der sa-update:
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# </@LICENSE>

my $VERSION = 'svn' . (split(/\s+/,
'$Id: sa-update.raw,v 1.1.1.1 2009/12/23 07:01:39 terric Exp $'))[2];

my $PREFIX = '/usr/syno/mailstation'; # substituted at 'mak
my $DEF_RULES_DIR = '/usr/syno/mailstation/share/spamassassin'; # substit
my $LOCAL_RULES_DIR = '/usr/syno/mailstation/etc/spamassassin'; # substituted
my $LOCAL_STATE_DIR = '/var/state/spamassassin'; # substituted at 'make' time
use lib '/lib/perl5/site_perl/5.8.6'; # substituted at 'make'

# We want to do a small amount of macro processing during channel installs,
# based on the values as passed in via 'make'
my %MACRO_VALUES = (
'VERSION' => '3.002005',
'CONTACT_ADDRESS' => 'admin',


den "fett" markierten Teil hatte ich schonmla vergeblich versucht zu ändern, aber ohne Erfolg, allerdings existiert dieses angegebene Verzeichnis auch.

Hast Du noch eine Idee?

Vielen Dank und viele Grüsse
Hossi
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Irgendwo in der Datei sollte der Pfad zum Shell Interpreter stehen. Es ist eigentlich immer die erste Codezeile. Hast du mal folgendes probiert?
Code:
cat $(which sa-update) | grep "^#\!"
Ergibt dies eine Ausgabe?
 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hallo nochmal,

ich kann Dir zwar nicht mehr im geringsten :eek: folgen, aber ja, die Ausgabe ergibt, wenn ich auch überhaupt nicht weiss :confused: was ich da gemacht habe:

DiskStation> cat $(which sa-update) | grep "^#\!"
#!/usr/bin/perl5.8.6 -T -w


Gruß
Hossi
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hallo nochmal,

ich kann Dir zwar nicht mehr im geringsten :eek: folgen, aber ja, die Ausgabe ergibt, wenn ich auch überhaupt nicht weiss :confused: was ich da gemacht habe:

DiskStation> cat $(which sa-update) | grep "^#\!"
#!/usr/bin/perl5.8.6 -T -w


Gruß
Hossi
Siehst du dann steht der perl Interpreter doch in der sa-update Datei. Jetzt musst du diese Zeile nur noch in der sa-update Datei suchen und den Pfad zu Perl so anpassen
Code:
[COLOR=Red]#!/opt/bin/perl -T -w
[/COLOR]


 

hossbachj

Benutzer
Mitglied seit
20. Dez 2009
Beiträge
65
Punkte für Reaktionen
0
Punkte
6
Hi,

Du hast Recht, der Eintrag stand drin, sogar wie von Dir geschrieben ganz ganz ganz oben in der ersten Zeile. Naja, Strafe muss sein, ich habe die > 1.500 Zeilen durchforstet. ;)

Aber nach Änderung des Eintrags und einem Reboot, eine leicht andere Meldung:

DiskStation> sa-update --nogpg --channelfile /volume1/homes/root/sa-sources.txt

Can't locate Net/DNS.pm in @INC (@INC contains: /lib/perl5/site_perl/5.8.6 /opt/lib/perl5/5.8.8/ppc-linux /opt/lib/perl5/5.8.8 /opt/lib/perl5/site_perl/5.8.8/ppc-linux /opt/lib/perl5/site_perl/5.8.8 /opt/lib/perl5/site_perl) at /usr/syno/mailstation/bin/sa-update line 75.
BEGIN failed--compilation aborted at /usr/syno/mailstation/bin/sa-update line 75.


Komisch, oder? Noch eine Idee?

Gruß
Hossi
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ich kann Dir zwar nicht mehr im geringsten :eek: folgen

DiskStation> cat $(which sa-update) | grep "^#\!"
#!/usr/bin/perl5.8.6 -T -w
Dann will ich mal für ein wenig Aufhellung sorgen ;)
cat --> ein Befehl um den Inhalt einer Datei Zeile für Zeile auszugeben
which --> sucht den kompletten Pfad zu einen Kommando. Geht nur wenn sich das Kommando in PATH befindet
grep --> sucht in Strings nach Strings oder Suchmustern (reguläre Ausdrücke)

Hier wird also zuerst mittels which sa-update nach dem Pfad von sa-update gesucht. Diesen Pfad ruft danach cat auf, um den Inhalt der Datei auszugeben. Das | Symbol steht für eine Pipe und eine Pipe leitet eine Ausgabe von einem Kommando zu einem anderen.
In diesem Fall wird also der Inhalt der Datei an grep übergeben, welches nach dem Muster sucht. Alles zwischen " und " steht für das Suchmuster. ^ heisst bei regulären Ausdrücken "am Anfang". Danach muss ein # und ein ! folgen, damit der Ausdruck etwas findet. Da ! in regulären Ausdrücken selber ein Spezialzeichen ist muss es mittels eines \ zum "normalen" Ausrufezeichen machen (also ohne Spezialbedeutung für grep)
Der Ausdruck heisst also "Suche am Anfang einer Zeile nach der Zeichenfolge #!" und die Zeile(n) worauf dieser Ausdruck zutriff wird/werden ausgegeben.

Die ganze Sache mit $(code) ist eigentlich unnötig, denn du könntest auch
Code:
[COLOR=Red]cat /usr/syno/mailstation/bin/sa-update | grep "^#\!"[/COLOR]
schriben. Da ich aber tippfaul bin, verwende ich in solchen Fällen vorzugsweise $(which command) um an den Pfad zu kommen ;)

Gruss

tobi
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat