Rspamd Keyword Filter

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Installation und Dienste starten

  • apt update
  • apt install rspamd redis-server dovecot-core dovecot-sieve
  • systemctl enable --now redis-server
  • systemctl enable --now rspamd

Passwort und Controller Konfiguration

Hinweis
rspamadm pw wird zur Hash-Erzeugung benötigt.
  • vi /etc/rspamd/override.d/worker-controller.inc
password = "$2$DEIN_HASH_HIER";
bind_socket = "*:11334";
  • systemctl restart rspamd

Postfix Integration

  • postconf -e "smtpd_milters=inet:127.0.0.1:11332"
  • postconf -e "non_smtpd_milters=inet:127.0.0.1:11332"
  • postfix reload

Bayes Statistik Konfiguration (KORRIGIERT: Fügt allow_learn hinzu)

  • vi /etc/rspamd/local.d/statistic.conf
statistic {
    backend = "redis";
    autolearn = true;
    min_tokens = 5;
    min_words = 5;
    expire = 90d;
    learn_condition = 'return true';
    ; KRITISCH: Behebt den Fehler "all learn conditions denied learning spam"
    allow_learn_spam = true;
    allow_learn_ham = true;
}
  • vi /etc/rspamd/local.d/redis.conf
redis {
    servers = "127.0.0.1:6379";
}
  • systemctl restart rspamd

Dovecot Sieve Pipe Funktionalität (KRITISCH)=

  • vi /etc/dovecot/conf.d/90-sieve.conf
plugin {
    sieve_global_extensions = +vnd.dovecot.pipe
    sieve_pipe_bin_dir = /usr/local/bin
}

IMAPSieve für das Lernen aktivieren

  • vi /etc/dovecot/conf.d/90-imapsieve.conf
plugin {
  imapsieve = yes
  sieve_plugins = sieve_imapsieve sieve_extprograms

  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox1_causes = COPY APPEND
  imapsieve_mailbox1_before = file:/var/lib/dovecot/sieve/report-spam.sieve

  imapsieve_mailbox2_name = *
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_causes = COPY APPEND
  imapsieve_mailbox2_before = file:/var/lib/dovecot/sieve/report-ham.sieve
}

Dovecot Plugins laden

  • vi /etc/dovecot/conf.d/20-imap.conf
mail_plugins = $mail_plugins imap_sieve imap_filter_sieve

Sieve Skripte anlegen

  • mkdir -p /var/lib/dovecot/sieve
  • vi /var/lib/dovecot/sieve/report-spam.sieve
require ["vnd.dovecot.pipe", "copy", "imapsieve"];
pipe "rspamd-learn-spam";
  • vi /var/lib/dovecot/sieve/report-ham.sieve
require ["vnd.dovecot.pipe", "copy", "imapsieve"];
pipe "rspamd-learn-ham";

Ausführbare Lernskripte (Binaries) (KORRIGIERT)=

  • vi /usr/local/bin/rspamd-learn-spam
#!/bin/sh
exec /usr/bin/rspamc -h 127.0.0.1:11334 learn_spam
  • vi /usr/local/bin/rspamd-learn-ham
#!/bin/sh
exec /usr/bin/rspamc -h 127.0.0.1:11334 learn_ham
  • chmod +x /usr/local/bin/rspamd-learn-*

Dovecot neu starten

  • rm /var/lib/dovecot/sieve/*.svbin
  • systemctl restart dovecot

Test: Hat Rspamd gelernt?

  • rspamc stat