Rspamd kurz und gut: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „ == Konfiguration von Rspamd == Konfigurationsverzeichnis: * /etc/rspamd/ === Virenscanner einrichten (ClamAV) === Datei: /etc/rspamd/local.d/antivi…“
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
= Mailserver: Postfix + Rspamd + Dovecot + Sieve (vollständiger Mailflow) =


== Konfiguration von Rspamd ==
== Ziel ==
* Aufbau eines vollständigen Mailfilters mit Spam- und Virenerkennung
* Automatische Sortierung von Spam in den Junk-Ordner
* Sauberer Mailflow ohne versteckte Fehlerquellen


Konfigurationsverzeichnis: 
== Architektur ==
* /etc/rspamd/ 
* 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


=== Virenscanner einrichten (ClamAV) === 
== Voraussetzung ==
* Postfix installiert und funktionsfähig
* Rspamd als Milter integriert
* Dovecot installiert


Datei: /etc/rspamd/local.d/antivirus.conf 
== 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
<pre>
<pre>
clamav {
virtual_transport = lmtp:unix:private/dovecot-lmtp
  scan_mime_parts = true;
  scan_text_mime = true;
  scan_image_mime = true;
  symbol = "CLAM_VIRUS";
  type = "clamav";
  servers = "/run/clamav/clamd.ctl";
}
</pre>
</pre>
* Postfix übergibt Mails damit an Dovecot statt selbst zuzustellen.
* Nur über diesen Weg wird Sieve beim Mail-Eingang ausgeführt.


Nach Änderungen Rspamd neu starten: 
== LMTP Socket in Dovecot aktivieren ==
* systemctl restart rspamd 
Datei: /etc/dovecot/conf.d/10-master.conf
 
=== Spam-Filter aktivieren === 
 
Datei: /etc/rspamd/local.d/classifier-bayes.conf
<pre>
<pre>
enabled = true;
service lmtp {
autolearn = true;
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
backend = "sqlite3";
    mode = 0600
    user = postfix
    group = postfix
  }
}
</pre>
</pre>
* Dovecot stellt hier den Socket für Postfix bereit.
* Ohne diesen Socket kann Postfix keine Mails an Dovecot übergeben.


Datei: /etc/rspamd/local.d/statistic.conf
== Sieve in Dovecot aktivieren ==
Datei: /etc/dovecot/conf.d/20-lmtp.conf
<pre>
<pre>
backend = "sqlite3";
protocol lmtp {
  mail_plugins = $mail_plugins sieve
}
</pre>
</pre>
* Das Sieve-Plugin wird für die Zustellung aktiviert.
* Dadurch werden Regeln direkt beim Mail-Eingang ausgeführt.


== Postfix-Integration ==
== Sieve Plugin konfigurieren ==
 
Datei: /etc/dovecot/conf.d/90-sieve.conf
Rspamd als milter aktivieren: 
 
Datei: /etc/postfix/main.cf 
<pre>
<pre>
smtpd_milters = unix:/var/lib/rspamd/rspamd.sock
plugin {
non_smtpd_milters = unix:/var/lib/rspamd/rspamd.sock
  sieve = file:~/sieve;active=~/.dovecot.sieve
milter_default_action = accept
}
milter_protocol = 6
</pre>
</pre>
* Diese Konfiguration legt den Speicherort der Regeln fest.
* Jede Mail wird automatisch gegen diese Regel geprüft.


Postfix neu starten: 
== Rspamd Header verstehen ==
* systemctl restart postfix 
* Rspamd setzt Header wie "X-Spam-Flag" und "X-Spam-Score".
* Diese Header enthalten die Bewertung und werden von Sieve ausgewertet.


== Rspamd Webinterface aktivieren ==
== Sieve Regel erstellen ==
Datei: /home/USER/.dovecot.sieve
<pre>
require ["fileinto", "mailbox"];


Datei: /etc/rspamd/local.d/worker-controller.inc 
if header :contains "X-Spam-Flag" "YES" {
<pre>
  fileinto "Junk";
bind_socket = "127.0.0.1:11334";
  stop;
password = "$2$abcdef..."; # Passwort mit rspamadm pw generieren
}
enable_password = "$2$abcdef...";
</pre>
</pre>
* Diese Regel erkennt Spam anhand des Rspamd-Headers.
* Erkannte Spam-Mails werden automatisch in den Junk-Ordner verschoben.


Rspamd neu starten: 
== Sieve kompilieren ==
* systemctl restart rspamd 
* sievec /home/USER/.dovecot.sieve
 
* Die Regel wird in ein performantes Format übersetzt.
Aufruf: 
* Änderungen werden erst nach dem Kompilieren aktiv.
* http://localhost:11334/ 
 
== E-Mails automatisch lernen lassen ==
 
Spam in Junk trainieren: 
* rspamc learn_spam < /pfad/zu/spam-mail.eml 
 
Ham (kein Spam) trainieren: 
* rspamc learn_ham < /pfad/zu/ham-mail.eml 
 
== Testen == 
 
Eine Test-Mail mit EICAR (Testvirus) senden: 
* wget -qO- https://secure.eicar.org/eicar.com | base64 | mail -s "Testvirus" user@example.com 
 
== Logs prüfen == 
 
Spam und Virenlogs in: 
* tail -f /var/log/rspamd.log 
 
== Deaktivieren == 
 
Falls Rspamd nicht mehr genutzt werden soll: 
* systemctl stop rspamd 
* systemctl disable rspamd 


Postfix-Konfiguration zurücksetzen:
== Rechte setzen ==
* postconf -X smtpd_milters 
* chown USER:USER /home/USER/.dovecot.sieve*
* postconf -X non_smtpd_milters 
* Die Datei muss dem Benutzer gehören, damit sie verwendet wird.
* systemctl restart postfix 
* 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.


==Fazit==
== Logs prüfen ==
;Rspamd + ClamAV bieten eine schnelle und effiziente Spam- und Virenerkennung.
* journalctl -u dovecot -f
;Bayes-Filter und automatische Lernfunktionen verbessern die Erkennungsrate.
* tail -f /var/log/rspamd.log
;Rspamd-Webinterface für Statistik und Feinjustierung.
* Logs zeigen Fehler bei Zustellung oder Filterung.
* Besonders hilfreich bei fehlender Sieve-Ausführung.


==Quellen==
== Fazit ==
*https://rspamd.com/doc/tutorials/quickstart.html
* Rspamd filtert Inhalte, Dovecot übernimmt die Zustellung
*https://blog.21x9.org/Archiv/rspamd-mit-postfix
* Sieve sorgt für automatische Sortierung
* Vollständiger und produktionsreifer Mailflow ohne Lücken

Version vom 20. März 2026, 06:21 Uhr

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