Installation und Einrichtung von Rspamd (Debian/Ubuntu)
Zuerst fügen wir das Repository von Rspamd mit dem folgenden Befehl zu Ihren apt-Quellen hinzu.
wget -O- https://rspamd.com/apt-stable/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/rspamd.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt-stable/ $(lsb_release -cs) main" | \
tee -a /etc/apt/sources.list.d/rspamd.list
Dann aktualisieren wir den Apt-Cache und installieren rspamd wie folgt.
apt update && apt install rspamd
Die Datei /etc/rspamd/local.d/worker-normal.inc enthält Informationen über den Port, auf dem Rspamd lauscht. Der Standardport ist 11333. Wir binden ihn an unseren lokalen Host, indem wir der Datei die folgende Zeile hinzufügen.
cat <<CONF | tee /etc/rspamd/local.d/worker-normal.inc >/dev/null
bind_socket = "127.0.0.1:11333";
CONF
Nun konfigurieren wir einen Proxy zwischen Postfix und Rspamd, der Port 11332 überwacht und als Milter für die Kommunikation zwischen den beiden Tools fungiert. Wie bearbeiten die Datei /etc/rspamd/local.d/worker-proxy.inc wie folgt.
cat <<CONF | tee /etc/rspamd/local.d/worker-proxy.inc >/dev/null
bind_socket = "127.0.0.1:11332";
CONF
Nun legen wir ein Passwort für den Worker fest. Um ein verschlüsseltes Passwort zu generieren, führen wir den folgenden Befehl aus.
rspamadm pw --encrypt -p your_secret_password
$2$93qin9nkifzjpr7taqhs9guua888tnny$dnys6um6xm1gb1amgnz9hocuz7grxuk5z9yjw87psrk6yu641oiy
Dann bearbeiten wir die Datei /etc/rspamd/local.d/worker-controller.inc und geben das verschlüsselte Passwort ein.
cat <<CONF | tee /etc/rspamd/local.d/worker-controller.inc >/dev/null
# Web UI Passwort (hashed)
password = "$2$q46exb84f7yh7359bcem1sd71xsott15$yhm6fu5iep8u3jwq3faqyfc6k71hbtapjh4ceoqkykqbgegsxjgb";
# Bind nur lokal
bind_socket = "127.0.0.1:11334";
# sichere IP für passwortlosen Zugriff
secure_ip = "127.0.0.1";
CONF
Nun konfigurieren wir Redis für die Verwendung mit rspamd, indem wir die Datei /etc/rspamd/local.d/classifier-bayes.conf bearbeiten,
cat <<CONF | tee /etc/rspamd/local.d/classifier-bayes.conf >/dev/null
servers = "127.0.0.1";
backend = "redis";
CONF
Dann setzen wir die milter headers in der Datei /etc/rspamd/local.d/milter_headers.conf wie folgt.
cat <<CONF | tee /etc/rspamd/local.d/milter_headers.conf >/dev/null
use = ["x-spamd-bar", "x-spam-level", "authentication-results"];
CONF
Nun können wir den rspamd Daemon neu starten.
systemctl restart rspamd
Nun erstellen wir uns einen VirtualHost Datei wie z.B. /etc/apache2/sites-available/rspamd.example.com.conf. Dieser Schnipzel zeigt nur die Proxy Konfiguration des Apache Webservers. Zu beachten ist, dass <rspamd.example.com> mit den korrekten Namen ausgetauscht wird.
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyPreserveHost On
#RequestHeader unset Accept-Encoding
#RequestHeader set X-Forwarded-Proto "https"
#RequestHeader set X-Forwarded-Port "443"
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://localhost:11334/
ProxyPassReverse / http://localhost:11334/
ProxyPassReverseCookieDomain 127.0.0.1 <rspamd.example.com>
</IfModule>
Wir aktivieren nun die neue VirtualHost Datei und starten den Apache Webserver neu.
a2ensite rspamd.example.com.conf && systemctl restart apache2
Um Rspamd mit Postfix zu verwenden, muss die Konfiguration mit postconf wie folgt aktualisiert werden.
postconf -e "milter_protocol = 6"
postconf -e "milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}"
postconf -e "milter_default_action = accept"
postconf -e "smtpd_milters = inet:127.0.0.1:11332"
postconf -e "non_smtpd_milters = inet:127.0.0.1:11332"
Dann starten wir postfix neu, damit die Änderungen wirksam werden.
systemctl restart postfix