Rspamd (Ubuntu 18.04): Unterschied zwischen den Versionen
(→Apache) |
|||
Zeile 338: | Zeile 338: | ||
bearbeiten und im Abschnitt ''plugin'' (am Ende) folgende Konfigurationen hinzufügen: | bearbeiten und im Abschnitt ''plugin'' (am Ende) folgende Konfigurationen hinzufügen: | ||
==== Speicherort lokal ==== | |||
<pre> | <pre> | ||
Zeile 355: | Zeile 357: | ||
imapsieve_mailbox2_causes = COPY | imapsieve_mailbox2_causes = COPY | ||
imapsieve_mailbox2_before = file:/var/vmail/sieve/global/report-ham.sieve | imapsieve_mailbox2_before = file:/var/vmail/sieve/global/report-ham.sieve | ||
sieve_pipe_bin_dir = /usr/bin | |||
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment | |||
} | |||
</pre> | |||
==== Speicherort NAS ==== | |||
<pre> | |||
plugin { | |||
sieve_plugins = sieve_imapsieve sieve_extprograms | |||
### Spam learning ### | |||
# From elsewhere to Spam folder | |||
imapsieve_mailbox1_name = Spam | |||
imapsieve_mailbox1_causes = COPY | |||
imapsieve_mailbox1_before = file:/mnt/synology/mail/maildir/vmail/sieve/global/report-spam.sieve | |||
# From Spam folder to elsewhere | |||
imapsieve_mailbox2_name = * | |||
imapsieve_mailbox2_from = Spam | |||
imapsieve_mailbox2_causes = COPY | |||
imapsieve_mailbox2_before = file:/mnt/synology/mail/maildir/vmail/sieve/global/report-ham.sieve | |||
sieve_pipe_bin_dir = /usr/bin | sieve_pipe_bin_dir = /usr/bin |
Version vom 5. Juli 2020, 13:46 Uhr
Noch in Bearbeitung
Voraussetzungen
- Redis-Server muss installiert sein (keine weitere Konfiguration notwendig).
Installation
sudo su apt-get install -y lsb-release wget # optional CODENAME=`lsb_release -c -s` wget -O- https://rspamd.com/apt-stable/gpg.key | apt-key add - echo "deb [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" > /etc/apt/sources.list.d/rspamd.list echo "deb-src [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" >> /etc/apt/sources.list.d/rspamd.list apt-get update apt-get --no-install-recommends install rspamd exit
Links
https://rspamd.com/downloads.html
Konfiguration
Den Dämon stoppen:
sudo service rspamd stop
/etc/rspamd/local.d/options.inc
Die Datei
sudo vi /etc/rspamd/local.d/options.inc
für globale Netzwerkkonfigurationen anlegen und mit folgenden Inhalt befüllen:
local_addrs = "127.0.0.0/8, ::1"; dns { nameserver = ["10.0.0.100:53:10"]; }
Es können auch mehrere Mailserver mit Gewichtung angegeben werden. Muster: <ip address>:<port>:<weight>
Links
https://rspamd.com/doc/configuration/options.html
/etc/rspamd/local.d/worker-normal.inc
Die Datei
sudo vi /etc/rspamd/local.d/worker-normal.inc
für Konfiguration des normal worker anlegen und mit folgenden Inhalt befüllen:
bind_socket = "localhost:11333";
Links
https://rspamd.com/doc/workers/
/etc/rspamd/local.d/worker-controller.inc
Die Datei
sudo vi /etc/rspamd/local.d/worker-controller.inc
für Controller-Einstellungen anlegen und mit folgenden Inhalt befüllen:
password = "<password for web-interface>";
Das Passwort wird mittels dem Kommando
rspamadm pw
generiert.
Links
https://rspamd.com/doc/workers/
/etc/rspamd/local.d/worker-proxy.inc
Die Datei
sudo vi /etc/rspamd/local.d/worker-proxy.inc
für Konfiguration des proxy worker anlegen (zuständig für Milter) und mit folgenden Inhalt befüllen:
bind_socket = "localhost:11332"; milter = yes; timeout = 120s; upstream "local" { default = yes; self_scan = yes; }
Links
https://rspamd.com/doc/workers/rspamd_proxy.html
/etc/rspamd/local.d/logging.inc
Die Datei
sudo vi /etc/rspamd/local.d/logging.inc
für Logging-Einstellungen anlegen und mit folgenden Inhalt befüllen:
type = "file"; filename = "/var/log/rspamd/rspamd.log"; level = "error"; debug_modules = [];
Links
https://rspamd.com/doc/configuration/logging.html
/etc/rspamd/local.d/milter_headers.conf
Die Datei
sudo vi /etc/rspamd/local.d/milter_headers.conf
für Milter-Headers-Einstellungen anlegen und mit folgenden Inhalt befüllen:
use = ["x-spamd-bar", "x-spam-level", "authentication-results"]; authenticated_headers = ["authentication-results"];
Links
https://rspamd.com/doc/modules/milter_headers.html
/etc/rspamd/local.d/classifier-bayes.conf
Die Datei
sudo vi /etc/rspamd/local.d/classifier-bayes.conf
für Statistik- bzw. Caching-Einstellungen anlegen und mit folgenden Inhalt befüllen:
## Redis als Backend definieren ## servers = "127.0.0.1"; backend = "redis";
Links
https://rspamd.com/doc/quickstart.html
/etc/rspamd/local.d/redis.conf
Die Datei
sudo vi /etc/rspamd/local.d/redis.conf
für Redis-Einstellungen anlegen und mit folgenden Inhalt befüllen:
servers = "127.0.0.1";
Links
https://rspamd.com/doc/configuration/redis.html
DKIM Signing
Erstellen des privaten (2020.key
) Schlüssels und des öffentlichen DNS-TXT (2020.txt
) Eintrages:
sudo -i mkdir /var/lib/rspamd/dkim/ rspamadm dkim_keygen -b 2048 -s '2020' -k /var/lib/rspamd/dkim/2020.key > /var/lib/rspamd/dkim/2020.txt chown -R _rspamd:_rspamd /var/lib/rspamd/dkim chmod 440 /var/lib/rspamd/dkim/* exit
Der Parameter -s
ist ein Selektor, welcher in der DNS-TXT-Datei (Auschnitt aus der Datei 2020.txt: 2020._domainkey IN TXT
) verwendet wird.
Dieser Selektor is frei wählbar - hier wurde die Jahreszahl der Erstellung gewählt.
Diesen Schlüssel in die Datei
sudo vi /etc/rspamd/local.d/dkim_signing.conf
eintragen:
path = "/var/lib/rspamd/dkim/$selector.key"; selector = "2020"; ### Enable DKIM signing for alias sender addresses allow_username_mismatch = true;
Im Anschluss diese Konfiguration auch noch für das ARC-Modul kopieren:
sudo cp /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf
Noch in Bearbeitung - TXT-Record in die Domäne eintragen
Links
https://rspamd.com/doc/modules/dkim_signing.html
https://rspamd.com/doc/modules/arc.html
https://www.heise.de/ct/artikel/E-Mails-signieren-mit-DKIM-221505.html?seite=all
Apache
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod rewrite
sudo systemctl restart apache2.service
cd /etc/apache2/sites-available sudo vi rspamd1.conf
<VirtualHost *:80> ServerName rspamd1.kirner.or.at ServerPath / DocumentRoot /var/www DirectoryIndex index.html RewriteEngine on RewriteRule ^/rspamd$ /rspamd/ [R] ProxyPreserveHost On ProxyPass /rspamd http://localhost:11334/ ProxyPassReverse /rspamd http://localhost:11334/ </VirtualHost>
<VirtualHost *:80> ServerName rspamd1.kirner.or.at DocumentRoot /var/www ProxyVia On ProxyRequests Off <Location "/"> ProxyPass http://localhost:11334/ ProxyPassReverse http://localhost:11334/ Order allow,deny Allow from all </Location> </VirtualHost>
sudo a2ensite rspamd1.conf sudo systemctl reload apache2.service
Postfix
/etc/postfix/main.cf
Die Datei
sudo vi /etc/postfix/main.cf
bearbeiten und am Ende folgende Konfigurationen hinzufügen:
## Spamfilter und DKIM-Signaturen via Rspamd ## smtpd_milters = inet:localhost:11332 non_smtpd_milters = inet:localhost:11332 milter_protocol = 6 milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen} milter_default_action = accept
Dovecot
dovecot.conf
Die Datei
sudo vi /etc/dovecot/dovecot.conf
bearbeiten und im Abschnitt plugin (am Ende) folgende Konfigurationen hinzufügen:
Speicherort lokal
plugin { sieve_plugins = sieve_imapsieve sieve_extprograms ### Spam learning ### # From elsewhere to Spam folder imapsieve_mailbox1_name = Spam imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_before = file:/var/vmail/sieve/global/report-spam.sieve # From Spam folder to elsewhere imapsieve_mailbox2_name = * imapsieve_mailbox2_from = Spam imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_before = file:/var/vmail/sieve/global/report-ham.sieve sieve_pipe_bin_dir = /usr/bin sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment }
Speicherort NAS
plugin { sieve_plugins = sieve_imapsieve sieve_extprograms ### Spam learning ### # From elsewhere to Spam folder imapsieve_mailbox1_name = Spam imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_before = file:/mnt/synology/mail/maildir/vmail/sieve/global/report-spam.sieve # From Spam folder to elsewhere imapsieve_mailbox2_name = * imapsieve_mailbox2_from = Spam imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_before = file:/mnt/synology/mail/maildir/vmail/sieve/global/report-ham.sieve sieve_pipe_bin_dir = /usr/bin sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment }
TODO: Move to 90-sieve.conf and 90-sieve-extprograms.conf
Links
https://wiki2.dovecot.org/HowTo/AntispamWithSieve
Sieve-Filterscripts
sudo -u vmail vi /var/vmail/sieve/learn-spam.sieve
require ["vnd.dovecot.pipe", "copy", "imapsieve"]; pipe :copy "rspamc" ["learn_spam"];
sudo -u vmail vi /var/vmail/sieve/learn-ham.sieve
require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"]; if environment :matches "imap.mailbox" "*" { set "mailbox" "${1}"; } if string "${mailbox}" "Trash" { stop; } pipe :copy "rspamc" ["learn_ham"];
Testen
Einfach eine Mail mit dem Inhalt
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
an den eigenen Account schicken.
Links
https://de.wikipedia.org/wiki/GTUBE
Links
https://rspamd.com/doc/quickstart.html
https://www.syn-flut.de/rspamd-das-bessere-spamassassin
https://thomas-leister.de/mailserver-debian-stretch/
https://help.united-domains.de/faq-article/was-ist-ein-dkim-eintrag
Zurück zu Spamfilter