SpamAssassin

 

SpamAssassin

Stéphane RAULT -

Version 0.2 - 24 Octobre 2005


Rédiger une documentation est toujours un travail long et difficile. Vous trouverez sans aucun doute des fautes d'orthographes et peut être même techniques, n'hésitez surtout pas à me les signaler.

Les critiques, suggestions et remerciements sont les bienvenues.

Cette documentation peut être reproduite entièrement ou partiellement mais je vous demanderais juste de me le signaler en m'envoyant un message.


Table des matières

Introduction

Ce document décrit la configuration de SpamAssassin et des ses outils.

Avec la bonne configuration et un suivi rigoureux, SpamAssassin accompagné des extensions utilisés, peut arrêter 99% des spam.

Pour le téléchargement de SpamAssassin et pour plus de documentation, allez sur http://spamassassin.apache.org


Faux positifs :

On appelle "Faux Positifs", les courriers qui auront été considérés comme SPAM alors qu'ils n'en étaient pas.

Les faux positifs sont plus important que les faux négatifs car cela signifie qu'un courrier légitime ne sera pas délivré à son destinataire. Sur un volume important de courrier, il est tout à fait probable que personne ne s'en aperçoive car en règle général ont n'envoie pas de notification au destinataire et ont évite de le faire pour les expéditeurs qui ont pour la pluspart une fausse adresse Email.

Le critère principal qui donnera plus ou moins de faux positifs est le paramètre required_score.

Des statistiques sont fournies avec les fichiers sources, elles permettent de déterminer les probalités de "faux positifs" en fonction de la valeur donnée au paramètre "required_score" qui en standart est à 5.

Remarque : Les abonnements aux listes de diffusion génèrent facilement des faux positifs, il faut rapidement les identifier et les ajouter aux listes blanches de SpamAssassin (white-list).


Faux négatifs

On appelle "Faux Négatifs", les courriers qui n'auront pas été considérés comme SPAM alors qu'ils en étaient.

Les "faux négatifs" seront utiles pour améliorer l'efficacité du contrôle anti-spam mais encore faux t'il les identifier et savoir les utiliser à bon escient.

C'est à ce stade qu'interviennent les phases d'apprentissages


Méthodes

Il existe plusieurs façon de traiter les spam. La méthode exposée dans ce document, en est une parmit d'autres. La méthode de traitement des spam doit de toute façon suivre l'évolution des pratiques de spammers.

Méthode dépendant des utilisateurs :

Laisser l'utilisateur le choix de qualifier si un des messages reçus est un spam à travers des outils mis à sa disposition.

Dans le cas d'un système de messagerie compatible IMAP, l'utilisateur peut classer les spam dans un dossier dédié de façon à ce qu'un programme de récupération, télécharge et analyse ces messages pour enrichir la connaissance du système anti-spam.

Il faut se méfier des conséquences de ce mode opératoire :

  • L'utilisateur va passer du temps à gérer des règles de filtrages.
  • Il risque de définir comme spam, des messages correspondants à des abonnements (mailing-list) que d'autres utilisent.
  • Cette méthode ne pourra être mise en oeuvre qu'au travers d'un client de messagerie modulable car des développements supplémentaires sont souvent nécessaires.

Méthode automatique sans intervention des utilisateurs :

L'automatisation consiste à mettre en place des filtres au niveau du serveur SMTP chargé de recevoir et d'envoyer les mails Internet. Les risques de faux-positif sont nombreux et le système anti-spam ne pourra être efficace sans la mise en oeuvre des phases d'apprentissage, chaque entreprise étant la cible de spam dont le contenu diffère.

Méthode mixte :

Dans cette méthode, l'utilisateur n'est solicité que pour l'apprentissage du système anti-spam.

  • L'utilisateur place les messages non désirés, dans un dossier "SPAM" ou "POURIEL" de son client de messagerie.
  • Un programme (client imap fetchmail) situé sur le serveur d'analyse, télécharge ces messages et les places dans un dossier ou une boite aux lettres locale, accessible par le système anti-spam.
  • Un administrateur se charge à travers une lecture rapide des messages de définir ceux qui seront considérés comme spam par le logiciel d'apprentissage.
  • Le logiciel d'apprentissage est lancé à intervale régulières ou en mode manuel par l'administrateur.

Tracabilité :

Parce-que le risque de message perdus est toujours possible, il faut veiller à tracer toutes les opérations concernant le système anti-spam. Pour éviter les appels récurrents des utilisateurs qui cherchent un message qu'il aurait dût recevoir, il est possible de mettre en place des procédures d'informations automatique qui peuvent les rassurer autant que les informer.

Exemple : Chaque jour, un programme automatisé, peut envoyer ou publier un rapport pour chaque utilisateur. Ce rapport contiendra une tableau des messages qui leurs étaient destinés et qui ont étés interceptés par le système anti-spam. Les trois champs par ligne nécessaires dans ce rapport sont : L'email de l'expéditeur, la date/heure, le sujet du message.

Pour améliorer ce système de reporting, il est possible d'ajouter une quatrième colonne contenant un lien (intranet) pointant vers le message archivé. Ces archives serait disponibles pendant une durée à définir. L'application intranet pourra permettre également à l'utilisateur de signaler que ce message ne doit pas être arrêté, il suffit d'un bouton dans le formulaire d'affichage du message archivé.

L'archivage et l'analyse des logs est essentiel pour assurer la traçabilité des messages.

Les serveurs SMTP comme postfix permettent également de stocker un exemplaire de chaque mail, avant traitement, sans perte d'information.


Razor :

Vipul's Razor est le pendant Open Source de Cloudmark, à l'attention des utilisateur de Linux et autres systèmes Unix. Il s'agit de la partie "libre" du réseau SpamNet, c'est-à-dire d'une interface Unix qui se connecte au réseau SpamNet pour bénéficier de son travail collaboratif et y participer.

Répertoires et fichiers de SpamAssassin

Remarque : la liste et l'emplacement des fichiers peut varier en fonction du mode d'installation (binaire ou source)

/etc/rc.d/init.d/spamassassin Script System V pour le lancement de SpamAssassin en mode Deamon (spamd)
/usr/lib/perl5/site_perl/5.x.x/Mail/SpamAssassin Modules Perl
/usr/bin/sa-learn Utilitaire d'administration pour les phases d'apprentissages et la gestion de la base de données Bayes
/usr/bin/spamassassin Détection de spam en ligne de commande et gestion des listes blanches et noires
/usr/bin/spamc Détection en ligne client/serveur (spamd)
/usr/bin/spamd Serveur SpamAssassin
/etc/mail/spamassassin Répertoire de configuration "Site"
/etc/mail/spamassassin/local.cf Fichier de configuration principal
/usr/share/spamassassin Répertoire de configuration "Distribuée"
/usr/share/spamassassin/10_misc.cf Configuration de base des paramètres et des notifications
/usr/share/spamassassin/20_anti_ratware.cf Fichier d'exemple pour configurer des règles basés sur les clients de messagerie réputés "fiable"
/usr/share/spamassassin/20_body_tests.cf Règles appliqués sur le contenu des messages (champs BODY)
/usr/share/spamassassin/20_compensate.cf Règles de compensation pour les faux positifs
/usr/share/spamassassin/20_dnsbl_tests.cf Règles pour l'interrogation de RBL
/usr/share/spamassassin/20_fake_helo_tests.cf Règles basés sur le champs "HELO"
/usr/share/spamassassin/20_head_tests.cf Règles basés sur les entêtes de messages (Subject, From, To, etc...)
/usr/share/spamassassin/20_html_tests.cf Règles sur les mails au format HTML
/usr/share/spamassassin/20_meta_tests.cf ?
/usr/share/spamassassin/20_phrases.cf Règles sur les messages publicitaires
/usr/share/spamassassin/20_porn.cf Règles sur les messages à caractères pornographiques
/usr/share/spamassassin/20_ratware.cf Fichier d'exemple pour configurer des règles basés sur les clients de messagerie réputés "non-fiable"
/usr/share/spamassassin/20_uri_tests.cf Règles sur les liens Internet insérés dans les messages
/usr/share/spamassassin/23_bayes.cf Règles sur les traitement Bayes
/usr/share/spamassassin/25_body_tests_es.cf Règles spécifiques de "BODY" pour les messages Espagnol
/usr/share/spamassassin/25_body_tests_pl.cf Règles spécifiques de "BODY" pour les messages Polonais
/usr/share/spamassassin/25_head_tests_es.cf Règles spécifiques de "HEADER" pour les messages Espagnol
/usr/share/spamassassin/25_head_tests_pl.cf Règles spécifiques de "HEADER" pour les messages Polonais
/usr/share/spamassassin/30_text_de.cf Traduction Allemande des descripteurs de règles
/usr/share/spamassassin/30_text_es.cf Traduction Espagnole des descripteurs de règles
/usr/share/spamassassin/30_text_fr.cf Traduction Française des descripteurs de règles
/usr/share/spamassassin/30_text_it.cf Traduction Italienne des descripteurs de règles
/usr/share/spamassassin/30_text_pl.cf Traduction Polonaise des descripteurs de règles
/usr/share/spamassassin/30_text_sk.cf Traduction Slovak des descripteurs de règles
/usr/share/spamassassin/50_scores.cf Contient les scores pour chaque règles
/usr/share/spamassassin/60_whitelist.cf Listes blanches contenant des sites de bonne réputation concernant les Spam
/usr/share/spamassassin/languages Fichier au format "data" ?
/usr/share/spamassassin/triplets.txt Fichier contenant des mots de trois lettres ?
/usr/share/spamassassin/user_prefs.template Modèle de fichier de préférence utilisateur
/usr/share/doc/spamassassin-2.60/sample-nonspam.txt Message NON-SPAM (HAM) d'exemple
/usr/share/doc/spamassassin-2.60/sample-spam.txt Message SPAM d'exemple

Commandes et daemon SpamAssassin

Commande spamassassin :

Cette commande permet d'effectuer une analyse de message en ligne de commande et de gérer les listes blanches et noires

# Syntaxe : 

spamassassin [options] < mailmessage > output 

spamassassin -d < mailmessage >  

spamassassin -r [-w addr] < mailmessage 

spamassassin -k [-w addr] < mailmessage 

spamassassin -W|-R < mailmessage

# Options : 

-P, --pipe                                      : OBSOLETE

-L, --local                                     : Test local seulement (pas de razor, rbl, etc...)

-r, --report                                    : Rapporte ce message comme Spam

-k, --revoke                                    : Annule la définition de ce message comme Spam

-w addr, --warning-from=addr                    : Envoi une notification Warning à l'expéditeur

-d, --remove-markup                             : Supprime le rapport de Spam du message

-C path, --configpath=path, --config-file=path  : Chemin du répertoire de configuration distribué 
                                                  Ex : /usr/share/spamassassin

--siteconfigpath=path                           : Chemin du répertoire de configuration "site" 
                                                  Ex : /etc/mail/spamassassin

-p prefs, --prefspath=file, --prefs-file=file   : Chemin du fichier de préférence utilisateur
                                                  Ex : ~/.spamassassin/user_prefs

-x, --nocreate-prefs                            : Ne pas créer le fichier de préférence utilisateur

-e, --exit-code                                 : Renvoi un autre code que zéro si le message est un Spam

-l filename, --log-to-mbox=file                 : Log le(s) messages dans un fichier au format Mbox

-t, --test-mode                                 : Pipe message through and add extra report to the bottom

--lint                                          : Lint the rule set: report syntax errors

-a, --auto-whitelist                            : Utilise la fonction de liste blanche automatique

-W, --add-to-whitelist                          : Ajoute toutes les adresses dans la liste blanche

--add-to-blacklist                              : Ajoute toutes les adresses dans la liste noire

-R, --remove-from-whitelist                     : Enlève de la whitelist tous les email trouvés dans le message 

--add-addr-to-whitelist=addr                    : Ajoute l'adresse "addr" dans la liste blanche

--add-addr-to-blacklist=addr                    : Ajoute l'adresse "addr" dans la liste noire

--remove-addr-from-whitelist=addr               : Supprime l'adresse "addr" de la whitelist

-M, --whitelist-factory                         : Select whitelist factory

-D, --debug [area=n,...]                        : Affiche message de debuggage 
                                                  Ex : spamassassin -D rulesrun=255

-V, --version                                   : Affiche la version de SpamAssassin

-h, --help                                      : Affiche l'aide de la commande

Remarque : Après la première utilisation de la commande spamassassin vous trouverez un répertoire ".spamassassin" dans votre répertoire utilisateur.

Exemples :

spamassassin < fichier.spam > rapport.txt

spamassassin --add-addr-to-whitelist=stephane.rault@espace-groupware.com

spamassassin --add-addr-to-blacklist=spammer@spam.com

spamassassin --remove-addr-from-whitelist stephane.rault@espace-groupware.com

Daemon spamd :

La daemon Spamd, permet d'éviter le chargement des modules perl à chaque analyse comme le fait la commande spamassassin.

Ce daemon est utilisable à travers la commande "spamc"


Commande spamc :

spamc est la version client/serveur de la commande spamassassin


Commande sa-learn :

# Syntaxe : 

sa-learn [options] [file]...

sa-learn [options] --dump [ all | data | magic ]

# Options : 

--ham                                           : Apprentissage d'un Ham (non-spam)

--spam                                          : Apprentissage d'un Spam

--forget                                        : Annulation d'un message déja analysé par Bayes

--rebuild                                       : Reconstruit la base Bayes si nécessaire

--no-rebuild                                    : Empêche la reconstruction de la base

--force-expire                                  : Force an expiry run, rebuild every time

--dump [all|data|magic]                         : Interroge la base Bayes (all ou data ou magic)

--dbpath /var/amavis/.spamassassin/bayes        : Chemin de la base Bayes. 
                                                  Même format que le parametre bayes_path

--regexp re                                     : Définit un critère de recherche pour l'option --dump data

-f file, --folders=file                         : Lit la liste des fichiers et répertoire à analyser 
                                                  à partir d'un fichier

--dir                                           : Option inutilisé

--file                                          : Option inutilisé

--mbox                                          : Précise que la source analysé est au format Mbox

--showdots                                      : Affiche la progression pendant l'analyse

-L, --local                                     : Test local seulement (pas de razor, rbl, etc...)

--import                                        : Importe une base Bayes d'un ancien format

-C path, --configpath=path, --config-file=path  : Chemin du répertoire de configuration distribué
                                                  Ex : /usr/share/spamassassin

--siteconfigpath=path                           : Chemin du répertoire de configuration "site" 
                                                  Ex : /etc/mail/spamassassin

-p prefs, --prefspath=file, --prefs-file=file   : Chemin du fichier de préférence utilisateur
                                                  Ex : ~/.spamassassin/user_prefs

-D, --debug-level                               : Affiche message de debuggage 
                                                  Ex : spamassassin -D rulesrun=255

-V, --version                                   : Affiche la version de SpamAssassin

-h, --help                                      : Affiche l'aide de la commande

Exemples :

# sa-learn sans paramètre utilise les valeurs du fichier local.cf

# Apprentissage de tous les messages de la boite aux lettres locale "spam" :
[root@linux /]$ sa-learn --spam --mbox /var/spool/mail/spam

# Apprentissage du message "mailmessage" comme "ham" sans reconstruction de la base :
[root@linux /]$ cat mailmessage | sa-learn --ham --no-rebuild

# Apprentissage du message "msg1.txt" comme "spam" avec affichage de la progression, sans tests réseaux :
[root@linux /]$ cat msg1.txt | sa-learn --spam --showdots --local

# Affichage de toutes les statistiques de la base Bayes en mode debug :
[root@linux /]$ sa-learn --dump all --dbpath /var/amavis/.spamassassin/bayes -D

# Affichage des compteurs de la base Bayes :
[root@linux /]$ sa-learn --dump magic --dbpath /var/amavis/.spamassassin/bayes

# Affichage des statistiques de données de la base Bayes :
[root@linux /]$ sa-learn --dump data

# Vide le fichier journal et met à jour la base Bayes :
[root@linux /]$ sa-learn --rebuild

# Reconstruction de la base Bayes :
[root@linux /]$ sa-learn --rebuild

# Pour traiter une liste de fichier, mettre la liste dans un fichier unique et utiliser le "-f" pour préciser 
# à sa-learn ou il trouvera la liste des fichiers à analyser :
[root@linux /]$ find /var/test/spam -type f > /var/test/list-spam.txt
[root@linux /]$ sa-learn --spam --no-rebuild --showdots --local -f /var/test/list-spam.txt

Paramètres de configuration

Introduction

Remarque : Les paramètres comme la documentation correspondent à la version 2.63 de SpamAssassin

SpamAssassin répartis ses paramètres de configuration dans trois emplacements principaux :

  • /etc/mail/spamassassin/local.cf
  • /usr/share/spamassassin/*.cf
  • ~/user_prefs

Remarque : Les emplacements peuvent changer d'une plateforme à l'autre.

Tags utilisables dans les Rapports :

_YESNOCAPS_ Affiche "YES"/"NO" en majuscules pour préciser si c'est un spam ou non
_YESNO_ Même chose que _YESNOCAPS_ mais au format "Yes"/"No"
_HITS_ Nombre de points obtenus par le message
_REQD_ Nombre de points requis pour être un Spam (valeur du paramètre required_score)
_VERSION_ Version de SpamAssassin (exemple : 2.63)
_SUBVERSION_ Sous-Version de SpamAssassin (exemple. 1.187-2003-05-15-exp)
_HOSTNAME_ Valeur de hostname
_BAYES_ Nombre de points obtenus par l'analyse Bayes
_AWL_ AWL modifier ???
_DATE_ Date de l'analyse au format rfc-2822
_STARS(*)_ Utilisé principalement dans le paramètre add_header pour définir le caractères qui sera reproduit N fois dans la valeur de l'entête quand le message est un Spam.
_RELAYSTRUSTED_ ???
_RELAYSUNTRUSTED_ ???
_AUTOLEARN_ Status de l'auto-apprentissage Bayes ("ham", "no", "spam")
_TESTS(,)_ ???
_TESTSSCORES(,)_ ???
_DCCB_ ???
_DCCR_ Résultat de la recherche DCC
_PYZOR_ Résultat de la recherche Pyzor
_RBL_ Résultat de recherche positif dans une RBL
_LANGUAGES_ Languages possibles du message analysé
_PREVIEW_ Prévisualisation du début du message analysé
_REPORT_ ???
_SUMMARY_ Détail des scores par règle correspondante
_CONTACTADDRESS_ Affiche la valeur du paramètre report_contact

Classement par catégorie


Classement alphabétique :

add_header

Défaut Aucune
Syntaxe (spam ou ham ou all) plus les champs à ajouter.
Description

Personnalise l'ajout d'entêtes au message par SpamAssassin

Le nom de l'entête commence toujours par "X-Spam-" auquel s'ajoute le nom que vous utilisez dans "add_header"

Vous pouvez choisir d'ajouter l'entête pour les Spam, les Ham ou les deux "all"

Exemple : add_header all Status _YESNO_, hits=_HITS_ required=_REQD_ tests=_TESTS_

Avec l'ajout de l'entête précédente, dans tous les messages vous trouverez une entête X_Spam_Status avec une valeur comme : "No, hits=0.1 tagged_above=-999.0 required=6.0 tests=BAYES_00"

# Valeurs par défaut à partir de SpamAssassin 2.60 :

# Ajout d'une entête X-Spam-Flag contenant "YES" si c'est un Spam
add_header spam Flag _YESNOCAPS_

# Ajout d'une entête X-Spam-Status pour tous les messages 
add_header all Status "_YESNO_, hits=_HITS_ required=_REQD_ tests=_TESTS_ autolearn=_AUTOLEARN_ version=_VERSION_"

# Ajout d'une entête X-Spam-Level contenant N "*"
add_header all Level _STARS(*)_

# Entête spéciale utilisé par SpamAssassin. Ne pas supprimer ni modifier
add_header all Checker-Version SpamAssassin _VERSION_ (_SUBVERSION_) on _HOSTNAME_


all_spam_to

Défaut  
Syntaxe all_spam_to add@ress.com
Description
A VOIR
Remarques
 


allow_user_rules

Défaut 0
Syntaxe 0, 1
Description
Autorise (1) les règles définies par les utilisateurs.
Remarques
 


always_add_headers

Défaut 1
Syntaxe 0, 1
Description
[Obsolète] - Active / Désactive l'ajout systématique d'entêtes pour les HAM et SPAM


always_add_report

Défaut 0
Syntaxe 0, 1
Description
[Obsolète] - Active / Désactive l'ajout systématique d'un rapport pour les HAM et SPAM


auto_whitelist_factor

Défaut 0.5
Syntaxe finalscore = score + (mean sender - score) * factor
Description
facteur de multiplication appliqué aux données de listes blanches
Remarques
 


auto_whitelist_factory

Défaut  
Syntaxe module (default: Mail::SpamAssassin::DBBasedAddrList)
Description
 
Remarques
 


auto_whitelist_file_mode

Défaut 0700
Syntaxe Droit unix sur les fichiers. (voir chmod).
Description
Droits qui seront appliqués aux fichiers de liste générés par SpamAssassin.
Remarques
 


auto_whitelist_path

Défaut ~/.spamassassin/auto-whitelist
Syntaxe N'importe quel chemin vers lequel SpamAssassin construira automatiquement des listes blanches à partir des messages qui auront passés le controle.
Description
Afin d'éviter de controler des messages dont l'expéditeur est réputé fiable, SpamAssassin permet d'alimenter automatiquement une liste blanche générale, contenant les adresses email pour chaque messages qui aura passé les controles avec succès.
Remarques

Attention : Par défaut ce paramètre s'adaptera au répertoire home de l'utilisateur executant l'analyse. Vous pouvez mettre un chemin fixe comme /var/amavis/.spamassassin/auto-whitelist pour que tous les utilisateurs accèdent à la même liste mais n'oubliez pas de modifier le paramètre "auto_whitelist_file_mode" en "0666"

Attention à utiliser un répertoire dans lequel l'utilisateur exécutant le processus SpamAssassin pourra écrire.



bayes_auto_expire

Défaut 1
Syntaxe 0, 1, yes, no
Description
Active (1) ou désactive (0) la gestion automatique de l'expiration des entrées dans la base de données Bayes.
Remarques
A VOIR


bayes_auto_learn

Défaut 1
Syntaxe 0, 1, yes, no
Description
Active ou désactive l'apprentissage Bayes en mode automatique. Si auto_learn est activé, la base "Bayes" sera alimenté au fur et à mesure que des messages seront traités par SpamAssassin, qu'ils soit des SPAM ou non.
Remarques
 


bayes_auto_learn_threshold_nonspam

Défaut 0.1
Syntaxe  
Description
 


bayes_auto_learn_threshold_spam

Défaut 12.0
Syntaxe  
Description
 
Remarques
minimum 6, 3 pour header et 3 pour body


bayes_expiry_max_db_size

Défaut 150000
Syntaxe 0 à n
Description
Nombre de token (entrée) dans la DB avant expiration
Remarques
A VOIR


bayes_file_mode

Défaut 0700
Syntaxe Droit unix sur un répertoire
Description
Droit qui sera affecté aux fichiers et répertoire bayes.
Remarques
 


bayes_ignore_header

Défaut Aucune
Syntaxe N'importe quel entête de message
Description
Ordonne à bayes d'ignorer ces entêtes lors de l'analyse.Exemple : bayes_ignore_header X-Quarantine-idbayes_ignore_header Return-Pathbayes_ignore_header Delivered-Tobayes_ignore_header X-Envelope-Tobayes_ignore_header Tobayes_ignore_header Ccbayes_ignore_header Cccbayes_ignore_header Datebayes_ignore_header MIME-Versionbayes_ignore_header X-Spam-Statusbayes_ignore_header X-Spam-Levelbayes_ignore_header X-MIMETrackbayes_ignore_header Content-Typebayes_ignore_header Content-Transfer-Encoding
Remarques
Il est possible de placer plusieurs ligne "bayes_ignore_header" dans le fichier de configuration.


bayes_journal_max_size

Défaut 102400
Syntaxe Taille en Bytes ou 0 (zéro) pour aucune synchronisation automatique.
Description
Taille maximum du journal Bayes avant synchronisation avec la base de donnée.
Remarques
Si la synchronisation automatique est désactivé, il faudra lancer manuellement "sa-learn --rebuild" pour que les données soit synchronisés.Après la synchronisation, le journal est vidé et effacé.


bayes_learn_during_report

Défaut 1
Syntaxe  
Description
Par défault toute utilisation de la commande "spamassassin -r" inclut le résultat comme spam dans bayes.Mettre 0 (zéro) pour désactiver ce mode de fonctionnement.
Remarques
 


bayes_learn_to_journal

Défaut 0
Syntaxe  
Description
Oblige à utiliser le journal comme tampon pour toutes les phases d'apprentissage
Remarques
 


bayes_min_ham_num

Défaut 200
Syntaxe  
Description
Nombre de "HAM" minimum à partir duquel, SpamAssassin pourra se référer aux résultats d'analyses Bayes.
Remarques
La commande sa-learn --dump magic permet de visualiser la valeur en cours.


bayes_min_spam_num

Défaut 200
Syntaxe  
Description
Nombre de "SPAM" minimum à partir duquel, SpamAssassin pourra se référer aux résultats d'analyses Bayes.
Remarques
La commande sa-learn --dump magic permet de visualiser la valeur en cours.


bayes_path

Défaut ~/.spamassassin/bayes
Syntaxe N'importe quel chemin valide pour lequel, l'utilisateur exécutant le processus, a des droits d'écritures
Description
Chemin vers les fichiers de la base de donnée Bayes.
Remarques
Attention, le dernier paramètre du chemin n'est pas un répertoire mais un modèle.Au final si le paramètre se termine par "bayes", les fichiers suivants seront créés :~/.spamassassin/bayes_seen~/.spamassassin/bayes_toks~/.spamassassin/bayes_journalVoir le chapitre sur l'apprentissage pour plus de détail.


bayes_use_chi2_combining

Défaut 1
Syntaxe  
Description
Utilisation d'un autre algorythme de traitement que bayes (chi-squared)
Remarques
A VOIR


bayes_use_hapaxes

Défaut 1
Syntaxe  
Description
Utilisation des couples "words/token" à une seule occurence.
Remarques
Augmente la taille de la base de façon significative.


blacklist_from

Défaut  
Syntaxe blacklist_from add@ress.com
Description
Ajouter à la "blacklist" les "expéditeurs" suivants.
Remarques
 


blacklist_to

Défaut  
Syntaxe blacklist_to add@ress.com
Description
A VOIR
Remarques
 


body

Défaut Aucune
Syntaxe Expression régulière Perl.Syntaxe : body NOM_REGLE /bonjour/iExemple : body BODY_TEST /bonjour/ibody SYMBOLIC_TEST_NAME eval:name_of_eval_method([args])
Description
Règle basé sur l'analyse du corps d'un message (BODY)
Remarques
Chaque règles s'accompagne au minimum d'une entrée describe pour décrire la règle et d'une entrée score pour donner un nombre de point en cas de correspondance.


check_mx_attempts

Défaut 2
Syntaxe  
Description
 
Remarques
 


check_mx_delay

Défaut 5
Syntaxe  
Description
 
Remarques
 


clear_headers

Défaut  
Syntaxe  
Description
S'utilise avant de définir de nouvelles entêtes avec add_header pour nettoyer d'autres paramètres existants.
Remarques
Les paramètres add_header par défaut, se trouve dans le fichier /usr/share/spamassassin/10_misc.cf


clear_report_template

Défaut  
Syntaxe  
Description
 
Remarques
 


clear_spamtrap_template

Défaut  
Syntaxe  
Description
 
Remarques
 


clear_terse_report_template

Défaut  
Syntaxe  
Description
[Obsolète]


clear_trusted_networks

Défaut  
Syntaxe  
Description
 
Remarques
 


clear_unsafe

Défaut  
Syntaxe  
Description
 
Remarques
 


dcc_add_header

Défaut 1
Syntaxe 0, 1, yes, no
Description
[Obsolète] - Ajout d'une entête par DCC


dcc_body_max

Défaut  
Syntaxe NUMBER
Description
 
Remarques
 


dcc_dccifd_path

Défaut  
Syntaxe  
Description
 
Remarques
 


dcc_fuz1_max

Défaut  
Syntaxe NUMBER
Description
 
Remarques
 


dcc_fuz2_max

Défaut  
Syntaxe NUMBER
Description
 
Remarques
 


dcc_home

Défaut  
Syntaxe  
Description
 
Remarques
 


dcc_options

Défaut  
Syntaxe  
Description
Options DCC
Remarques
 


dcc_path

Défaut  
Syntaxe  
Description
Chemin d'accès à DCC
Remarques
 


dcc_timeout

Défaut 10
Syntaxe  
Description
Time out en seconde pour la connection avec des serveurs DCC.
Remarques
 


def_whitelist_from_rcvd

Défaut  
Syntaxe def_whitelist_from_rcvd addr@lists.sourceforge.net sourceforge.net
Description
A VOIR
Remarques
 


defang_mime

Défaut 1
Syntaxe 0, 1, yes, no
Description
[Obsolète] - Pour ne plus modifier le Content-type en text/plain pour les spam


describe

Défaut Aucune
Syntaxe Texte court decrivant la règle.Il est possible d'insérer une entrée describe par langue en suivant la syntaxe suivante : lang fr describe SUBJ_TEST "texte de description"
Description
Le texte de description qui sera inséré dans les notifications "Administrateurs" pour décrire la raison pour laquelle un message à été considéré comme SPAM.
Remarques
 


dns_available

Défaut  
Syntaxe 0, 1, yes, no
Description
dns_available { yes | test[: name1 name2...] | no } (default: test)
Remarques
 


fold_headers

Défaut  
Syntaxe  
Description
A VOIR
Remarques
 


full

Défaut  
Syntaxe SYMBOLIC_TEST_NAME /pattern/modifiers SYMBOLIC_TEST_NAME eval:name_of_eval_method([args])
Description
Création d'une règle valable sur les header, body, uri.
Remarques
 


header

Défaut Aucune
Syntaxe Expression régulière Perl.Syntaxe : header NOM_REGLE Champs_Header =~ /bonjour/iExemple 1 : header SUBJ_TEST Subject =~ /bonjour/iExemple 2 : header USER_AGENT_CARASUCKS X-Mailer =~ /^LycosMail/Exemple 3 : header SYMBOLIC_TEST_NAME exists:name_of_headerExemple 4 : header SYMBOLIC_TEST_NAME eval:name_of_eval_method([arguments])Exemple 5 : header SYMBOLIC_TEST_NAME eval:check_rbl('set', 'zone')Exemple 6 : header SYMBOLIC_TEST_NAME eval:check_rbl_txt('set', 'zone')Exemple 7 : header SYMBOLIC_TEST_NAME eval:check_rbl_sub('set', 'sub-test')
Description
Règle basé sur l'analyse d'un champs d'entête.
Remarques
Chaque règles s'accompagne au minimum d'une entrée describe pour décrire la règle et d'une entrée score pour donner un nombre de point en cas de correspondance.


meta

Défaut  
Syntaxe SYMBOLIC_TEST_NAME boolean expression SYMBOLIC_TEST_NAME boolean arithmetic expression
Description
NON testé. Permet de regrouper plusieurs règles dans une seule et ainsi d'affecter un scorring groupé.
Remarques
header __USER_AGENT_CARASUCKS X-Mailer =~ /^LycosMail/ header __LYCOS_HAS_XOIPX-Originating-IP =~ /^\[[0-9]/ meta MAILER_CARASUCKS(__USER_AGENT_CARASUCKS && __LYCOS_HAS_XOIP) lang fr describe MAILER_CARASUCKS En-tête X-mailer provennant d'un MUA non-spammer (Caramail/Lycos) score MAILER_CARASUCKS-2


more_spam_to

Défaut  
Syntaxe more_spam_to add@ress.com
Description
A VOIR
Remarques
 


num_check_received

Défaut 9
Syntaxe  
Description
[Obsolète]


ok_languages

Défaut all
Syntaxe

Language des messages que vous acceptez de recevoir. Les messages reçus dans d'autres langues auront un score plus élevé.

C'est la règle UNWANTED_LANGUAGE_BODY qui définit le score donné aux messages qui ne sont pas dans une des langues du paramètre ok_languages

# Code ISO alphabétique de langues séparés par des espaces.

Exemple : ok_languages fr en de

af - Afrikaans
am - Amharic
ar - Arabic
be - Byelorussian
bg - Bulgarian
bs - Bosnian
ca - Catalan
cs - Czech
cy - Welsh
da - Danish
de - German
el - Greek
en - English
eo - Esperanto
es - Spanish
et - Estonian
eu - Basque
fa - Persian
fi - Finnish
fr - French
fy - Frisian
ga - Irish Gaelic
gd - Scottish Gaelic
he - Hebrew
hi - Hindi
hr - Croatian
hu - Hungarian
hy - Armenian
id - Indonesian
is - Icelandic
it - Italian
ja - Japanese
ka - Georgian
ko - Korean
la - Latin
lt - Lithuanian
lv - Latvian
mr - Marathi
ms - Malay
ne - Nepali
nl - Dutch
no - Norwegian
pl - Polish
pt - Portuguese
qu - Quechua
rm - Rhaeto-Romance
ro - Romanian
ru - Russian
sa - Sanskrit
sco - Scots
sk - Slovak
sl - Slovenian
sq - Albanian
sr - Serbian
sv - Swedish
sw - Swahili
ta - Tamil
th - Thai
tl - Tagalog
tr - Turkish
uk - Ukrainian
vi - Vietnamese
yi - Yiddish
zh - Chinese
Description
Les messages qui ne seront pas dans ces langues, se verront ajoutés des mauvais points qui augmenteront le score final lors de l'analyse par SpamAssassin.
Remarques
Ce paramètre permet par exemple d'augmenter le score des messages Koréen, Russes ou d'autres. Voir le rule : UNWANTED_LANGUAGE_BODY


ok_locales

Défaut all
Syntaxe
en - Western character sets in general

ja - Japanese character sets

ko - Korean character sets

ru - Cyrillic character sets

th - Thai character sets

zh - Chinese (both simplified and traditional) character sets
Description
 
Remarques
Voir les rules : CHARSET_FARAWAY, CHARSET_FARAWAY_BODY, and CHARSET_FARAWAY_HEADERS


pyzor_add_header

Défaut  
Syntaxe  
Description
[Obsolète] - Active / Désactive l'ajout d'entêtes par Pyzor


pyzor_max

Défaut  
Syntaxe NUMBER
Description
 
Remarques
 


pyzor_options

Défaut  
Syntaxe  
Description
Options Pyzor
Remarques
 


pyzor_path

Défaut  
Syntaxe  
Description
Chemin d'accès à Pyzor
Remarques
 


pyzor_timeout

Défaut 10
Syntaxe  
Description
Time out en seconde pour la connection avec des serveurs RAZOR à partir de Pyzor.
Remarques
 


rawbody

Défaut  
Syntaxe SYMBOLIC_TEST_NAME /pattern/modifiers SYMBOLIC_TEST_NAME eval:name_of_eval_method([args])
Description
 
Remarques
 


razor_config

Défaut  
Syntaxe ~/.razor/razor-agent.conf
Description
Chemin vers le fichier de configuration de Razor
Remarques
 


razor_timeout

Défaut 10
Syntaxe  
Description
Time out en seconde pour la connection avec des serveurs RAZOR à partir de Razor.
Remarques
 


rbl_timeout

Défaut 15
Syntaxe  
Description
Time out en seconde pour l'interrogation de RBL.
Remarques
 


remove_header

Défaut Aucune
Syntaxe spam, ham, all plus les champs à enlever.
Description
Champs à supprimer aux mails considérés comme spam, ham ou les deux.Exemple : remove_header ham Status
Remarques
 


report

Défaut  
Syntaxe  
Description
 
Remarques
 


report_charset

Défaut  
Syntaxe  
Description
Code ISO utilisé pour le modèle de rapport en cours
Remarques
 


report_contact

Défaut  
Syntaxe  
Description
 
Remarques
 


report_header

Défaut 1
Syntaxe 0, 1, yes, no
Description
[Obsolète] - Pour insérer le rapport dans les entêtes


report_safe

Défaut 1
Syntaxe 0, 1, 2
Description

Utilisé pour définir si le contenu du message est renvoyé lors d'une notification de Spam et sous quel format il est renvoyé.



report_safe_copy_headers

Défaut  
Syntaxe  
Description
A VOIR
Remarques
 


require_version

Défaut 2.60
Syntaxe  
Description
Version minimum de SpamAssassin pour que le fichier de préférence soit valide.
Remarques
Particulièrement utile dans une configuration distribué ou les utilisateurs possèdent leur propre fichier de configuration.


required_score

Défaut 5.0
Syntaxe De 0.1 à n
Description
Nombre de point à partir duquel, un message analysé sera considéré comme un SPAM.
Remarques
Ce paramètre influencera de façon importante le nombre de faux-positifs ou faux-négatifs. Il vaut mieux laisser la valeur par défaut tant que vous ne maitriser pas SpamAssassin.


rewrite_subject

Défaut 1
Syntaxe 0, 1, yes, no.
Description
Active ou désactive la réécriture du sujet d'un message considéré comme SPAM. Cette fonctionnalité peut par exemple permettre ensuite au client de messagerie des destinataires d'utiliser un filtre automatique qui placera les messages contenant ce modèle de champs "sujet" dans un répertoire dédié ou directement à la poubelle.
Remarques
Cette fonctionnalité n'est valable que si vous ne faîtes que marquer le message, comme SPAM, sans l'arrêter avant la distribution dans la boite aux lettres du destinataire.


score

Défaut Aucune
Syntaxe Valeur négative ou positive avec comme séparateur décimal le point "."Il est possible de mettre plusieurs valeurs sur la même ligne mais je n'ai pas encore compris leurs significations.
Description
Nombre de points qui seront ajoutés ou enlevé du total cumulé par l'applications de toutes les règles sur un message.
Remarques
Il est tout à fait possible de surcharger des scores existants dans le fichier local.cf. Cela permet de ne rien modifier dans le fichier de scores principal situé dans /usr/share/spamassassin.


skip_rbl_checks

Défaut 1
Syntaxe 0, 1, yes, no
Description
Active ou désactive l'utilisation des RBL (1 ou yes pour désactiver).
Remarques
 


spam_level_char

Défaut *
Syntaxe  
Description
[Obsolète]


spam_level_stars

Défaut 1
Syntaxe 0, 1, yes, no
Description
[Obsolète]


spamtrap

Défaut  
Syntaxe  
Description
 
Remarques
 


subject_tag

Défaut *****SPAM*****
Syntaxe N'importe quelle valeure.
Description
Chaine de caractère insérer avant le sujet d'un message considéré comme spam si rewrite_subject est activé.
Remarques
Evitez les accents et autres caractères bizarres.


terse_report

Défaut  
Syntaxe  
Description
[Obsolète]


test

Défaut  
Syntaxe SYMBOLIC_TEST_NAME (ok|fail) Some string to test against
Description
 
Remarques
 


tflags

Défaut Aucune
Syntaxe tflags SYMBOLIC_TEST_NAME [ { net | nice | learn | userconf } ... ]Used to set flags on a test. These flags are used in the score-determination back end system for details of the test's behaviour. The following flags can be set: net : The test is a network test, and will not be run in the mass checking system or if -L is used, therefore its score should not be modified.nice : The test is intended to compensate for common false positives, and should be assigned a negative score.userconf : The test requires user configuration before it can be used (like language- specific tests).learn : The test requires training before it can be used.
Description
A VOIR
Remarques
 


trusted_networks

Défaut none
Syntaxe ip.add.re.ss[/mask]
Description
Réseaux autorisés
Remarques
 


unblacklist_from

Défaut  
Syntaxe unblacklist_from add@ress.com
Description
Enlever de la "blacklist" les "expéditeurs" suivants.
Remarques
 


unsafe_report

Défaut  
Syntaxe  
Description
 
Remarques
 


unwhitelist_from

Défaut  
Syntaxe unwhitelist_from joe@example.com fred@example.com
Description
Enlever de la "whitelist" les "expéditeurs" suivants.
Remarques
 


unwhitelist_from_rcvd

Défaut  
Syntaxe unwhitelist_from_rcvd add@ress.com
Description
A VOIR
Remarques
 


uri

Défaut Aucune
Syntaxe  
Description
A VOIR
Remarques
 


use_auto_whitelist

Défaut 1
Syntaxe 0, 1
Description
Active / Désactive les listes blanches en mode automatique.
Remarques
 


use_bayes

Défaut 1
Syntaxe 0, 1, yes, no
Description
Active ou désactive l'analyse Bayes.
Remarques
 


use_dcc

Défaut 1
Syntaxe 0, 1, yes, no
Description
Active ou désactive l'utilisation de DCC
Remarques
 


use_pyzor

Défaut 0
Syntaxe 0, 1, yes, no
Description
Active ou désactive l'utilisation de Pyzor.
Remarques
Pyzor est une implémentation de Razor, écrit en language Python et ne sera pas traité dans ce document.


use_razor2

Défaut 1
Syntaxe 0, 1, yes, no
Description
Active ou désactive l'utilisation de Razor2
Remarques
 


use_terse_report

Défaut 1
Syntaxe 0, 1, yes, no
Description
[Obsolète] - Pour avoir un rapport condensé


user_scores_dsn

Défaut Aucune
Syntaxe Syntaxe Perl d'accès au bases SQL.Exemple : DBI:mysql:spamassassin:localhost:3306
Description
Paramétrage d'un accès à une base de données SQL pour la recherche de règles.
Remarques
Type de paramétrage surtout utilisé dans le cas d'une personnalisation des règles par utilisateur surtout si ces derniers n'utilisent pas de comptes locals et n'ont donc pas de répertoires "HOME" dans lesquels insérer des fichiers user_prefs


user_scores_sql_field_preference

Défaut  
Syntaxe  
Description
 
Remarques
 


user_scores_sql_field_scope

Défaut  
Syntaxe  
Description
 
Remarques
 


user_scores_sql_field_username

Défaut  
Syntaxe  
Description
 
Remarques
 


user_scores_sql_field_value

Défaut  
Syntaxe  
Description
 
Remarques
 


user_scores_sql_password

Défaut Aucune
Syntaxe Mot de passe
Description
Mot de passe du compte d'accès à la base SQL
Remarques
 


user_scores_sql_table

Défaut Aucune
Syntaxe Nom d'une table SQL contenant les règles SpamAssassin.
Description
Table SQL
Remarques
 


user_scores_sql_username

Défaut Aucune
Syntaxe Nom d'un compte de la base SQL pour les accès par SpamAssassin.
Description
Login SQL
Remarques
 


version_tag

Défaut Aucune
Syntaxe Exemple : version_tag myrules1 # version=2.41-myrules1
Description
A VOIR
Remarques
 


whitelist_from

Défaut  
Syntaxe whitelist_from joe@example.com fred@example.com
Description
Ajouter à la "whitelist" les "expéditeurs" suivants.
Remarques
 


whitelist_from_rcvd

Défaut  
Syntaxe whitelist_from_rcvd joe@example.com fred@example.com
Description
Ajouter à la "whitelist" les "destinataires" suivants.
Remarques
 


whitelist_to

Défaut  
Syntaxe whitelist_to add@ress.com
Description
A VOIT
Remarques
 


Versions de SpamAssassin

SpamAssassin 3.1.0 :

Parmis les changements importants, la migration de certaines fonctions majeures devenues à présent des plugins.

Ces plugins sont activés/désactivés à partir du fichier /etc/mail/spamassassin/v310.pre

Parmis ces plugins, Razor2 et DCC qui ont été désactivés par défaut pour des questions de licences avec lesquels les concepteurs de SpamAssassin ne sont pas d'accord.

Liens

espaceur


ceydric