Rspamd Gewichtete Bewertung (Scoring-Logik)
Gewichtete Bewertung und Scoring-Logik
Das Herzstück von Rspamd ist das mathematische Bewertungssystem. Anstatt eine E-Mail sofort zu löschen, summiert Rspamd die Ergebnisse aller Einzelprüfungen zu einem Gesamtergebnis (Score).
Prinzip der Schwellenwerte
In der Konfiguration werden Grenzwerte (Thresholds) definiert, die das Schicksal einer E-Mail bestimmen. Diese Werte verhindern, dass ein einzelner kleiner Fehler (z.B. ein fehlender SPF-Eintrag) sofort zur Ablehnung der Mail führt.
- Greylisting (Score 2.0)
Der Absender wird temporär abgewiesen. Legitime Server senden die Mail nach wenigen Minuten erneut, während viele Spam-Bots den Zustellversuch abbrechen.
- Add Header (Score 4.0)
Die Mail wird als verdächtig eingestuft. Rspamd fügt den Header 'X-Spam: Yes' hinzu. Dies dient als Signal für die spätere automatische Sortierung in den Junk-Ordner.
- Reject (Score 15.0)
Die Mail wird als gefährlich oder eindeutiger Spam klassifiziert. Postfix bricht die SMTP-Verbindung zum Absender hart ab.
Konfiguration der Grenzwerte
Die zentralen Grenzwerte werden in der Datei 'actions.conf' festgelegt. Diese Steuerung gilt global für alle einlaufenden Nachrichten im Netzwerk it201.int bis it213.int.
Datei: /etc/rspamd/local.d/actions.conf
# Definition der harten Grenzen reject = 15.0; add_header = 4.0; greylist = 2.0; # Optische Markierung im Betreff ab einem gewissen Wert rewrite_subject = 6.0; subject = "[SPAM] %s";
Individuelle Gewichtung der Symbole
Jedes Modul (SPF, Bayes, Antivirus) liefert Symbole mit hinterlegten Punktwerten. Die Summe dieser Werte ergibt den Score. In der 'scores.inc' kann die Wichtigkeit der Prüfungen justiert werden.
Datei: /etc/rspamd/local.d/scores.inc
symbols {
# Identitätsfehler (Punkt 1)
"R_SPF_ALLOW" { score = -1.0; }
"R_SPF_FAIL" { score = 3.0; }
# Virenfunde (Punkt 3) sind absolut kritisch
"CLAM_VIRUS" { score = 20.0; }
# Statistische Analyse (Punkt 2)
"BAYES_SPAM" { score = 5.0; }
"BAYES_HAM" { score = -2.5; }
}
Erfolgskontrolle durch Scoring-Analyse
Die Wirksamkeit der Logik wird durch die Analyse der abgelehnten Mails verifiziert. Rspamd listet im Journal genau auf, welche Symbole zur Überschreitung des Grenzwerts geführt haben.
- Befehl: journalctl -u rspamd -f | grep "action"
Beispiel für eine Ablehnung:
(default: F (reject): [17.50 / 15.00] [CLAM_VIRUS(20.00), R_SPF_ALLOW(-2.50)])
Hier überwiegt der Malus des Virenscanners (20.0) den Bonus der korrekten Identität (-2.5), was zum Reject führt.
Fazit zur Bewertung
- Transparenz
- Jede Filterentscheidung ist durch die Summe der Symbole mathematisch begründet.
- Flexibilität
- Die Schärfe des Filters lässt sich durch einfaches Verschieben der Schwellenwerte zentral steuern.
- Sicherheit
- Kritische Bedrohungen hebeln durch extrem hohe Punktwerte (20.0) alle anderen Vertrauensmerkmale sofort aus.