Rspamd Bayes: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 6: | Zeile 6: | ||
* Bayes nur vorbereitet | * Bayes nur vorbereitet | ||
| − | = Schritt 1: Bayes ruhigstellen ( | + | = Schritt 0: Voraussetzungen prüfen = |
| + | ; Rspamd setzt Header nur bei add_header | ||
| + | ; Dovecot muss Sieve im LMTP haben | ||
| + | |||
| + | *grep -R "protocol lmtp" /etc/dovecot/conf.d/20-lmtp.conf | ||
| + | ; MUSS enthalten: | ||
| + | ; mail_plugins = $mail_plugins sieve | ||
| + | |||
| + | = Schritt 1: Bayes ruhigstellen (nicht aktiv, nicht löschen) = | ||
*vi /etc/rspamd/local.d/classifier-bayes.conf | *vi /etc/rspamd/local.d/classifier-bayes.conf | ||
<pre> | <pre> | ||
| Zeile 16: | Zeile 24: | ||
*systemctl restart rspamd | *systemctl restart rspamd | ||
| − | = Schritt 2: | + | = Schritt 2: Aktionen so setzen, dass NIE gebounced wird = |
*vi /etc/rspamd/local.d/actions.conf | *vi /etc/rspamd/local.d/actions.conf | ||
<pre> | <pre> | ||
| − | + | reject = 999; | |
| − | + | greylist = 999; | |
| + | add_header = 6; | ||
</pre> | </pre> | ||
*systemctl restart rspamd | *systemctl restart rspamd | ||
| − | = Schritt 3: | + | ; Erklärung: |
| + | ; Score >= 6 → add_header → X-Spam: Yes | ||
| + | ; Reject ist faktisch unmöglich | ||
| + | |||
| + | = Schritt 3: Hauptfilter – Keywords (DEIN Filter) = | ||
| + | *mkdir -p /etc/rspamd/local.d/lists | ||
| + | |||
*vi /etc/rspamd/local.d/multimap.conf | *vi /etc/rspamd/local.d/multimap.conf | ||
<pre> | <pre> | ||
| Zeile 32: | Zeile 47: | ||
regexp = true; | regexp = true; | ||
icase = true; | icase = true; | ||
| − | symbol = " | + | symbol = "CUSTOM_KEYWORDS"; |
score = 10.0; | score = 10.0; | ||
} | } | ||
</pre> | </pre> | ||
| + | |||
| + | *vi /etc/rspamd/local.d/lists/junk_keywords.map | ||
| + | <pre> | ||
| + | viagra | ||
| + | cialis | ||
| + | tadalafil | ||
| + | penis enlargement | ||
| + | xxx | ||
| + | porn | ||
| + | </pre> | ||
| + | |||
*systemctl restart rspamd | *systemctl restart rspamd | ||
| − | = Schritt 4: | + | = Schritt 4: Funktionstest Rspamd (ohne Mailserver) = |
| − | |||
*cat <<EOF | rspamc | *cat <<EOF | rspamc | ||
From: a@b | From: a@b | ||
| Zeile 48: | Zeile 73: | ||
EOF | EOF | ||
| − | ; MUSS | + | ; MUSS ergeben: |
; Action: add header | ; Action: add header | ||
| − | ; Symbol: | + | ; Symbol: CUSTOM_KEYWORDS |
| + | ; Score >= 10 | ||
| + | |||
| + | = Schritt 5: Dovecot – Junk-Ablage NUR über Sieve = | ||
| + | ; KEIN imapsieve | ||
| + | ; KEIN Lernskript | ||
| + | ; KEIN Pipe | ||
| − | |||
*vi /etc/dovecot/conf.d/90-sieve.conf | *vi /etc/dovecot/conf.d/90-sieve.conf | ||
<pre> | <pre> | ||
| Zeile 60: | Zeile 90: | ||
} | } | ||
</pre> | </pre> | ||
| + | |||
| + | *mkdir -p /var/lib/dovecot/sieve | ||
*vi /var/lib/dovecot/sieve/spam-to-junk.sieve | *vi /var/lib/dovecot/sieve/spam-to-junk.sieve | ||
| Zeile 73: | Zeile 105: | ||
*sievec /var/lib/dovecot/sieve/spam-to-junk.sieve | *sievec /var/lib/dovecot/sieve/spam-to-junk.sieve | ||
*chown dovecot:dovecot /var/lib/dovecot/sieve/spam-to-junk.* | *chown dovecot:dovecot /var/lib/dovecot/sieve/spam-to-junk.* | ||
| + | *chmod 644 /var/lib/dovecot/sieve/spam-to-junk.* | ||
| + | |||
*systemctl restart dovecot | *systemctl restart dovecot | ||
| − | = Schritt 6: Test mit | + | = Schritt 6: ECHTER Test = |
| − | ; | + | ; Mail mit: |
| − | ; | + | ; Subject: viagra |
| + | ; Body: viagra | ||
| + | |||
; Erwartung: | ; Erwartung: | ||
| − | ; Mail | + | ; Mail wird angenommen |
| − | ; NICHT gebounced | + | ; Mail ist NICHT gebounced |
| − | ; | + | ; Mail liegt in: |
| + | ; ~/Maildir/.Junk/cur/ | ||
= Schritt 7: Kontrolle = | = Schritt 7: Kontrolle = | ||
| − | * | + | *ls /home/thomas.will/Maildir/.Junk/cur/ |
Version vom 14. Dezember 2025, 18:29 Uhr
Ziel
- Spam wird erkannt
- Spam landet im Junk
- KEIN Reject
- KEIN Lernen
- Bayes nur vorbereitet
Schritt 0: Voraussetzungen prüfen
- Rspamd setzt Header nur bei add_header
- Dovecot muss Sieve im LMTP haben
- grep -R "protocol lmtp" /etc/dovecot/conf.d/20-lmtp.conf
- MUSS enthalten
- mail_plugins = $mail_plugins sieve
Schritt 1: Bayes ruhigstellen (nicht aktiv, nicht löschen)
- vi /etc/rspamd/local.d/classifier-bayes.conf
backend = "sqlite3"; path = "/var/lib/rspamd/bayes.sqlite"; autolearn = false; min_tokens = 11;
- systemctl restart rspamd
Schritt 2: Aktionen so setzen, dass NIE gebounced wird
- vi /etc/rspamd/local.d/actions.conf
reject = 999; greylist = 999; add_header = 6;
- systemctl restart rspamd
- Erklärung
- Score >= 6 → add_header → X-Spam
- Yes
- Reject ist faktisch unmöglich
Schritt 3: Hauptfilter – Keywords (DEIN Filter)
- mkdir -p /etc/rspamd/local.d/lists
- vi /etc/rspamd/local.d/multimap.conf
CUSTOM_KEYWORDS {
type = "content";
map = "/etc/rspamd/local.d/lists/junk_keywords.map";
regexp = true;
icase = true;
symbol = "CUSTOM_KEYWORDS";
score = 10.0;
}
- vi /etc/rspamd/local.d/lists/junk_keywords.map
viagra cialis tadalafil penis enlargement xxx porn
- systemctl restart rspamd
Schritt 4: Funktionstest Rspamd (ohne Mailserver)
- cat <<EOF | rspamc
From: a@b To: c@d Subject: viagra test
cheap viagra now EOF
- MUSS ergeben
- Action
- add header
- Symbol
- CUSTOM_KEYWORDS
- Score >= 10
Schritt 5: Dovecot – Junk-Ablage NUR über Sieve
- KEIN imapsieve
- KEIN Lernskript
- KEIN Pipe
- vi /etc/dovecot/conf.d/90-sieve.conf
plugin {
sieve = ~/.dovecot.sieve
sieve_before = /var/lib/dovecot/sieve/spam-to-junk.sieve
}
- mkdir -p /var/lib/dovecot/sieve
- vi /var/lib/dovecot/sieve/spam-to-junk.sieve
require ["fileinto"];
if header :contains "X-Spam" "Yes" {
fileinto "Junk";
stop;
}
- sievec /var/lib/dovecot/sieve/spam-to-junk.sieve
- chown dovecot:dovecot /var/lib/dovecot/sieve/spam-to-junk.*
- chmod 644 /var/lib/dovecot/sieve/spam-to-junk.*
- systemctl restart dovecot
Schritt 6: ECHTER Test
- Mail mit
- Subject
- viagra
- Body
- viagra
- Erwartung
- Mail wird angenommen
- Mail ist NICHT gebounced
- Mail liegt in
- ~/Maildir/.Junk/cur/
Schritt 7: Kontrolle
- ls /home/thomas.will/Maildir/.Junk/cur/