Afficher/cacher Sommaire
Rspamd
Ajout dovecot-antispam
apt install dovecot-antispam -y
Modifier /etc/dovecot/conf.d/90-plugin.conf
plugin {
antispam_backend = pipe
antispam_spam = Spam
antispam_trash = Trash
antispam_mail_sendmail = /usr/bin/rspamc
antispam_mail_spam = learn_spam
antispam_mail_notspam = learn_ham
}
Ajouter au fichier /etc/postfix/main.cf
## Rspamd
smtpd_milters = inet:localhost:11332, unix:/opendkim/opendkim.sock, unix:/opendmarc/opendmarc.sock, unix$
non_smtpd_milters = inet:localhost:11332, unix:/opendkim/opendkim.sock
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
## Fin Rspamd
Rspamd
Rspamd: un antispam performant
Les référentiels Debian officiels contiennent une version périmée de Rspamd, alors utilisez Rspamd-Repository pour l’installation à la place:
apt install -y lsb-release wget
wget -O- https://rspamd.com/apt-stable/gpg.key | apt-key add -
echo "deb http://rspamd.com/apt-stable/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/rspamd.list
echo "deb-src http://rspamd.com/apt-stable/ $(lsb_release -c -s) main" >> /etc/apt/sources.list.d/rspamd.list
Mettre à jour les sources de paquetage et installer Rspamd:
apt update
apt install rspamd
Arrêter le service Rspamd
systemctl stop rspamd
Configuration de base
Les fichiers sont créés dans le dossier /etc/rspamd/local.d/
/etc/rspamd/local.d/options.inc: Paramètres réseau et définition du résolveur DNS à utiliser.
local_addrs = "127.0.0.0/8, ::1";
dns {
nameserver = ["127.0.0.1:53:10"];
}
/etc/rspamd/local.d/worker-normal.inc: Paramètres pour le travailleur Rspamd normal
bind_socket = "localhost:11333";
### Anzahl der zu nutzenden Worker. Standard: Anzahl der virtuellen Prozessorkerne.
# count = 1
/etc/rspamd/local.d/worker-controller.inc: Paramètres du contrôleur de travail: mot de passe pour l’accès à l’interface Web, par exemple:
password = "$2$dhwof9y1ne51ykeypnam9ozs7kj35z37$a54pnrjkt5f9mznxuu3x9i8fudh7jtyqb7b7gao9bmxz55q547oy";
Le mot de passe hash (“$ 2 $ …”) doit être généré par 98gGBWwEZKvX password = “$2$3ypoj4k64nkpqy6fwubn7968x8umxrox$w6xc3kqu9u4oe18sz3gaku674bb9sbb45f6bt7wukqeydtegn97b”;
rspamadm pw
avant. Entrez un mot de passe que vous souhaitez définir , copiez le hash et collez-le dans le fichier de configuration ci-dessus (au lieu de mon exemple hash).
2018-03-06 15:06:28 #11706(rspamadm) cfg; rspamd_config_post_load: CPU doesn’t have SSSE3 instructions set required for hyperscan, disable it
/etc/rspamd/local.d/worker-proxy.inc: Worker proxy (Milter-Module for Postfix)
bind_socket = "localhost:11332";
milter = yes;
timeout = 120s;
upstream "local" {
default = yes;
self_scan = yes;
}
/etc/rspamd/local.d/logging.inc: Error logging
type = "file";
filename = "/var/log/rspamd/rspamd.log";
level = "error";
debug_modules = [];
Milter Headers /etc/rspamd/local.d/milter_headers.conf
use = ["x-spamd-bar", "x-spam-level", "authentication-results"];
authenticated_headers = ["authentication-results"];
Redis
Rspamd utilise Redis comme cache de données. L’installation est simple:
apt install redis-server
/etc/rspamd/local.d/redis.conf
servers = "127.0.0.1";
Redémarrez postfix er rspamd
systemctl restart postfix rspamd
Nginx Proxy pour interface web Rspamd (optionel)
Fichier /etc/nginx/conf.d/xoyize.xyz.d/rspamd.conf
location /rspamd/ {
proxy_pass http://localhost:11334/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Vérification
nginx -t
Relance
systemctl restart nginx
Signature DKIM
Rspamd gère non seulement le filtrage du courrier indésirable, mais aussi est capable de signer des e-mails via DKIM. Tout d’abord, une clé de signature doit être créée:
mkdir /var/lib/rspamd/dkim/
rspamadm dkim_keygen -b 2048 -s 2017 -k /var/lib/rspamd/dkim/2017.key > /var/lib/rspamd/dkim/2017.txt
chown -R _rspamd:_rspamd /var/lib/rspamd/dkim
chmod 440 /var/lib/rspamd/dkim/*
2017 est le nom de la clé DKIM (également appelée «sélecteur»). J’utilise l’année en cours comme un nom. Pour une clé de signature DKIM (/var/lib/rspamd/dkim/2017.key), il existe également une clé publique correspondante, qui doit être publiée dans le DNS. Un exemple d’enregistrement avec cette clé est donné dans /var/lib/rspamd/dkim/2017.txt
Enregistrement DNS avec clé publique:
2017._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx4/vHP6K1EsmhNzsoGVhhqcTqSis7GnvbQSVdsXoV12FqfV/+EwxfiAv22G6cjytrOjyZreizNbJBw8NOfW3vvX86ORdy/4ge0ueA0YtdUQIIlSyOi5pAIYHecUbXiB6L8INcqX3Or6VmYrtru/nYCvbtePleLLHgmUv3Q9k9mr/5aQtxVW6oZXkUEO5hrHNWPTjyF7DmY5p91Qzgv1UwlZ+FuLrfqj0QXmLlKCy8wL6s5EQdKZuNBDDLe8cjjNVnKEn33/rpNdBocYNQEupO5eGfBaNRzAtF8UaLJmHCNbaoXIN0glnIu4wmZaDr7T0TBG7I79oPzZl2JJRbdMr/QIDAQAB"
) ;
La partie importante commence par v = DKIM1 et se termine par AQAB (dans cet exemple). Maintenant, placez cette partie de la sortie dans un nouvel enregistrement DNS.
Créez /etc/rspamd/local.d/dkim_signing.conf et définissez “2017” comme sélecteur:
path = "/var/lib/rspamd/dkim/$selector.key";
selector = "2017";
#### Enable DKIM signing for alias sender addresses
allow_username_mismatch = true;
Cette configuration est également copiée dans /etc/rspamd/local.d/arc.conf, puisque le module ARC utilise les mêmes paramètres.
cp -R /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf
Définir l’enregistrement ADSP (facultatif)
Un dossier DNS ADSP définit, si les e-mails d’un certain serveur de messagerie doivent être signés DKIM ou si les signatures sont facultatives. Je recommande les signatures DKIm obligatoires. D’autres serveurs de messagerie peuvent alors être sûrs qu’un e-mail est un spam, s’il n’a pas de signature valide.
Définissez cet enregistrement pour votre domaine principal de messagerie:
_adsp._domainkey.mysystems.tld. 3600 IN TXT dkim=all
Zonefiles pour les deux autres domaines est étendu par l’enregistrement CNAME, qui fait référence à l’enregistrement ADSP du domaine principal, par exemple:
_adsp._domainkey.domain2.tld. 3600 IN CNAME _adsp._domainkey.xinyiczen.xyz.