DKIM-Signierung in Rspamd einrichten
Richte die automatische DKIM-Signierung ausgehender E-Mails in Rspamd ein. Lerne, wie du Schlüssel generierst und das Modul dkim_signing konfigurierst.
Stand: Juli 2026
Zusammenfassung: Die E-Mail-Signierung mit DKIM lässt sich in Rspamd über das Modul
dkim_signingkonfigurieren. Voraussetzung dafür ist, dass ausgehende E-Mails von Rspamd gescannt werden. Schlüsselpaare können mit dem Toolrspamadm dkim_keygenerzeugt und im Dateisystem hinterlegt werden.
Wenn du Rspamd zur Spamfilterung auf deinem Server einsetzt, kannst du es auch dazu nutzen, ausgehende E-Mails mit einer DKIM-Signatur zu versehen. Wenn Scanner wie Kuveris bemängeln, dass deine E-Mails unsigniert sind, hilft dir diese Anleitung bei der Behebung.
Wichtige Voraussetzung: Ausgehender Mailscan
Bevor du mit der Konfiguration beginnst, musst du sicherstellen, dass ausgehende E-Mails überhaupt durch Rspamd geleitet werden.
Die offizielle Dokumentation stellt klar:
For DKIM signing to work, you must scan outbound mail with rspamd.
Zudem wird eine E-Mail nur unter bestimmten Bedingungen signiert:
In order to be eligible for signing, an email must either be received from an authenticated user, a reserved (local) IP address, or an address in the sign_networks map (if defined).
Schlüssel generieren mit rspamadm dkim_keygen
Rspamd bietet ein integriertes Werkzeug namens rspamadm dkim_keygen zur Schlüsselgenerierung.
Im einfachsten Fall generierst du einen Schlüssel mit:
rspamadm dkim_keygen -s 'test' -d example.com
Um einen sichereren 2048-Bit-Schlüssel zu erzeugen und die Ausgaben direkt in Dateien zu speichern, empfiehlt sich folgender Befehl:
rspamadm dkim_keygen -s 'woosh' -b 2048 -d example.com -k example.private > example.txt
Beachte hierbei die Bedeutung der Flags:
-b 2048 specifies a 2048 bit key size (the standard default 1024 bit size is weak)
Das Tool gibt zwei Teile aus:
- Den privaten Schlüssel (gespeichert in der Datei
example.private). - Den öffentlichen Schlüssel als DNS-Eintrag (gespeichert in der Datei
example.txt):The second part is the public DNS TXT record that you should place in your DNS zone file.
Hinterlege den Inhalt aus example.txt als TXT-Record in deiner DNS-Zone (z. B. unter woosh._domainkey.example.com).
Konfiguration des dkim_signing-Moduls
Die Konfiguration des Moduls erfolgt in /etc/rspamd/local.d/dkim_signing.conf.
Pfad und Selektor konfigurieren
Standardmäßig sucht Rspamd nach Schlüsseln in einem bestimmten Verzeichnispfad auf Basis der effektiven Second-Level-Domain (eSLD):
For example, the search path for user@test.example.com would be /var/lib/rspamd/dkim/example.com.dkim.key. If a key is found, the message will be signed.
Du kannst diesen Suchpfad und den Selektor in der Konfiguration explizit festlegen. Dabei kannst du Variablen wie $domain und $selector verwenden:
path = "/var/lib/rspamd/dkim/$domain.$selector.key";
Der Standard-Selektor, den Rspamd verwendet, ist dkim:
# Default selector to use selector = "dkim";
Berechtigungen prüfen
Damit Rspamd die Schlüsseldateien lesen und Signaturen berechnen kann, müssen die Dateiberechtigungen stimmen:
This requires the keys to be accessible by the user or group _rspamd.
Stelle sicher, dass die privaten Schlüssel für den Benutzer _rspamd lesbar sind (z. B. per chown _rspamd /var/lib/rspamd/dkim/*.key).
Domainauswahl und Sicherheitsabgleiche
In der Konfigurationsdatei stellst du ein, wie Rspamd die zu signierende Domain ermittelt und ob Abweichungen zulässig sind:
- Domain ermitteln (use_domain):
# Domain to use for DKIM signing: can be "header" (MIME From), "envelope" (SMTP From), "recipient" (SMTP To), "auth" (SMTP username) or directly specified domain name use_domain = "header"; - Abweichender Umschlag-Absender (allow_hdrfrom_mismatch):
# If true, envelope/header domain mismatch is ignored allow_hdrfrom_mismatch = false; - Abweichender Anmeldename (allow_username_mismatch):
# If true, username does not need to contain matching domain allow_username_mismatch = false;
Abweichende Pfade per Domain konfigurieren
Falls du für einzelne Domains abweichende Selektoren oder Pfade konfigurieren möchtest, kannst du einen domain { } Block in der Datei anlegen:
domain { # Domain name is used as key example.com { # Private key path path = "/var/lib/rspamd/dkim/example.key"; # Selector selector = "ds"; } }
Signieralgorithmen
Für die Generierung der Signatur wendet Rspamd bewährte Standardeinstellungen an:
Rspamd always uses relaxed/relaxed encoding with the rsa-sha256 signature algorithm
Konfiguration prüfen
Nachdem du die Einstellungen in /etc/rspamd/local.d/dkim_signing.conf vorgenommen hast, lade Rspamd neu (systemctl reload rspamd). Sende anschließend eine Test-E-Mail über deinen Mailserver an eine externe Adresse und prüfe das Ergebnis mit dem kostenlosen Kuveris-Scanner, um sicherzustellen, dass die DKIM-Signatur vorhanden und im DNS valide auflösbar ist.
Weiterführende Links
- Rspamd Documentation — DKIM signing module (abgerufen: 18. Juli 2026)