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 >
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
- Obsolètes - Version 2.63
- Divers
- Sécurité
- Bayes
- RBL / DNS
- Razor
- DCC
- Pyzor
- White lists & black lists
- Règles / Rules
- Notifications / Rapports
- SQL
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