SpamAssassin

Stéphane RAULT -

Version 0.2 - 24 Octobre 2005

Version originale : http://www.espace-groupware.com/spam/spamassassin/index.html

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 :

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.


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/spamassassinScript System V pour le lancement de SpamAssassin en mode Deamon (spamd)
/usr/lib/perl5/site_perl/5.x.x/Mail/SpamAssassinModules Perl
/usr/bin/sa-learnUtilitaire d'administration pour les phases d'apprentissages et la gestion de la base de données Bayes
/usr/bin/spamassassinDétection de spam en ligne de commande et gestion des listes blanches et noires
/usr/bin/spamcDétection en ligne client/serveur (spamd)
/usr/bin/spamdServeur SpamAssassin
/etc/mail/spamassassinRépertoire de configuration "Site"
/etc/mail/spamassassin/local.cfFichier de configuration principal
/usr/share/spamassassinRépertoire de configuration "Distribuée"
/usr/share/spamassassin/10_misc.cfConfiguration de base des paramètres et des notifications
/usr/share/spamassassin/20_anti_ratware.cfFichier d'exemple pour configurer des règles basés sur les clients de messagerie réputés "fiable"
/usr/share/spamassassin/20_body_tests.cfRègles appliqués sur le contenu des messages (champs BODY)
/usr/share/spamassassin/20_compensate.cfRègles de compensation pour les faux positifs
/usr/share/spamassassin/20_dnsbl_tests.cfRègles pour l'interrogation de RBL
/usr/share/spamassassin/20_fake_helo_tests.cfRègles basés sur le champs "HELO"
/usr/share/spamassassin/20_head_tests.cfRègles basés sur les entêtes de messages (Subject, From, To, etc...)
/usr/share/spamassassin/20_html_tests.cfRègles sur les mails au format HTML
/usr/share/spamassassin/20_meta_tests.cf?
/usr/share/spamassassin/20_phrases.cfRègles sur les messages publicitaires
/usr/share/spamassassin/20_porn.cfRègles sur les messages à caractères pornographiques
/usr/share/spamassassin/20_ratware.cfFichier 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.cfRègles sur les liens Internet insérés dans les messages
/usr/share/spamassassin/23_bayes.cfRègles sur les traitement Bayes
/usr/share/spamassassin/25_body_tests_es.cfRègles spécifiques de "BODY" pour les messages Espagnol
/usr/share/spamassassin/25_body_tests_pl.cfRègles spécifiques de "BODY" pour les messages Polonais
/usr/share/spamassassin/25_head_tests_es.cfRègles spécifiques de "HEADER" pour les messages Espagnol
/usr/share/spamassassin/25_head_tests_pl.cfRègles spécifiques de "HEADER" pour les messages Polonais
/usr/share/spamassassin/30_text_de.cfTraduction Allemande des descripteurs de règles
/usr/share/spamassassin/30_text_es.cfTraduction Espagnole des descripteurs de règles
/usr/share/spamassassin/30_text_fr.cfTraduction Française des descripteurs de règles
/usr/share/spamassassin/30_text_it.cfTraduction Italienne des descripteurs de règles
/usr/share/spamassassin/30_text_pl.cfTraduction Polonaise des descripteurs de règles
/usr/share/spamassassin/30_text_sk.cfTraduction Slovak des descripteurs de règles
/usr/share/spamassassin/50_scores.cfContient les scores pour chaque règles
/usr/share/spamassassin/60_whitelist.cfListes blanches contenant des sites de bonne réputation concernant les Spam
/usr/share/spamassassin/languagesFichier au format "data" ?
/usr/share/spamassassin/triplets.txtFichier contenant des mots de trois lettres ?
/usr/share/spamassassin/user_prefs.templateModèle de fichier de préférence utilisateur
/usr/share/doc/spamassassin-2.60/sample-nonspam.txtMessage NON-SPAM (HAM) d'exemple
/usr/share/doc/spamassassin-2.60/sample-spam.txtMessage 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 :

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éfautAucune
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
SyntaxeExpression 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
SyntaxeTexte 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
SyntaxeExpression 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
SyntaxeValeur 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
Syntaxetflags 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
SyntaxeSyntaxe 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