Rspamd Neu
Installation und Konfiguration von Rspamd mit Postfix und Dovecot
Dieses Tutorial beschreibt die Integration von Rspamd als Milter in Postfix, die Anbindung an ClamAV zur Virenerkennung sowie die automatische Spam-Sortierung in Dovecot mittels Sieve.
Voraussetzungen
- Installiertes Postfix und Dovecot (LMTP-Setup)
- Installiertes ClamAV (clamav-daemon)
- Betriebssystem: Debian / Ubuntu (Pfade können bei RHEL/CentOS variieren)
1. Rspamd Grundlagen-Konfiguration
Konfigurationsverzeichnis:
- /etc/rspamd/local.d/
Virenscanner (ClamAV) einbinden
Datei: /etc/rspamd/local.d/antivirus.conf
clamav {
scan_mime_parts = true;
scan_text_mime = true;
scan_image_mime = true;
symbol = "CLAM_VIRUS";
type = "clamav";
servers = "/run/clamav/clamd.ctl";
}
Bayes-Filter (Spam-Lernen) aktivieren
Datei: /etc/rspamd/local.d/classifier-bayes.conf
enabled = true; autolearn = true; backend = "sqlite3";
Datei: /etc/rspamd/local.d/statistic.conf
backend = "sqlite3";
Web-Interface (Controller) konfigurieren
Datei: /etc/rspamd/local.d/worker-controller.inc
bind_socket = "127.0.0.1:11334"; password = "$2$abcdef..."; # Generiert mit: rspamadm pw
2. Postfix Integration
Damit Postfix mit Rspamd kommunizieren kann, wird Rspamd als Milter (Mail Filter) eingebunden.
Berechtigungen setzen
Der Postfix-Benutzer muss Zugriff auf den Rspamd-Socket haben.
- usermod -aG rspamd postfix
Postfix Hauptkonfiguration
Datei: /etc/postfix/main.cf
# Rspamd Milter Konfiguration smtpd_milters = unix:/var/lib/rspamd/rspamd.sock non_smtpd_milters = unix:/var/lib/rspamd/rspamd.sock milter_default_action = accept milter_protocol = 6
Dienste neu starten:
- systemctl restart rspamd
- systemctl restart postfix
3. Dovecot Integration (Spam-Sortierung)
Damit Mails mit dem Header "X-Spam: Yes" automatisch im Ordner "Junk" landen, wird das Sieve-Plugin genutzt.
Dovecot LMTP mit Sieve erweitern
Datei: /etc/dovecot/conf.d/20-lmtp.conf
protocol lmtp {
mail_plugins = $mail_plugins sieve
}
Globale Sieve-Regel erstellen
Datei: /var/lib/dovecot/sieve/default.sieve
require ["fileinto"];
if header :contains "X-Spam" "Yes" {
fileinto "Junk";
stop;
}
Sieve-Regel kompilieren:
- sievec /var/lib/dovecot/sieve/default.sieve
Dienst neu starten:
- systemctl restart dovecot
4. Testen und Validierung
Test mit EICAR (Virus)
Simulation einer infizierten Mail (Inhalt ist ein Test-String):
- echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' | mail -s "Virus Test" user@example.com
Logs prüfen
In Echtzeit mitverfolgen, wie Rspamd die Mail bewertet:
- tail -f /var/log/rspamd/rspamd.log
- journalctl -u postfix -f
5. Manuelles Training
Falls eine Spam-Mail durchschlüpft, kann der Filter manuell trainiert werden:
- rspamc learn_spam < /pfad/zu/spam.eml
- rspamc learn_ham < /pfad/zu/gute-mail.eml
Fazit
Durch die Kombination von Postfix (MTA), Rspamd (Filter/Milter), ClamAV (Scanner) und Dovecot Sieve (Sortierung) ist das Mail-System vollautomatisiert gegen Spam und Viren geschützt.