Rspamd kurz und gut
Version vom 20. März 2026, 06:21 Uhr von Thomas.will (Diskussion | Beiträge)
Mailserver: Postfix + Rspamd + Dovecot + Sieve (vollständiger Mailflow)
Ziel
- Aufbau eines vollständigen Mailfilters mit Spam- und Virenerkennung
- Automatische Sortierung von Spam in den Junk-Ordner
- Sauberer Mailflow ohne versteckte Fehlerquellen
Architektur
- Postfix nimmt E-Mails per SMTP an
- Rspamd analysiert die Mail (Spam/Virus)
- Dovecot übernimmt die Zustellung per LMTP
- Sieve sortiert Spam anhand der Header in den Junk-Ordner
Voraussetzung
- Postfix installiert und funktionsfähig
- Rspamd als Milter integriert
- Dovecot installiert
Sieve-Unterstützung installieren
- apt install dovecot-sieve dovecot-managesieved
- Diese Pakete erweitern Dovecot um serverseitige Filterregeln (Sieve).
- Dadurch können Mails beim Zustellen automatisch verarbeitet werden.
LMTP Zustellung aktivieren (entscheidend)
Datei: /etc/postfix/main.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
- Postfix übergibt Mails damit an Dovecot statt selbst zuzustellen.
- Nur über diesen Weg wird Sieve beim Mail-Eingang ausgeführt.
LMTP Socket in Dovecot aktivieren
Datei: /etc/dovecot/conf.d/10-master.conf
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
- Dovecot stellt hier den Socket für Postfix bereit.
- Ohne diesen Socket kann Postfix keine Mails an Dovecot übergeben.
Sieve in Dovecot aktivieren
Datei: /etc/dovecot/conf.d/20-lmtp.conf
protocol lmtp {
mail_plugins = $mail_plugins sieve
}
- Das Sieve-Plugin wird für die Zustellung aktiviert.
- Dadurch werden Regeln direkt beim Mail-Eingang ausgeführt.
Sieve Plugin konfigurieren
Datei: /etc/dovecot/conf.d/90-sieve.conf
plugin {
sieve = file:~/sieve;active=~/.dovecot.sieve
}
- Diese Konfiguration legt den Speicherort der Regeln fest.
- Jede Mail wird automatisch gegen diese Regel geprüft.
Rspamd Header verstehen
- Rspamd setzt Header wie "X-Spam-Flag" und "X-Spam-Score".
- Diese Header enthalten die Bewertung und werden von Sieve ausgewertet.
Sieve Regel erstellen
Datei: /home/USER/.dovecot.sieve
require ["fileinto", "mailbox"];
if header :contains "X-Spam-Flag" "YES" {
fileinto "Junk";
stop;
}
- Diese Regel erkennt Spam anhand des Rspamd-Headers.
- Erkannte Spam-Mails werden automatisch in den Junk-Ordner verschoben.
Sieve kompilieren
- sievec /home/USER/.dovecot.sieve
- Die Regel wird in ein performantes Format übersetzt.
- Änderungen werden erst nach dem Kompilieren aktiv.
Rechte setzen
- chown USER:USER /home/USER/.dovecot.sieve*
- Die Datei muss dem Benutzer gehören, damit sie verwendet wird.
- Falsche Rechte verhindern die Ausführung der Regel.
Dienste neu starten
- systemctl restart dovecot
- systemctl restart postfix
- systemctl restart rspamd
- Der Neustart lädt alle Konfigurationen neu.
- Ohne Neustart bleiben Änderungen wirkungslos.
Funktionstest
- GTUBE Testmail senden
- Prüfen ob Mail im Junk-Ordner landet
- Damit wird die komplette Kette überprüft.
- Funktioniert das, ist der Mailflow korrekt aufgebaut.
Logs prüfen
- journalctl -u dovecot -f
- tail -f /var/log/rspamd.log
- Logs zeigen Fehler bei Zustellung oder Filterung.
- Besonders hilfreich bei fehlender Sieve-Ausführung.
Fazit
- Rspamd filtert Inhalte, Dovecot übernimmt die Zustellung
- Sieve sorgt für automatische Sortierung
- Vollständiger und produktionsreifer Mailflow ohne Lücken