Spamassassin läuft, aber Bayes Datenbank wird nicht geupdatet

Rhellik

New Member
Ich habe auf meinem Debian Mailserver, den ich nicht selber eingerichtet habe (habe aber Root Zugriff), Amavis mit Spamassassin laufen.
Es scheint auch zu klappen, ich sehe in den Logs entsprechende Einträge. Es steht auch dann entweder autolearn=ham oder =spam drin, aber die Bayes Datenbank wird nicht aktualisiert. Ich sehe auch kein Journal file.

Die Bayes Dateien liegen in /root/.spamassassin/ und ich habe hier auch schon 200+ ham / 200+ spam gefüttert aber es tut sich nichts.
Jetzt weiß ich nicht, ob root der richtige Benutzer ist, oder wo die Datenbank liegen soll.
bayes_path habe ich auf '/root/.spamassassin/bayes' gestellt.

Kann ich rausfinden, wo spamassassin probiert was reinzuschreiben und mit welchem Nutzer das passiert? Muss ich da Berechtigungen checken? Ich verstehe leider nicht genau, wie es ablaufen muss.
 
Ich kenn dein setup nicht.
Kann sein, dass die Bayes-Datenbank im Mail-Verzeichnis jedes Kontos mit drin ist.
Schau halt mal da rein.
bei Dovecot ist das unter /var/mail/...

Und bayes auch aktiviert in der Konfig für die /etc/spamassassin/?
Zeig mal grep -iR Bayes /etc/spamassassin/
 
Last edited:
Ich habe schon bei den einzelnen Mailboxes geschaut. Da ist nichts drin.

Hier der grep Auszug.
Im mail.log sehe ich ja auch, dass er autolearn=ham oder =spam drin hat.

Code:
/etc/spamassassin/init.pre:# RelayCountry - add metadata for Bayes learning, marking the countries
/etc/spamassassin/v320.pre:loadplugin Mail::SpamAssassin::Plugin::Bayes
/etc/spamassassin/v320.pre:# and create a header containing ASN data for bayes tokenization.
/etc/spamassassin/local.cf:#   Use Bayesian classifier (default: 1)
/etc/spamassassin/local.cf:use_bayes 1
/etc/spamassassin/local.cf:#   Bayesian classifier auto-learning (default: 1)
/etc/spamassassin/local.cf:bayes_auto_learn 1
/etc/spamassassin/local.cf:bayes_path /root/.spamassassin/bayes
/etc/spamassassin/local.cf:#   Set headers which may provide inappropriate cues to the Bayesian
/etc/spamassassin/local.cf:# bayes_ignore_header X-Bogosity
/etc/spamassassin/local.cf:# bayes_ignore_header X-Spam-Flag
/etc/spamassassin/local.cf:# bayes_ignore_header X-Spam-Status
/etc/spamassassin/local.cf:#   and a well-trained bayes DB can save running rules, too
/etc/spamassassin/local.cf:# shortcircuit BAYES_99                spam
/etc/spamassassin/local.cf:# shortcircuit BAYES_00                ham
/etc/spamassassin/v310.pre:# AutoLearnThreshold - threshold-based discriminator for Bayes auto-learning
/etc/spamassassin/local.cf.dpkg-dist:#   Use Bayesian classifier (default: 1)
/etc/spamassassin/local.cf.dpkg-dist:# use_bayes 1
/etc/spamassassin/local.cf.dpkg-dist:#   Bayesian classifier auto-learning (default: 1)
/etc/spamassassin/local.cf.dpkg-dist:# bayes_auto_learn 1
/etc/spamassassin/local.cf.dpkg-dist:#   Set headers which may provide inappropriate cues to the Bayesian
/etc/spamassassin/local.cf.dpkg-dist:# bayes_ignore_header X-Bogosity
/etc/spamassassin/local.cf.dpkg-dist:# bayes_ignore_header X-Spam-Flag
/etc/spamassassin/local.cf.dpkg-dist:# bayes_ignore_header X-Spam-Status
/etc/spamassassin/local.cf.dpkg-dist:#   and a well-trained bayes DB can save running rules, too
/etc/spamassassin/local.cf.dpkg-dist:# shortcircuit BAYES_99                spam
/etc/spamassassin/local.cf.dpkg-dist:# shortcircuit BAYES_00                ham
 
Unter welchem Benutzer läuft denn Deine amavis/spamassassin Kombi? Und hat dieser Benutzer in /root/.spamassassin Schreibrechte? In den Logs sollte eigentlich eine Fehlermeldung dazu auftauchen.

Ich habe bei meinem Debian 11 den Ordner für die Bayes DB umgebogen, musste dann aber noch die Zugriffsberechtigung für den Ordner und Dateien auf 777 setzen, sonst wurde da auch nichts geupdated:
Code:
#/etc/spamassassin/local.cf
[...]
bayes_path /var/lib/spamassassin/bayes_db
[...]
Das mit der Ordnerberechtigung gefällt mir nicht so ganz, war aber bisher der einzige Weg, das zum Laufen zu kriegen.
 
spamd sollte genügend Zugriffsrechte haben auf fas Verzeichnis haben, in dem die BayesDB liegt.
Ich zweifele daran, dass der Prozess auf /root/.spamassassin/bayes zugreifen darf.
 
Wenn ich mir das so ansehe, hat @Rhellik Wohl einen Debian (älteres OS oder Image vom Hoster o.ä.) aktualisiert, ich kenn da aber weder Dateisystemaufbau noch Mailprogramme, die Anwendung finden.

Wenn es Zugriffsprobleme gibt, sollte aber was geloggt werden.
 
Ich habe bisher zu Zugriffsrechten nichts im log gefunden. Jedenfalls nicht mail.log. Oder muss ich dazu woanders schauen?

Wie stell ich am besten fest, mit welchem Nutzer die amavis/spamassassin Kombi läuft? Ich hatte glaub ich auch mal zum Test die Bayes Dateien auf 0777 gestellt, hatte sich aber nichts aktualisiert. Deswegen meine Befürchtung, dass er im falschen Verzeichnis sucht.

Ich habe auf dem Server Postfix laufen, kann aber genauerer Konfiguration leider nichts sagen, könnte aber nachschauen.

(Warum kenn ich die Konfig nicht? Wir hatten einen Kollegen der das damals eingerichtet hatte, da er sich besser mit Linux auskannte. Den kann ich aber mittlerweile nicht mehr zu Rate ziehen)
 
Sorry, hier kann ich nur ins blaue spekulieren und fragen:
Welche Debian Version läuft bei Dir? ("cat /etc/debian_version")
Gibt es vielleicht ein amavis Log? (z.B. /var/log/amavis oder so) Evtl. steht in dem was drin.
"ps -aux |grep spam" bzw. "ps -aux |grep amavis" zeigt Dir den User an unter dem die jeweiligen daemons laufen.

Mit amavis kenne ich mich nicht aus (läuft bei mir nicht), und ich hab keine Zeit danach zu googlen. Aber evtl. erstellt amavis ja per-user bayes-DBs (nur geraten)....

(Update (ohne das Topic kapern zu wollen...): Dieses Topic hier hat mich immerhin dazu motiviert, bei meinem spamassassin die Berechtigungen für die bayes_db zu fixen:
Bei mir lief der spamd als User root. Nachdem ich in der /etc/default/spamassassin die Option "-u debian-spamd" ergänzt habe, konnte ich die Berechtigungen für den bayes Ordner und Dateien wieder einschränken.)
Vielleicht hilft das ja auch dem OP (zusammen mit einer Verlegung des bayes_path an einen geeigneteren Ort als /root/.spamassassin).
 
Last edited:
Grundsatz: Niemals irgendetwas unter /root/ installieren und auch keine Configs oder Sonstiges dort ablegen!
Einzige Ausnahme: Das Irgendetwas gehört ausschlichlich dem User root und wird auch nur ausschliesslich vom User root genutzt (chmod 0700/0750).
 
@Joe User Wem hast Du da jetzt geantwortet?
Dass die bayes_db per default in /root/.spamassassin wohnt ist eine Eigenheit des Debian Pakets. Auch dass der spamd per default als root läuft hat Debian mindestens einen Bug Report beschert, die das aber nicht ändern wollten um Legacy Installationen nicht kaputtzumachen.
 
Wenn der Debian-Maintainer zu doof/faul dazu ist, dann muss halt root die Konfiguration passend umkonfigurieren und/oder das Paket entsprechend patchen. Die offiziellen Dokumentationen dazu existieren...

So wie es jetzt ist, ist es ein gravierendes Sicherheitsproblem...
 
Meine Debian Version ist 9.12.

Die "ps" Befehle ergeben:
Code:
root      3706  0.0  0.0  15504   932 pts/0    S+   22:24   0:00 grep spam
root     26458  0.0  0.0 205432  1620 ?        Ss   Jun01   3:08 /usr/bin/perl -T -w /usr/sbin/spamd -d --pidfile=/var/run/spamd.pid --create-prefs --max-children 5 --helper-home-dir
root     26460  0.0  0.0 205432  1160 ?        S    Jun01   0:01 spamd child
root     26461  0.0  0.0 205432  1192 ?        S    Jun01   0:01 spamd child
und
Code:
amavis     879  0.0  2.4 296524 98384 ?        S    21:00   0:03 /usr/sbin/amavisd-new (ch11-avail)
amavis    1457  0.0  2.4 299424 100280 ?       S    21:19   0:02 /usr/sbin/amavisd-new (ch7-avail)
root      3743  0.0  0.0  15504   948 pts/0    S+   22:24   0:00 grep amavis
amavis   11862  0.0  0.1 288940  4368 ?        Ss    2021   7:55 /usr/sbin/amavisd-new (master)

Ein eigenes Log gibt es nicht aber ich habe im mail.log folgendes zum ersten Mal entdeckt:
Code:
_WARN: bayes: cannot open bayes databases /var/lib/amavis/.spamassassin/bayes_* R/W: lock failed: File exists
Unter dem Pfad scheinen auch Bayes Dateien zu liegen, die geupdatet werden. (Aktuelles Datum, recht groß)
Benutzer "amavis"

Kann ich davon ausgehen, dass er die Bayes DB aktualisiert und auch benutzt? Es kommt immer noch recht viel Spam durch...deswegen hab ich erst geschaut, ob es korrekt läuft. Gibts vielleicht Tipps, was ich noch einstellen kann? Oder wäre das eher ein separater Thread?
 
Nutzt du die Spamassassin-Integration in Amavis oder sprichst du den spamd aus deinem Mailserver (Postfix? Exim?) an?
Ansonsten ist ein Debian-Update fällig, der LTS-Support für Debian 9 läuft Ende des Monats aus, aktuell ist Debian 11.
 
Nutzt du die Spamassassin-Integration in Amavis oder sprichst du den spamd aus deinem Mailserver (Postfix? Exim?) an?
Ansonsten ist ein Debian-Update fällig, der LTS-Support für Debian 9 läuft Ende des Monats aus, aktuell ist Debian 11.
Da bin ich mir nicht sicher, aber ich glaube das wird mit Amavis zusammen genutzt. Wie finde ich das raus?
Ja, der Server muss dieses Jahr mal neu überarbeitet werden.
 
Ja, der Server muss dieses Jahr mal neu überarbeitet werden.
Nicht dieses Jahr, sondern in den nächsten 2 Wochen!
Danach gibt es keine Sicherheitsupdates mehr für das OS und die Hacker stehen schon in den Startlöchern, um dein System dann in den nächsten Wochen in ihre Botnetze zu integrieren.
 
Back
Top