Es wird viel Spam durch den Filter auf dem Mailserver geleitet, den ich mit dem relativ einfachen Trick ausführe, mit wenigen Zeilen (unglaublich offensichtlichen) Gewichtsverlusts oder anderem Betrugstext oben zu beginnen, gefolgt von einem größeren Text aus der Programmierdokumentation - oder, was am schlimmsten ist, Text, der aus Stack Exchange stammt . Bestenfalls betrachtet Spamassassin dies als BAYES_50, und es kommt vor, dass der Rest der Nachrichten sorgfältig genug aufgebaut ist, dass sie keine anderen Auslöser treffen. (Zum Beispiel sind die Überschriften minimal und korrekt.) Oft stimmen die enthaltenen Auszüge eng genug mit meinen berechtigten Interessen überein, sodass die Nachricht insgesamt als BAYES_00 bewertet wird, da die sehr spammigen Token nur von saftigen Nuggets zur Lösung von Sysadmin-Problemen überwältigt werden.
Der obere Teil ist so offensichtlich Spam (und in der Tat sehr ähnlich zu zuvor empfangenen und als Spam-Nachrichten geschulten Nachrichten), dass ich irgendwie erstaunt bin, dass er durchkommt - aber klar ist es. Es scheint ein separater Durchgang zu sein, der die besten 25 (oder so) Zeilen der Nachricht erzielte und wog, dass das Problem schwer gelöst werden würde. Gibt es eine Möglichkeit, dies zu tun?
Mehrere Leute haben vorgeschlagen, benutzerdefinierte reguläre Ausdrücke zu schreiben. Ich möchte nicht darauf eingehen, da dies ein ständiger Verlustkampf ist. Es ist das, was die Leute getan haben, bevor die Bayes'sche Spam-Sortierung weit verbreitet war, und es war im Allgemeinen schrecklich. Kein Mensch kann mithalten . Es ist nicht viel effektiver als nur die Löschtaste für jede Spam-Nachricht zu drücken, und viel mehr Arbeit meinerseits.
Die Bayes'sche Spam-Filterung funktioniert. Es funktioniert sogar bei diesem Spam, wenn ich den Teil " über der Falte " aufspalte und nur diesen Teil analysiere, wobei der Köder / die Spreu entfernt ist. Die Frage ist: Wie kann ich Spamassassin dazu bringen?
quelle
Antworten:
Ich bin selbst ein (kleiner) lebhafter Anti-Spam-Kämpfer. Und wegen vieler Probleme, auf die Sie stoßen, habe ich vor Jahren die schmutzigen Dinge selbst gemacht.
Dies ist keine Antwort auf Ihre spezielle Frage, sondern auf Ihr spezielles Problem. Bitte stimmen Sie deshalb nicht ab.
Ich habe dieses Problem gelöst, indem ich das vom XMail-Server verwendete Skript sa_filter-post.pl geändert habe, das Spamc für die E-Mail-Datei aufruft und dort einige kleinere Aufgaben ausführt, um nicht die gesamte Datei, sondern bestimmte Teile davon basierend auf zu verarbeiten einige spezifische Regeln (von mir fest codiert). Ja, Regex'es, aber bisher funktionieren sie für mich (ich habe eine Reihe anderer Skripte vor und nach diesem, damit dies eine Rolle spielen kann)
Zum Beispiel habe ich eine Regex, die Telefonnummern herausfischt. Der Spammer hat das vollständig belassen, so dass direkt nur die mittleren 400 Zeichen der Datei verarbeitet werden (ich bin wirklich durch Versuch und Irrtum auf 400 gekommen, angefangen bei 200). Beachten Sie, dass es im Vergleich zu dem, was in der Datei enthalten ist, ziemlich schwierig ist, die Mitte des angezeigten Objekts auszuwählen.
Es gibt eine andere, die dieselbe Struktur wie die HTML-Tabelle mit den "Produkten", einem Dummy-Header und einer nicht verwendbaren Fußzeile hat. Daher entferne ich diese, entferne die Kommentarspalte "Produkte" und leite sie dann an Spam weiter.
Und so weiter bekommen Sie das Bild.
Aber nicht alle Regeln sind perfekt, deshalb zaubere ich hier ein wenig, indem ich jeder Regel eine private Punktzahl zuweise, die ich fest codiere und bei Bedarf nach oben oder unten abstimme, je nachdem, wie sich die Regel verhält (und manchmal lösche ich alle Regeln zusammen ). Ich ändere dann die SA-Punktzahl durch die private Punktzahl. Der Grund, warum ich das getan habe, war, dass SA aus irgendeinem Grund nur Punkte wie 4 vergeben hat. Deshalb habe ich ihnen nur einen kleinen Schub gegeben, um über 5.0 hinauszugehen, zusammen mit einigen Nachbearbeitungsskripten, die einige andere Variablen berücksichtigen (E-Mail-Quelle, E-Mail-Ziel, Struktur des Headers usw.), wodurch der Spam mehr oder weniger beseitigt wird aus.
Jetzt ist mir klar, dass dies nicht das ist, was Sie sich erhofft haben, aber in meinem Fall gibt es mir eine Menge Macht über das, was gescannt wird. Es ist nur so, dass ich die Dinge manuell einrichten muss und dann ab und zu wenig anfassen muss. Ups auf die Werte / Regex'es.
In Ihrem Fall sind die Dinge jedoch viel einfacher, da Sie lediglich ein einfaches Bash-Skript verwenden müssen, das von Ihrem MX anstelle von Spam aufgerufen wird, und dieses Skript den Befehl head verwenden muss, um nur die erste beliebige Anzahl von Bytes abzurufen Übergeben Sie diese temporäre Datei an Spam.
Der Inhalt des Skripts hängt ein wenig von Ihrem Mailserver ab, aber das sollte nicht schwer herauszufinden sein.
(Beachten Sie, dass ich nur so viel von meinem Setup gesprochen habe, damit Sie die Möglichkeiten dieser Option sehen können.)
PS: Ich persönlich habe diese Art von Spam-E-Mails (mit programmierbezogenen Extras) nie erhalten, daher frage ich mich, ob Sie nicht jemanden angepisst haben und jetzt gezielt sind. Das würde die speziell gestalteten E-Mails erklären. Der Grund, warum ich über diese Möglichkeit nachdenke, ist, dass ich vor Jahren, als ich in verschiedenen IT-Foren und -Gruppen sehr aktiv war, einige Leute verärgert habe und ab und zu verschiedene Arten von Angriffen auf meinen Server bekam, einschließlich E-Mail-Spam . Aber damals waren die Idioten nicht so schlau :)
quelle