Immernoch Spams trotz trainiertem Spamassassin



Tyvan

New Member
Hallo Leute,

suche hier schon Ewigkeiten nach einer Lösung für mein Spamassassin Problem.
Bei mir spuckt "sa-learn --dump magic" mittlerweile eine Tokenzahl von 200.000 für spams und über 2.000 für ham aus, ist also schon ordentlich trainiert. Dennoch kommen täglich bis zu 200 Spams in meine Inbox.

In mein Spam Ordner kommen vielleicht so 10-20 davon auch wirklich rein wegen korrekten Score (>5).

Auch habe ich gesehen das meine Autowhitelist immer größer wird und die Adressen der spams automatisch da reinhaut. Ein Deaktivieren der Autowhiltelist mit "use_auto_whitelist 0" bringt da wohl nix.

Höre von Leute das die schon mit wenig Training eine ordentliche Filterung bekommen. Bei mir scheint das wohl nix zu bringen.

Habe die Datenbank ja auch mit Spams von Spamarchiven trainiert, daher die große Tokenzahl für spam und habe auch manuell über Confixx für mein VServer Mailadressen von vielen Sendern per "whitelist_from" eingetragen.
Bisher wurden die "Nicht-Spammails" auch nie als Spam deklariert aber Spams kommen ordentlich durch.

Hier meine local.pre für Spamassassin (ich nutze einfach immer globale Konfigurationen):
SpamAssassin ist in der Version 3.17 auf einer Debian Etch 4.0 mit Confixx.

Nochwas: die rewrite_header direktive funktioniert wohl auch nicht. Spams werden bei korrekter Erkennung nie markiert mit "*****SPAM*****". Kein Plan warum. Hat einer Erfahrung mit einer nicht ganz richtig laufenden Filterung/Markierung?

Code:
# START CUSTOM INCLUSION (see /root/confixx/safe/spamassassin.inc)
required_score           5.0
rewrite_header subject  *****SPAM*****
report_safe             1
add_header spam Report _REPORT_
use_bayes               1
bayes_auto_learn              1
auto_learn 1
skip_rbl_checks         0
use_razor2              1
use_dcc                 1
use_pyzor               1
ok_languages            all
ok_locales              all

# END OF CUSTOM INCLUSION
# START CONFIXX GENERATED SECTION
###

allow_user_rules 1
use_auto_whitelist 0
user_scores_dsn                 DBI:mysql:confixx:localhost;mysql_socket=/var/run/mysqld/mysqld.sock
user_scores_sql_username        spamuser
user_scores_sql_password        ********

user_scores_sql_custom_query SELECT preference, value FROM spampref WHERE (username = _USERNAME_ OR username = '@GLOBAL') AND server_id='4k5gh4k5j4k5jh4k5jh54k5jh4k5h' ORDER BY username ASC

# END OF CONFIXX GENERATED SECTION

Danke im voraus.
 
Jo klar, hier ist eine:

Code:
Return-Path: <[email protected]>
X-Spam-Checker-Version: SpamAssassin 3.1.7-deb (2006-10-05) on mein-host
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.1.7-deb
X-Original-To: [meine richtige mail adresse]
Delivered-To: interner_user@mein-host
Received: from gmail.com (unknown [118.46.147.201])
	by mein-host (Postfix) with SMTP id 4934A1C4765
	for <[meine richtige mail adresse]>; Mon, 14 Sep 2009 09:33:52 +0200 (CEST)
Message-ID: <[email protected]>
Date: Mon, 14 Sep 2009 12:28:20 +0400
Reply-To: "Schuck" <[email protected]>
From: "Schuck" <[email protected]>
User-Agent: Mozilla/4.78 [ja] (Windows NT 5.0; U)
MIME-Version: 1.0
To: <[meine richtige mail adresse]>
Subject: Discount Angebot f. Barhocker an info  
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sehr geehrte Damen und Herren,
es sind jetzt neue Modelle eingetroffen:
www.bars81.com
Messestand, Partykeller, Kantine, Bar usw.
Mit freundlichem Gruss,
Walter Ullmann

Beendigung von Info?
[email protected]

Ich habe meine richtige Empfangsadresse durch "[meine richtige mail adresse]" ersetzt. Und mein Host mit dem internen Mailuser der dann die Mail in die Box bekommt habe ich durch "interner_user@mein-host" ersetzt und sonst nur "mein-host" hingeschrieben.

Dieses autolearn=ham sieht mir verdächtig aus, habe aber keine Ahnung woher das kommt. Hab natürlich auch andere Spams wo bei autolearn=none steht und die Score bei z.B. 3,4 ist und da es unter 5 ist, kommt es halt durch.
 
Die main.cf bzw. die Ausgabe von postconf -n wäre auch noch interessant.
Das meiste kann man nämlich bereits vor der Annahme abweisen.
 
Postconf -n gibt folgendes aus:

Code:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
inet_interfaces = all
mailbox_command = /usr/bin/procmail -a "$EXTENSION" DEFAULT=$HOME/Maildir/ MAILDIR=$HOME/Maildir
mailbox_size_limit = 0
message_size_limit = 51200000
mydestination = mein-host, localhost
myhostname = mein-host
mynetworks = 127.0.0.0/8
myorigin = /etc/mailname
recipient_delimiter = +
relayhost = 
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = 
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtpd_use_tls = yes
 
Dann wundert mich das ehrlich gesagt nicht.
Ich würde dringend empfehlen, die "smtpd_recipient_restrictions" den eigenen Anforderungen entsprechend zu ergänzen.

Z.B.

smtpd_recipient_restrictions = reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
check_recipient_access hash:/etc/postfix/roleaccounts,
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_unlisted_recipient,
check_client_access hash/etc/postfix/client_access.cf,
reject_unknown_reverse_client_hostname,
check_helo_access hash:/etc/postfix/helo_access.cf,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
check_sender_access hash:/etc/postfix/sender_access.cf,
check_recipient_access hash:/etc/postfix/recipient_access.cf,
check_client_access hash:/etc/postfix/rbl_exceptions.cf,
reject_rbl_client zen.spamhaus.org
reject_rbl_client ix.dnsbl.manitu.net
check_policy_service inet:127.0.0.1:60000 <--Postgrey
 
Hi mattis42,

danke für die Antwort.

Muss ich diese *.cf Dateien nicht erstellen damit die gescheit läuft?
Habe neu gestartet, keine Fehler beim neustarten.

Eine Frage ich denke spamhaus.org dient als Hilfe um Spams zu erkennen, was passiert wenn eine Spam erkannt wird über eine dieser Domains, wird nur der Subject umbenannt oder wie wird das gehandhabt?
 
Muss ich diese *.cf Dateien nicht erstellen damit die gescheit läuft?
Habe neu gestartet, keine Fehler beim neustarten.

Hoppla. Das .cf stammt noch von der MySQL-Konfig.
Wie man sie nennt ist egal, aber wenn sie in der Konfig stehen, sollten sie auch vorhanden sein.
Wenn man Hash-Files nutzt, muss man noch ein postmap filename drüberlaufen lassen.
http://postfix.cloud9.net/postmap.1.html

Eine Frage ich denke spamhaus.org dient als Hilfe um Spams zu erkennen, was passiert wenn eine Spam erkannt wird über eine dieser Domains, wird nur der Subject umbenannt oder wie wird das gehandhabt?

Nein, das sind sog. RBLs (http://de.wikipedia.org/wiki/Realtime_Blackhole_List).
Will ein gelistetes System bei dir eine Mail einliefern, erfolgt nach positiver Prüfung der RBL direkt ein Reject und die Email wird abgewiesen.

Als Alternative zur direkten Prüfung gegen einzelne RBLs kann man auch policyd-weight nutzen.
 
Ja, die .cf-Dateien musst Du im entsprechenden Format erstellen und mit "postmap" übersetzen. Was in die Dateien rein sollte, steht in der Dokumentation zu den jeweiligen Direktiven (findest Du auch leicht per Google). In einem ersten Schritt würde ich aber ohnehin die ganzen Direktiven, die .cf-Dateien benötigen, erst mal weglassen und eine Zeit lang schauen, ob Dir das andere schon reicht. Anschließend kannst Du ja immer noch --nach und nach-- weitere Regeln mit rein nehmen.
Auch hier gilt wie bei jedem Ratschlag aus den Tiefen des Internets: Nicht alles blind abtippen, sondern einzeln prüfen, ob das genau bewirkt, was man will.

Die RBL-Sachen würde ich auf jeden Fall komplett rausschmeißen, da sie nicht dazu führen, das die Mail markiert wird, sondern sie wird komplett abgelehnt. Wenn Du RBL-Tests verwenden willst, kannst Du sie ohne Probleme als späteren Test innerhalb von Spamassassin einbauen.
 
Ok, lief sowieso so nicht. :-) Wollte mal testen.

Habe nun die Einträge mit den Domains und den Hash Dateien entfernt und mal geguckt was abgeht. Der kickt jetzt schon ne ordentliche Menge wegen nicht existierender Domain raus.

Werde dann mal rumspielen falls ich noch unzufrieden bin.

Danke euch mattis42 & LinuxAdmin. :D
 
Back
Top