SpamAssassin · 4 min read · Jan 29, 2026

Ajout et mise à jour des ensembles de règles SpamAssassin avec RulesDuJour

Ajout et mise à jour des ensembles de règles SpamAssassin avec RulesDuJour

Version 1.0
Auteur : Falko Timme

Cet article explique comment vous pouvez télécharger des ensembles de règles SpamAssassin supplémentaires, c’est-à-dire mettre à jour automatiquement ces ensembles de règles avec un script shell appelé RulesDuJour. Ces ensembles de règles supplémentaires peuvent augmenter considérablement votre taux de reconnaissance de spam. La plupart des ensembles de règles pris en charge par RulesDuJour peuvent être trouvés sur le site web SA Rules Emporium.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Je suppose que vous avez déjà configuré SpamAssassin (peu importe s’il s’agit d’un démon autonome ou appelé par un autre démon tel qu’amavisd - RulesDuJour prend en charge toutes ces configurations).

2 Téléchargement de RulesDuJour

Je voudrais stocker le script RulesDuJour dans le répertoire /usr/local/sbin, donc je vais là-bas et télécharge le script :

cd /usr/local/sbin  
wget http://sandgnat.com/rdj/rules_du_jour  
chmod 750 rules_du_jour

3 Configuration de RulesDuJour

Chaque fois que le script RulesDuJour est appelé, il essaie de lire le fichier de configuration /etc/rulesdujour/config. Nous créons donc ce fichier maintenant :

mkdir /etc/rulesdujour  
vi /etc/rulesdujour/config

| TRUSTED_RULESETS="TRIPWIRE SARE_EVILNUMBERS0 SARE_RANDOM"; # TRIPWIRE, SARE_EVILNUMBERS0, SARE_EVILNUMBERS1, SARE_EVILNUMBERS2, BLACKLIST, BLACKLIST_URI, RANDOMVAL, BOGUSVIRUS, SARE_ADULT, SARE_FRAUD, SARE_BML, SARE_SPOOF, SARE_BAYES_POISON_NXM, SARE_OEM, SARE_RANDOM, SARE_HEADER, SARE_HEADER0, SARE_HEADER1, SARE_HEADER2, SARE_HEADER3, SARE_HEADER_ENG, SARE_HTML, SARE_HTML0, SARE_HTML1, SARE_HTML2, SARE_HTML3, SARE_HTML4, SARE_HTML_ENG, SARE_SPECIFIC, SARE_OBFU, SARE_OBFU0, SARE_OBFU1, SARE_OBFU2, SARE_OBFU3, SARE_REDIRECT, SARE_REDIRECT_POST300, SARE_SPAMCOP_TOP200, SARE_GENLSUBJ, SARE_GENLSUBJ0, SARE_GENLSUBJ1, SARE_GENLSUBJ2, SARE_GENLSUBJ3, SARE_GENLSUBJ_ENG, SARE_HIGHRISK, SARE_UNSUB, SARE_URI, SARE_URI0, SARE_URI1, SARE_URI3, SARE_URI_ENG, SARE_WHITELIST, SARE_WHITELIST_RCVD, SARE_WHITELIST_SPF, ZMI_GERMAN, SARE_STOCKS SA_DIR="/etc/mail/spamassassin"; # Changez ceci pour votre répertoire de configuration local SA # probablement /etc/mail/spamassassin. # Pour amavisd chrooté, cela peut être : # /var/amavisd/etc/mail/spamassassin MAIL_ADDRESS="[email protected]"; SINGLE_EMAIL_ONLY="true"; # Réglez ceci sur "true" pour envoyer une seule notification # email par exécution de RDJ avec une activité "intéressante". # Réglez sur "" pour envoyer un email séparé # pour chaque activité intéressante. EMAIL_RDJ_UPDATE_ONLY=""; # Réglez ceci sur "true" pour envoyer des notifications uniquement # lorsque une mise à jour pour RDJ a été récupérée. Réglez # sur "" (par défaut) pour envoyer des notifications chaque fois qu'un ensemble de règles # a changé. (N'a aucun effet à moins que SINGLE_EMAIL_ONLY soit réglé) SA_LINT="/usr/bin/spamassassin --lint"; # Commande utilisée pour vérifier les règles SA_RESTART="/etc/init.d/amavisd restart"; # Commande utilisée pour redémarrer spamd # Peut être /etc/rc.d/init.d/spamassassin restart # Pour amavisd, cela peut être /etc/init.d/amavisd restart # Pour minedefang, cela peut être /etc/init.d/mimedefang restart CURL_PROG="/usr/bin/curl"; # Emplacement du programme curl CURL_OPTS="-w %{http_code} --compressed -O -R -s -S -z"; # Paramètres du programme curl CURL="${CURL_PROG} ${CURL_OPTS}"; # Programme Curl avec paramètres WGET_PROG="/usr/bin/wget"; # Emplacement du programme wget WGET_OPTS="-N" # Paramètres du programme wget WGET="${WGET_PROG} ${WGET_OPTS}"; # Programme Wget avec paramètres PERL="/usr/bin/perl"; # Emplacement du programme perl GREP="/bin/grep"; # Emplacement du programme grep TAIL="/usr/bin/tail -n 1"; # Emplacement (et paramètres) pour 'tail -n 1' HEAD="/usr/bin/head -n 1"; # Emplacement (et paramètres) pour 'head -n 1' MAILCMD="/bin/mail"; # Emplacement du programme mail # qui prend et comprend le drapeau -s # DEBUG="true"; # Décommentez ceci pour forcer le mode débogage (ou utilisez -D) |

La ligne TRUSTED_RULESETS contient tous les ensembles de règles que vous souhaitez utiliser (assurez-vous de les tester avant de les utiliser sur des systèmes de production !) ; j’ai listé tous les ensembles de règles disponibles dans un commentaire à la fin de la ligne.

La ligne SA_DIR doit contenir votre répertoire de configuration SpamAssassin ; généralement, c’est /etc/mail/spamassassin.

L’adresse MAIL_ADDRESS doit contenir une adresse email à laquelle vous souhaitez que RulesDuJour envoie des notifications concernant le processus de téléchargement/mise à jour.

Toutes les autres options sont expliquées (sous forme de commentaires) dans le script ci-dessus. La commande SA_RESTART doit être celle utilisée pour redémarrer SpamAssassin. Si vous exécutez SpamAssassin en tant que démon autonome, c’est probablement quelque chose comme /etc/init.d/spamassassin restart ou /etc/init.d/spamd restart ; si SpamAssassin est appelé par amavisd, vous devez spécifier la commande utilisée pour redémarrer amavisd (par exemple, /etc/init.d/amavisd restart).

Il est conseillé d’utiliser des chemins complets pour tous les programmes dans le script ci-dessus (par exemple, /usr/bin/spamassassin au lieu de spamassassin ou /usr/bin/curl au lieu de curl). Vous pouvez trouver le chemin complet de chaque programme avec which, par exemple.

which spamassassin  
which curl  
which wget  
which perl  
which grep  
which tail  
which head  
which mail
[root@server1 sbin]# which spamassassin  
/usr/bin/spamassassin  
[root@server1 sbin]# which curl  
/usr/bin/curl  
[root@server1 sbin]# which wget  
/usr/bin/wget  
[root@server1 sbin]# which perl  
/usr/bin/perl  
[root@server1 sbin]# which grep  
/bin/grep  
[root@server1 sbin]# which tail  
/usr/bin/tail  
[root@server1 sbin]# which head  
/usr/bin/head  
[root@server1 sbin]# which mail  
/bin/mail  
[root@server1 sbin]#

4 Exécution de RulesDuJour

Si vous êtes dans le répertoire /usr/local/sbin, vous pouvez exécuter RulesDuJour comme ceci :

./rules_du_jour

Dans un autre répertoire, vous pouvez l’appeler comme ceci :

rules_du_jour

Bien sûr, vous pouvez toujours utiliser le chemin complet également :

/usr/local/sbin/rules_du_jour

5 Création d’un job cron

Bien sûr, vous ne voulez pas exécuter RulesDuJour manuellement chaque fois ; par conséquent, nous configurons un job cron comme ceci :

crontab -e

| 0 3 * * * /usr/local/sbin/rules_du_jour 2&>1 > /dev/null |

Le job cron ci-dessus exécuterait RulesDuJour chaque nuit à 3h00.

6 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.