Ajouter SpamAssassin à son installation Bluemind
Je suppose ici que vous avez un Bluemind installé.
L’éditeur français de l’outil de groupware Bluemind a fait le choix de ne pas intégrer de briques logicielles pour la partie antispam / antivirus comme expliqué dès 2012 sur leur forum. Je cite : “Nous conseillons dans ce cas d’avoir un relai offrant ces services en amont”.
Pour un usage non professionnel, la question de la faisabilité technique d’ajouter un antispam se pose rapidement si vous utilisez un peu vos mails 🙂
Il est assez simple sur une installation de Bluemind sur Debian d’ajouter SpamAssassin et résoudre en majorité le sujet du spam.
Rappel technique : Bluemind se base sur Postfix et Cyrus
Voici les étapes techniques :
- Installer spamassassin et le client pour le démon spamassassin
apt install spamassassin spamc
- Éditer /etc/spamassassin/local.cf :
L’idée est d’y définir les éventuelles IPs “trusted” (trusted_networks) et de configurer SpamAssassin pour réécrire le sujet des emails détectés en SPAM en ajoutant un tag [SPAM NOTE] où la NOTE est la NOTE du mail analysé vis à vis de son risque d’être un spam. On définit aussi la NOTE tueuse (required_score) à partir de laquelle un mail est considéré comme spam.
cat /etc/spamassassin/local.cf | grep -v “#”
rewrite_header Subject [SPAM _SCORE_]
score ALL_TRUSTED -5
required_score 5.0
use_bayes 1
bayes_auto_learn 1
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
bayes_path /var/spool/spamassassin/bayes
bayes_file_mode 0755
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
shortcircuit ALL_TRUSTED on
shortcircuit BAYES_99 spam
shortcircuit BAYES_00 ham
- On configure de base le service Spamassassin dans /etc/default/spamassassin . Il faut veiller à ce que les répertoires /root/.spamassassin/ et /var/log/spamassassin/ existent.
cat /etc/default/spamassassin | grep -v “#”
ENABLED=1
OPTIONS="--create-prefs --max-children 5 -H /var/log/spamassassin -s /var/log/spamassassin/spamd.log"
PIDFILE="/var/run/spamd.pid"
NICE="--nicelevel 15"
CRON=1
- Vous pouvez démarrer ou redémarrer le service spamassassin
service spamassassin restart
- Maintenant il suffit de configurer Postfix pour qu’il fasse passer ses mails par SpamAssassin.
Pour cela il faut éditer /etc/postfix/master.cf :- ajouter le filtre spamassassin sur le smtp service
et - ajouter le service spamassassin
- ajouter le filtre spamassassin sur le smtp service
smtp inet n – n – – smtpd
-o content_filter=spamassassin
spamassassin unix - n n - - pipe
user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Et voilà, un redémarrage du service Postfix (service postfix restart
) et vous devriez voir apparaître dans vos entêtes mails reçu un X-Spam-Checker-Version et des occurences de spamd dans /var/log/mail.log.
Il ne vous restera plus qu’à créer des filtres via l’interface d’administration de Bluemind (ou des filtres plus bas niveau) pour déplacer ou supprimer les mails identifiés comme Spam par SpamAssassin.
Pour aller plus loin en terme d’antispam, il y a de nombreuses choses possibles à faire que je ne vais pas traiter ici:
– Améliorer SpamAssassin pour qu’il apprenne des dossier de spam de Bluemind en créant ou éditant /etc/spamassassin/sa-learn-cyrus.conf et en entraînant ensuite SpamAssassin sur vos dossiers de Spam.
– Mettre en place SPF, DMARC voire DKIM sur vos domaines
– Ajouter aussi une partie antivirus
– Ajouter pour certains domaines du greylisting avec PostGrey
À noter que vous pouvez aussi créer et filtrer les mails avec Postfix pour rejeter les cas de softfail en SPF (Sender Policy Framework), ou dont l’IP n’a pas de reverse DNS valide ou en ajoutant la prise en compte de une ou plusieurs Realtime Blackhole List (RBL)