#5047 closed Verbesserung (erledigt)
Spam-Mail-Ordner und Sieve-Regel
| Reported by: | Rüdiger Kupper | Owned by: | Rüdiger Kupper |
|---|---|---|---|
| Priority: | bald erledigen | Milestone: | Schuljahr 2023/24 |
| Component: | Webdienst: Mail | Severity: | beeinträchtigt den Unterricht einiger Lehrer |
| Keywords: | Cc: | tgs-it@…, bau |
Description
Hallo Jens, mich aus dem Spamfilter zu nehmen hat geklappt, ich bekomme jetzt dir Spam (juhu ;-)). Es sind nicht übermäßig viele, eine handvoll täglich.
Für den Sieve-Filter bräuchte ich etwas, das sich leicht filtern lässt. Momentan steht im Header der Spam-Score als Zahl, das bekomme ich Sieve eher nicht beigebracht.
Die Mails, die Du für mich aus der Quarantäne befreit hattest, hatten im Subject [SPAM] stehen. Das ließe sich leicht filtern. Vermutlich kan Spamassassin auch noch andere Header schreiben. Kannst Du das aktivieren?
Change History (27)
comment:1 by , 3 years ago
| Cc: | added |
|---|---|
| Status: | new → accepted |
- @bau
- Wir bräuchten außerdem für jeden Mailnutzer einen automatisch angelegten Spam-Ordner, der am Besten auch noch alle 30 Tage geleert wird. Wo würde man das konfigurieren?
follow-up: 8 comment:2 by , 3 years ago
Lieber Rüdiger,
ich scheine für Euer Keppler Trac keine Schreibrechte zu haben (bekomme aber die Notifications und kann mir das Ticket auch ansehen). Ansonsten hätte ich folgendes gern sofort am Ticket kommentiert.
Dass Du keine eindeutige Spam-Kennzeichnung erhältst liegt an einem klassischem Fehler, dem ich aufgesessen bin: das Subject ändert erst eine Regel, die bei Dir nun als Mitglied der Gruppe ohne Spamfilterung nicht mehr ausgeführt wird (weil das PMG derzeit noch keine Negation als Operator bei den Filterregeln kennt - einen entsprechenden Feature Request gibt es im PMG-Forums schon seit längerem und ist auch von Proxmox angenommen worden).
Ich habe dieses "Action Object" nun aufgenommen, so dass es im Header nicht nur den errechneten Spam-Level im Feld X-SPAM-LEVEL geben sollte, sondern auch ein eindeutiges "[SPAM]" am Beginn des Subjects.
Bitte melde Dich gern, wenn es nicht funktionieren sollte.
Liebe Grüße,
Jens
comment:3 by , 3 years ago
Probleme werden auch von hill gemeldet:
Lieber Jens,
seit gestern versuche ich mich mit meiner Dienst-E-Mail-Adresse bei Fobizz zu registrieren. Leider gelingt es mir nicht, weil die automatisierte E-Mail, mit der ich meine Adresse bestätigen soll, nicht ankommt. Ich habe bereits zweimal eine neue E-Mail angefordert und auch im Spam-Ordner nachgesehen - ohne Erfolg.
Kann es sein, dass das System diese E-Mail zurückhält?
Viele Grüße
Sebastian
comment:4 by , 3 years ago
Die Spam-Ordner muss man als Cronjob anlegen, das geht mit sieve-Befehlen automatisiert.
Auch die Löschung kann automatisiert werden (das habe ich bei den Mailquota-Überschreitungen so gemacht).
Das Script der Mailquota-Überschreitungen (/usr/local/sbin/mailquota.sh) können wir erweitern.
comment:5 by , 3 years ago
Jens Herbers schreibt:
Die SIEVE-Regel sollte meiner Recherche nach etwa so aussehen müssen (wenngleich das meine erste SIEVE-Regel ist):
Require ["mailbox", "fileinto"]
if header :contains "Subject" "[SPAM]" {
If mailboxexists "INBOX.Spam" {
fileinto "INBOX.Spam";
} else {
fileinto :create "INBOX.Spam";
}
}
comment:7 by , 3 years ago
Ah, super! Sieht gut aus :-).
- @JensHerbers
- Du kannst Dich im Trac tatsächlich nicht einloggen ohne Account bei uns. Du kannst aber einfach auf die Mails antworten (Reply drücken und Subject unverändert lassen.) Dann erscheint Deine Mail automatischn als Kommentar im Ticket.
comment:8 by , 3 years ago
Replying to bau:
Ich habe dieses "Action Object" nun aufgenommen, so dass es im Header nicht nur den errechneten Spam-Level im Feld X-SPAM-LEVEL geben sollte, sondern auch ein eindeutiges "[SPAM]" am Beginn des Subjects.
Klappt, danke! Mit der Sieve-Regel, die Du gebastelt hat, müssten wir das eigentlich sofortt umsetzen können :-).
Übrigens: Auch Deine eigenen Mails wurde als [SPAM] klassifiziert:
- "[SPAM] Zustellzeiten Mails" (X-Spam-Level 0) – verstehst Du das?
- "[SPAM] WG: [Kepler-Trac] #5047: Spam-Mail-Ordner und Sieve-Regel" (X-Spam-Level 1)
Wieso die Zustellzeiten-Mail das [SPAM] bekommen hat, wenn sie Level 0 hat, verstehe ich nicht
comment:9 by , 3 years ago
Nächste Frage wäre dann, ob wir es auch hinbekommen, dass Spamassassin von den Usern lernt: Kann ein Nutzer Mail absichtlich in den Spam-Ordner verschiebt oder sie aus dem Spam-Ordner in den Eingang verschiebt, kann Spamassassin das lernen?
An der Uni hatten wir das vor Jahren mal so konfiguriert, da lief der Spamassassin allerdings lokal auf meinem Rechner und hat das "Junk"-Verzeichnis von Thunderbird irgendwie überwacht und seinenen Bayes-Filter damit trainiert…
comment:10 by , 3 years ago
Habe mir grade ein sieve-Skript ins Verzeichnis /etc/sieve/k/kup auf dem paedml gelegt. Die Dinger müssen aber noch aktiviert werden (in Bytecode übersetzt). Das geht mit "sieveshell", wie ich ergoogelt habe.
Dabei muss man sich als user "cyrus" authentifizieren.
- @bau
- Ich kenne das PW von cyrus nicht. Kannst Du mir das schreiben (nicht im Ticket!)
comment:11 by , 3 years ago
Aufruf ist dann (auf dem paedml)
sieveshell --authname=cyrus --user=<user> localhost
Dann müsste man in einer Shell landen und den Befehl "activate <scriptname>" absetzen können.
comment:13 by , 2 years ago
Es gibt jetzt auf dem paedml ein Script “kepler—install-sieve-filter <uid> <uid …>”. Es installiert und aktiviert ein vorgegebenes Template (zu finden in /etc/default/kepler—sieve) als Sieve-Filter für den/die gegebenen User.
- Todo
-
- Jens Herbers bitten, die Spammails für alle Nutzer auszuliefern, markiert als SPAM.
- Skript für alle Nutzer aufrufen
- Nutzer informieren
Dieses Skript muss dann auch beim anlegen eines neuen Nutzers einmalig ausgeführt werden. (Gibt es dafür einen Hook?)
comment:14 by , 2 years ago
Der Aufruf, um das Skript für alle Nutzer zu aktivieren wäre dann einfach
kepler—install-sieve-filter $(teachers) $(students)
comment:15 by , 2 years ago
Vielleicht bekommen wir es noch hin, den Header "X-SPAM-LEVEL" so zu konfigurieren, dass er Sternchen enthält statt einer Zahl. Momentan sieht der Header z.B. so aus:
X-SPAM-LEVEL: Spam detection results: 7 DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain HEADER_FROM_DIFFERENT_DOMAINS 0.25 From and EnvelopeFrom 2nd level mail domains are different HTML_MESSAGE 0.001 HTML included in message KAM_BODY_MARKETINGBL_PCCC 0.001 Body contains URI associated with mass-marketing (https://raptor.pccc.com/RBL) [mailchi.mp,list-manage.com,mailchimp.com] KAM_MARKETINGBL_PCCC 1 Message contains URI associated with mass-marketing (https://raptor.pccc.com/RBL) MIME_QP_LONG_LINE 0.001 Quoted-printable line longer than 76 chars NBL_0SPAM 1 Spam Source Networks, high volume of 0SPAM spam trap hits in a Class C block RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust RCVD_IN_HOSTKARMA_BL 1.5 Sender listed in HOSTKARMA-BLACK RCVD_IN_MSPIKE_H3 0.001 Good reputation (+3) RCVD_IN_MSPIKE_WL 0.001 Mailspike good senders RD_BODY_1X1TRACK 1 Contains an Image from 1x1 until 9x9 Pixels SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_GREY 1.084 Contains an URL listed in the URIBL greylist [list-manage.com] URIBL_SC_SWINOG 1 URI's listed in uribl.swinog.ch. [mailchimp.com,mcusercontent.com] URIBL_ZAPBL 1 Contains an domain listed in the ZapBL RHSBL blocklist [mailchi.mp,mcusercontent.com,mailchimp.com]
Er sollte so aussehen:
X-SPAM-LEVEL: *******
Meines Wissens ist das auch die Standardeinstellung, im Manual steht:
X-Spam-Level: header
A series of * charactes where each one represents a full score point.
Bei uns ist dieser Header offenbar anders konfiguriert, das müsste irgendwo im Config-File stehen, vermutlich /etc/mail/spamassassin/local.cf.
Kann jemand mal in dem Configfile nachsehen oder es mir mal schicken?
follow-up: 17 comment:16 by , 2 years ago
Seit heute macht das das PMG:
X-SPAM-LEVEL: mit Sternchen
X-SPAM-STATUS: das, was bislang dort stand (PMG hat eine komische Vorstellung von X-SPAM-LEVEL)
comment:17 by , 2 years ago
Bei mir nicht ;-). Beide Header fehlen.
Replying to bau:
Seit heute macht das das PMG:
X-SPAM-LEVEL: mit Sternchen
X-SPAM-STATUS: das, was bislang dort stand (PMG hat eine komische Vorstellung von X-SPAM-LEVEL)
comment:18 by , 2 years ago
| Resolution: | → erledigt |
|---|---|
| Status: | accepted → closed |
Mein Fehler, hab nur intern zugestellte Mails angeschaut.
Klappt wie gewünscht!
comment:19 by , 2 years ago
Alles ist fertig, die Spam-Mails müssen nur ausgeliefert werden. Bekommen wir die Umstellung noch im Schuljahr hin?
follow-ups: 21 24 comment:20 by , 2 years ago
RegEx ist eingetragen!
Mails werden nun ausgeliefert.
Allerdings liefern wir nun jeden Sch... aus.
Da gab es noch diverse Fragen, auf die ich noch keine Antwort erhalten habe ... Feintuning fehlt halt noch:
- Ich würde z.B. ab einem SPAM-Level blocken (z.B. 8 .. 10)
- Sollen SPAM-Scoures mit [SPAM?] getagged werden (z.B. 1..2)?
comment:21 by , 2 years ago
comment:23 by , 2 years ago
Ich hoffe, dass die Regel auch macht, was sie soll:
[a-zA-Z]{0,5}@kg-fds.de
Bei mir kam jetzt noch kein SPAM rein.
comment:24 by , 2 years ago
Replying to bau:
- Ich würde z.B. ab einem SPAM-Level blocken (z.B. 8 .. 10)
- Sollen SPAM-Scoures mit [SPAM?] getagged werden (z.B. 1..2)?
Eigentlich müssen die Mails gar nicht mehr im Betreff markiert werden, jedenfalls nicht für den Filter. Fragt sich, ob es den Kollegen eher nützt oder sie verwirrt, wenn Mails mit niedrigem Spamlevel in ihrer Inbox landen, aber mit [Spam?] markiert sind?
Ob Du Mails mit sehr hohem Spamlevel weiterhin blocken willst hängt vielleicht davon ab, wie oft sowas vorkommt. Der Filter würde die ja auch in den Spam-Ordner einsortieren.
comment:25 by , 2 years ago
OK, das können wir also erstmal so lassen.
Die Mails, die im SPAM-Ordner eingruppiert werden sind ja auch nicht markiert.
Sollen die ein Tag bekommen oder reicht es, wenn die Mails einfach im Ordner landen?