Dans le tutoriel suivant, nous allons couvrir la procédure d'installation et intégration de SpamAssassin avec Exim sur un VPS Linux CentOS 7 . Une fois la configuration terminée, SpamAssassin pourra analyser et marquer les e-mails détectés comme SPAM.
Qu'est-ce que SpamAssassin ?
Il s'agit d'un logiciel publié sous la licence Apache 2.0 utilisé pour le filtrage des courriers indésirables sur la base de règles de correspondance de contenu. C'est un filtre de messagerie très intelligent qui utilise une gamme variée de tests pour identifier les e-mails en masse non sollicités et appliquer les tests aux en-têtes et au contenu des e-mails pour classer les e-mails à l'aide de méthodes statistiques avancées.
Avant d'aller plus loin, assurez-vous d'avoir un serveur de messagerie avec Exim configuration sur votre serveur virtuel SSD. Vous pouvez suivre notre excellent article sur la configuration d'un serveur de messagerie avec Exim et Dovecot sur un VPS CentOS 7 si vous n'avez pas déjà configuré Exim sur votre VPS Linux.
MISE À JOUR DU SYSTÈME
ssh
à votre serveur et lancer un screen
session en utilisant la commande ci-dessous :
## screen -U -S exim-spamd
une fois que vous êtes dans un screen
session, mettez à jour votre VPS CentOS 7 en utilisant yum
comme dans :
## yum update
INSTALLER SPAMASSASSIN
SpamAssassin est disponible dans CentOS 7 base
référentiel, afin que vous puissiez facilement l'installer en utilisant yum
:
## yum install spamassassin
Une fois installé, modifiez /etc/mail/spamassassin/local.cf
à l'aide de votre éditeur préféré et définissez les éléments suivants :
## vim /etc/mail/spamassassin/local.cf required_hits 5 report_safe 0 rewrite_header Subject [SPAM] required_score 5.0
avec tout cela en place, lancez spamassassin et ajoutez-le au démarrage de votre système en utilisant systemctl
## systemctl start spamassassin ## systemctl status spamassassin ## systemctl enable spamassassin
mettre à jour les règles de spamassassin en utilisant :
## sa-update --nogpg
ensuite, vérifiez si spamassassin écoute sur localhost (127.0.0.1) sur le port 783 en utilisant ss
depuis iproute2
:
## ss -tnlp | grep spamd LISTEN 0 0 127.0.0.1:783 *:* users:(("spamd child",1207,5),("spamd child",1206,5),("/usr/bin/spamd ",1205,5))
CONFIGURER EXIM AVEC SPAMASSASSIN
OK, la prochaine chose à faire est de configurer Exim pour utiliser Spamassassin pour analyser et marquer les e-mails non sollicités comme SPAM. Alors, faites une sauvegarde de votre fichier de configuration Exim actuel en utilisant :
## cp /etc/exim/exim.conf{,.backup-no-spamd}
Ensuite, modifiez exim.conf
et ajoutez la ligne suivante au début du fichier :
## vim /etc/exim/exim.conf system_filter = /etc/exim/filters
Ensuite, ajoutez ou décommentez le spamd_address
ligne comme dans :
## vim /etc/exim/exim.conf spamd_address = 127.0.0.1 783
et ajoutez ce qui suit dans les ACLs
section dans votre fichier de configuration Exim :
## vim /etc/exim/exim.conf # Bypass SpamAssassin checks if the message is too large. # accept condition = ${if >={$message_size}{100000} {1}} add_header = X-Spam-Note: SpamAssassin run bypassed due to message size # Run SpamAssassin, but allow for it to fail or time out. Add a warning message # and accept the mail if that happens. Add an X-Spam-Flag: header if the SA # score exceeds the SA system threshold. # warn spam = nobody/defer_ok add_header = X-Spam-Flag: YES add_header = X-Spam-Subject: [SPAM] $h_Subject accept condition = ${if !def:spam_score_int {1}} add_header = X-Spam-Note: SpamAssassin invocation failed # Unconditionally add score and report headers # warn add_header = X-Spam-Score: $spam_score ($spam_bar)\n\ X-Spam-Report: $spam_report
Ensuite, créez les filtres système Exim suivants dans /etc/exim/filters
:
## vim /etc/exim/filters if $h_X-Spam-Flag: contains "YES" then headers add "Old-Subject: $h_subject" headers remove "Subject" headers add "Subject: [SPAM] $h_old-subject" headers remove "Old-Subject" endif
et redémarrez Exim pour que les modifications prennent effet en utilisant :
## systemctl restart exim ## systemctl status exim
TEST SPAMASSASSIN
Pour tester la configuration, envoyez simplement un e-mail de test avec le sujet XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
à n'importe quel compte de messagerie disponible sur le serveur de messagerie et vous devriez voir les lignes suivantes dans l'en-tête de l'e-mail :
X-Spam-Flag: YES X-Spam-Subject: [SPAM] XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X X-Spam-Score: 1000.0 (+++++++++++++++++++++++++++++++++++++++++++++++++++) X-Spam-Report: Spam detection software, running on the system "mail.mydomain.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: nov spam email [...] Content analysis details: (1000.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email
LAISSEZ-NOUS FAIRE CELA POUR VOUS ?
Bien sûr, vous n'avez rien à faire de tout cela si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts d'installer et d'intégrer SpamAssassin avec Exim . Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.