So konfigurieren Sie zuverlässig benutzerdefinierte Spamassassin-Regeln mit Amavisd (auf Ubuntu)

2771
aSteve

Ich habe Amavisd jahrelang mit Spamassassin verwendet ... meine Konfiguration funktionierte früher (obwohl sie nie "richtig" war), es scheint, als würde die Konfiguration von /etc/spamassassin/local.cf bei der Spamassassin-Funktionalität ignoriert wird von amavisd-new aufgerufen

Ich verwende eine ziemlich Vanille-Konfiguration:

  • Ubuntu (14.04.4 LTS)
  • Postfix (2.11.0-1ubuntu1) - smtpd (und Freunde) als Postfix
  • Spamassassin (3.4.0) - spamd als root
  • amavisd-new (2.7.1) - als amavis

Postfix, Spamassassin und Amavisd werden alle als Dienste ausgeführt, und E-Mails werden mit Spamassassin-Scores geliefert. Die Bayes-Datenbank befindet sich in ~ amavis / .spamassassin / bayes_ *.

Ich bin verblüfft, weil es so aussieht, als ob die Konfiguration, die ich in /etc/spamassassin/local.cf abgelegt habe (eine neue Bewertung für eine bestimmte Regel), für von amavisd verarbeitete Nachrichten ignoriert wird, aber beim Ausführen von spamc nicht ignoriert wird oder "spamassassin -D -t" aus dem Amavis-Konto. Wenn ich eine äquivalente Konfiguration in ~ amavis / .spamassassin / user_prefs platzieren, scheint dies auch keinen Einfluss auf die Ergebnisse der amavisd-neuen Verarbeitung zu haben.

Ich habe ursprünglich mit Bezug (so ähnlich) wie folgt konfiguriert: https://help.ubuntu.com/community/PostfixAmavisNew

Ich habe auch diese Ideen (ohne Erfolg) betrachtet: https://www.ijs.si/software/amavisd/#faq-spam

Was ich gerne wissen würde:

  • Warum werden meine benutzerdefinierten "score" -Werte in /etc/spamassassin/local.cf nur dann ignoriert, wenn Spamassassin über amavisd-new verwendet wird?
  • Gibt es eine nette Möglichkeit, amavisd zur Verwendung von spamc zu bewegen (und somit Konsistenz zu gewährleisten)?
2

3 Antworten auf die Frage

1
bshea

1. Frage:

Zunächst einmal, um es klar zu sagen: Die Spamassassin-Konfigurationsdateien werden verwendet - sie werden nicht "übersprungen". Ich habe gesehen, dass andere berichten, dass sie überhaupt nicht verwendet werden.

Ich weiß, dass Sie diesen FAQ-Link gesehen haben, aber die Antwort scheint hier zu sein. In den FAQs werden möglicherweise nicht die genauen Variablen "$ sa_" (oder andere Typen) / etc angegeben, die Sie möglicherweise benötigen /etc/amavis/conf.d/50-user, aber es wird detailliert beschrieben, wie Dinge gestartet und gelesen werden. Es scheint, dass Sie von amavis-new wahrscheinlich einfach ignoriert werden, soweit die local.cf-Konfiguration von SA verwendet wird. Dies ist abhängig von der Konfiguration - einige Optionen von local.cf funktionieren möglicherweise - andere nicht.

Sie haben aber auch nicht erwähnt, welche exakten Optionen (benutzerdefinierte Regeln nehme ich an?) Sie unter local.cf haben und nicht verwendet werden (oder von amavis-new ignoriert / ignoriert werden).

https://www.ijs.si/software/amavisd/#faq-spam :

SA beachtet alle Einstellungen in seiner Konfigurationsdatei, aber nicht alle haben Auswirkungen auf die überprüfte E-Mail, da amavisd-new seine eigenen Entscheidungen auf der Grundlage der Spam-Bewertung (Treffer) trifft (so dass zum Beispiel required_hits keine Auswirkung hat - use tag / stattdessen tag2 / kill amavisd-new settings) und führt seine eigene Header-Bearbeitung durch, und der Body wird nicht geändert. Lesen Sie weiter für verwandte Informationen.

Wenn Sie nicht mehr darüber nachdenken möchten, welche spezifischen SA local.cf-Optionen ignoriert werden, ist dies Ihre Antwort. Sie müssten spezifischere Informationen veröffentlichen.

2. frage:

Ja, Sie können SA hypothetisch über Postfix / MTA / etc als separaten Inhaltsfilter verwenden. Es ist jedoch viel besser, als amavis-new als MTAs SA-Controller zu bleiben . Sie sollten in der Lage sein, das, was Sie unter SA tun, über Amavis-neue Konfiguration und / oder $sa_Variablen / etc zu replizieren .

Hinweis:

Wenn läuft unter Ubuntu (und wahrscheinlich Debian), gibt es auch eine globale amavis-new Spamassassin user_pref / config - Datei unter: /var/lib/amavis/.spamassassin/user_prefs.
Ich habe dieser Datei benutzerdefinierte SA-Regeln hinzugefügt - und sie funktionieren gut.

Sie können auch den Haupt-Amavis-Prozess beenden und Folgendes versuchen: sudo amavisd-new debug-saAusgabe der Aktivitäten von SA / Lesen / Kompilieren / etc. (Name / Ort von Debian / Ubuntu)

Beispiel LOG zeigt amavis-new config, wie einige SA-Konfigurationsdateien gelesen werden:

mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: using "/etc/spamassassin" for site rules pre files mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/init.pre mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/sa-compile.pre mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/v310.pre mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/v312.pre mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/v320.pre mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/v330.pre mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/v340.pre mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/v341.pre mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: using "/usr/share/spamassassin" for sys rules pre files 

...

mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: using "/etc/spamassassin" for site rules dir mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/65_debian.cf mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: read file /etc/spamassassin/local.cf mail.example.net /usr/sbin/amavisd-new[30358]: SA dbg: config: using "/var/lib/amavis/.spamassassin/user_prefs" for user prefs file 
Danke, ich konnte nicht herausfinden, wo die Datei `/ var / lib / amavis / .spamassassin / user_prefs` tatsächlich war. tedivm vor 6 Jahren 1
Ja, dies sollte der Speicherort der globalen SA-Benutzerkonfigurationsdatei sein, die von Ubuntu amavisd-new repo installiert wird. bshea vor 6 Jahren 0
0
Ryan H.

amavisd-new verwendet eine eigene Konfiguration. Diese Konfigurationsdateien befinden sich in /etc/amavis/conf.d/. Insbesondere in 20-debian_defaults, $sa_kill_level_defltist die „äquivalent“ zu Assassin des required_score(in /etc/spamassassin/local.cf).

Meiner Erfahrung nach ist das Ergebnis, das mit Amavis im Vergleich zu Spamsassassin direkt erzielt wird, niemals das gleiche und ich habe noch nicht herausgefunden, warum. Daher müssen Sie beim Einstellen $sa_kill_level_deflteinen geeigneten Wert ermitteln, der möglicherweise nicht derselbe ist required_score.

0
chandon

Nachdem Sie benutzerdefinierte Regeln zu local.cf hinzugefügt haben, vergessen Sie nicht, spamassassin --lint auszuführen und spamassassin und amavis daemon neu zu starten

Können Sie sich etwas genauer mit Ihren Details befassen, in Erwägung ziehen, einige Nachweise und Beweise hinzuzufügen, die Ihre Aussagen unterstützen, und die Bestätigung dieser Antwort nicht bereits in einer der vorhandenen Antworten auf dem Beitrag beantwortet wurde, falls zutreffend? Pimp Juice IT vor 7 Jahren 0