Wie man Spam-Mails mit Postfix, SpamAssassin und ClamAV reduziert

Wie man Spam-Mails mit Postfix, SpamAssassin und ClamAV reduziert
Photo by CHUTTERSNAP / Unsplash

Spam ist nach wie vor eines der nervigsten Probleme im E-Mail-Betrieb. Wer seinen eigenen Mailserver betreibt – insbesondere mit Virtualmin – kennt die ständige Herausforderung: Spam filtern, sicher bleiben, und gleichzeitig legitime Nachrichten zuverlässig zustellen.

In diesem Beitrag zeige ich, wie man mit Postfix, SpamAssassin und ClamAV eine robuste Anti-Spam-Konfiguration aufsetzt. Alle Konfigurationen stammen aus meinen eigenen Deployments und haben sich in der Praxis bewährt.


1. Postfix richtig konfigurieren

Postfix ist das Herzstück der Mailzustellung. Mit wenigen zusätzlichen Regeln lässt sich bereits ein großer Teil unerwünschter E-Mails abweisen, bevor sie überhaupt in SpamAssassin landen.

Öffne die Datei /etc/postfix/main.cf und ersetze:

smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination

durch:

smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    
    reject_invalid_hostname
    reject_non_fqdn_hostname
    reject_non_fqdn_sender
    reject_non_fqdn_recipient
    reject_unknown_sender_domain
    reject_unknown_recipient_domain

    reject_rbl_client zen.spamhaus.org=127.0.0.[2..11]
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.[2..99]
    reject_rhsbl_helo dbl.spamhaus.org=127.0.1.[2..99]
    reject_rhsbl_reverse_client dbl.spamhaus.org=127.0.1.[2..99]
    warn_if_reject reject_rbl_client zen.spamhaus.org=127.255.255.[1..255]
    reject_rbl_client bl.spamcop.net=127.0.0.[2..11]
    reject_rbl_client b.barracudacentral.org=127.0.0.2
    
    permit

Diese Konfiguration nutzt mehrere RBL-Listen (Realtime Blackhole Lists), um bekannte Spam-Absender sofort zu blockieren.

Danach Postfix und SpamAssassin neu laden:

sudo systemctl reload postfix
sudo systemctl reload spamassassin
# oder je nach System
sudo systemctl restart spamd

2. SpamAssassin optimieren

SpamAssassin bewertet jede eingehende Nachricht und vergibt Spam-Scores. Mit ein paar Einstellungen bekommt der Filter deutlich bessere Ergebnisse.

Füge in /etc/spamassassin/local.cf folgendes hinzu:

required_score 4.0
use_bayes 1
use_bayes_rules 1
use_auto_whitelist 1
bayes_auto_learn 1
skip_rbl_checks 0

Besonders wichtig:
Bayes-Learning aktivieren und dafür sorgen, dass RBL-Checks nicht übersprungen werden.

Danach SpamAssassin neustarten:

sudo systemctl reload spamassassin
# oder
sudo systemctl restart spamd

2.1. Training des Bayes-Filters

Der Bayes-Filter lernt durch Beispiele. Je besser er gefüttert wird, desto präziser trennt er später Spam von echten Nachrichten.

Sortiere dafür in deinem Mailclient Spam manuell in deinen Spam-Ordner – anschließend trainierst du den Filter:

sudo sa-learn --spam /home/*/Maildir/.spam/{cur,new} --sync
sudo sa-learn --ham /home/*/Maildir/.ham/{cur,new} --sync

Falls du stattdessen .Spam und .Ham verwendest:

sudo sa-learn --spam /home/*/Maildir/.Spam/{cur,new} --sync
sudo sa-learn --ham /home/*/Maildir/.Ham/{cur,new} --sync

Den Lernstatus kannst du prüfen mit:

sudo sa-learn --dump

2. ClamAV erweitern (SaneSecurity)

ClamAV prüft eingehende Mailanhänge auf Malware. Mit den Standard-Signaturen ist das schon nicht schlecht – aber es geht besser.
Die freien SaneSecurity-Signaturen erhöhen die Erkennungsrate deutlich.

Backup der bestehenden DB

sudo tar -czpf "/root/clamav-db-backup-$(date +%Y%m%d_%H%M%S).tar.gz" -C /var/lib clamav

SaneSecurity-DB herunterladen

sudo rsync -av --delete rsync://rsync.sanesecurity.net/sanesecurity /var/lib/clamav
sudo chown -R clamav:clamav /var/lib/clamav/

ClamAV neu starten:

sudo systemctl restart clamav-daemon

Automatisieren per Cronjob

0 */6 * * * root rsync -av --delete rsync://rsync.sanesecurity.net/sanesecurity /var/lib/clamav && chown -R clamav:clamav /var/lib/clamav && systemctl restart clamav-daemon

Damit bleiben die Virensignaturen immer frisch – ganz ohne manuelles Eingreifen.


Fazit

Mit dieser Kombination aus Postfix-RBLs, gut konfiguriertem SpamAssassin und erweiterten ClamAV-Signaturen erreichst du eine deutliche Reduzierung von Spam und Schadsoftware im Mailverkehr. Die Konfiguration ist schnell umgesetzt und lässt sich jederzeit weiter verfeinern, etwa durch zusätzliche RBLs, individuelle SpamAssassin-Regeln oder automatisiertes Bayes-Training.

Wer einen zuverlässigen Mailserver betreiben will, sollte diese Best Practices als Basis einsetzen und regelmäßig überprüfen.

Read more

Chatkontrolle: Die vielleicht dümmste und gefährlichste Tech-Idee seit Jahrzehnten

Chatkontrolle: Die vielleicht dümmste und gefährlichste Tech-Idee seit Jahrzehnten

Stell dir vor, jede Nachricht, jedes Urlaubsfoto, jedes geheime Geständnis, das du verschickst, wird still und heimlich geprüft – nicht von der Person, die es empfängt, sondern von einer staatlich abgesegneten Scanning-Software direkt auf deinem Smartphone. Willkommen in der Zukunft der „Chatkontrolle“ – oder besser gesagt, im digitalen Polizeistaat, der sich nur

By Linus Fischer, Imacikus