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_jour3 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_jourDans un autre répertoire, vous pouvez l’appeler comme ceci :
rules_du_jourBien sûr, vous pouvez toujours utiliser le chemin complet également :
/usr/local/sbin/rules_du_jour5 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
- SpamAssassin : http://spamassassin.apache.org
- RulesDuJour : http://sandgnat.com/rdj/rules_du_jour
- SpamAssassin Rules Emporium : http://www.rulesemporium.com
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.