(02/04/2002), petit bug corrigé :
Je viens de corriger un petit bug pour certains OS qui enleve le +x sur le fichier qmail-queue (la méthode avec qmail-scanner n'est pas concernée). (01/11/2003), Qmail-scanner :
J'ai ajouté une autre manière d'appeller le client spamassassin utilisant qmail-scanner. (23/07/2003), Preferences :
Matthew Francis m'a envoye un bon howto expliquant comment mettre en place des preferences pour les utilistaures avec spamassassin. C'est disponible ici (desole, seulement en anglais pour le moment) : here. (08/06/2003), Localisation :
Si vous voulez changer la langue dans laquelle apparait le rapport de spam (c'est-a-dire pourquoi l'email a été considéré comme spam), changez juste les locales pour la langue voulue (par exemple fr_FR pour le francais) avec la commande dpkg-reconfigure locales sous debian) et installez gettext si c'est pas déjà fait (apt-get install gettext) et vous aurez la bonne version (francais for example)... (11/03/2005), Mise à jour :
Après presque deux ans sans mise à jour, mon autre howto sur qmail étant bien plus complet et mis à jour, je nettoye celui ci :
- première méthode déconseillée
- nouvelle version de spamassassin 3.0.X
- utilisation de netqmail au lieu de qmail
- nouvelle version de qmail-scanner avec le patch q-s-st (activation de Spamassassin juste sur un domaine)
include("cadeaux_vf.php");
?>
Si vous voulez plus d'informations propos de l'installation de qmail , j'ai ecris un long howto (en Anglais) sur ce sujet.
J'ai écris cet howto parce qu'il y a un manque de documentation concernant l'utilisation de qmail avec Spamassassin.
Ce howto a été écris pour etre utilisé avec qmail/vpopmail mais ça devrait marcher sans de grosses modifications avec quelque chose d'autre que vpopmail.
Spamassassin est un programme très puissant qui vérifie si les emails reçus sont un spam ou non. L'analyse est basée sur une suite de notes. Si la somme de toutes les notes dépasse un nombre spécifié (par exemple 5), le sujet de l'email va etre taggé avec un ****SPAM****.
Avec ceci, il est très facile de créer une règle qui va déplacer tous les emails dans un dossier spécifique (par exemple, la corbeille).
Si vous voulez linker qmail avec spamassassin, c'est assez facile :
Premierement, installez spamassassin et razor ou pyzor si vous les voulez.
Avec debian :
apt-get install spamassassin Vous devriez utiliser la version testing ou unstable de spamassassin sous debian qui, la plus part du temps, trouve plus de Spam.
Avec un autre systeme (Redhat, Suse, Solaris ...) :
La dernière version de Spamassassin à cette date est la version 3.0.2. La procédure d'installation est à peu près la même. Quelques directives ont par contre changées.
wget http://useast.spamassassin.org/released/Mail-SpamAssassin-2.55.tar.gz
tar -zxvf Mail-SpamAssassin-2.55.tar.gz
cd Mail-SpamAssassin-2.55
perl Makefile.PL
make
make install
cp spamd/debian-rc-script.sh /etc/init.d/spamassassin
Vous pouvez remplacer debian par redhat, solaris, netbsd, suse ...
chmod +x /etc/init.d/spamassassin
Puis, modifiez /etc/spamassassin/local.cf
Version 2.5X :
#Nombre de points pour le mail soit taggé spam
required_hits 5.0
# Ajouter le résultat dans les headers
always_add_headers 1
# Changer le sujet
rewrite_subject 1
report_safe 1
use_terse_report 1
# utiliser le filtre bayse
# Verifications dns => attention, probleme de lenteur potentielle
dns_available yes
dcc_add_header 0
# Don't skip the relay black list
skip_rbl_checks 0
use_dcc 1
dcc_timeout 10
# Verification tier
use_pyzor 1
pyzor_timeout 10
pyzor_add_header 1
# Learn from the previous results
auto_learn 1
# utiliser le filtre bayse
use_bayes 1
# Ou spamassasin doit conserver ses fichiers
bayes_path /var/qmail/spamassassin/
# Ou spamassassin conserve les resultats des verifications
auto_whitelist_path /var/qmail/spamassassin/auto_whitelist
Si vous voulez avoir des informations détaillées sur le traitement de spamassassin, ajoutez la ligne dans le fichier local.cf : timelog_path /var/log/spamassassin, lancez le daemon avec l'option -D (donc à spécifier dans le fichier /etc/default/spamassassin sous debian), créez ce répertoire avec les droits adéquats (ça devrait etre vpopmail). Dans ce répertoire, vous devriez avoir pour chaque email un fichier contenant ces informations (c'est une option de debug !).
Perso, j'utilise ces régles. Changez comme vous l'entendez ! La documentation est disponible ici : perldoc Mail::SpamAssassin::Conf
Dans /etc/default/spamassassin (si ce fichier n'existe pas, cree le)
Changez ENABLED pour 1, puis ajoutez ces options :
- "-m 10 -v --auto-whitelist" pour la version 2.5X.
- "-v -m 10 -u vpopmail --nouser-config" pour la version 3
Avec ces trucs, vous pouvez lancer spamd qui est un daemon ce qui permet d'augmenter sensiblement les performances.
-m 10 => 10 process fils
-v => Configuration vpopmail
--auto-whitelist => Utilise la whitelist (liste amie) - par defaut dans la version 2.3
Au lieu de spamassassin, utilisez spamc pour vérifier les emails.
Il y a quelques options "-c -u vpopmail" qui activent l'utilisation de préférences pour un domaine ou pour un utilisateur mais malheureusement, ca ne marche pas très bien pour moi.
/etc/init.d/spamassassin start
Ensuite, la modification de qmail dans le but de vérifier les emails :
En fait, il existe 2 types de configuration pour qmail :
- la manière plus facile/rapide est de changer qmail-queue dans le but d'introdure la vérification de spamassassin. Deconseillée
- la méthode la plus propre est d'utiliser qmail-scanner.
Changer le programme qmail-queue
cp /var/qmail/bin/qmail-queue /var/qmail/bin/qmail-queue.orig
chown qmailq:qmail qmail-queue
chown qmailq:qmail qmail-queue.orig
chmod u+s qmail-queue.orig
chmod o+r,+x qmail-queue.orig qmail-queue Pas fondamental mais des fois, necessaire pour certains systemes ...
mkdir /home/vpopmail/.spamassassin
cd /home/vpopmail
chmod 777 /home/vpopmail/.spamassassin
Je suis d'accord que cette solution est dégueulasse. Elle engendre des problèmes dans l'inejction des bounces (retour) dans la queue. (Qmail-queue n'étant pas prévu pour ce genre d'opération).
Et ensuite, installer qmail-scanner avec qmail-scanner-st :
qmail-scanner-st est une version patchée de qmail-scanner qui permet de founir des supers fonctionnalitées comme l'auto suppression/rejecct/quarantaine de spam au dessus d'un score donné, mais aussi de choisir quel scanners seront utilisé pour un domaine et/ou même pour un utilisateur. Il est donc possible d'activer spamassassin juste pour un domaine.
Après l'installation, si vous voulez changer vos préférences, vous devez modifier le ficher /var/qmail/bin/qmail-scanner-queue.pl. Dans ce fichier, vous pouvez aussi ajouter des options au client spamassassin.
Si vous voulez activer/desactiver certains scanners, editez le fichier /var/spool/qmailscan/scanners_per_domain.txt
Pour lancer la prise en compte de ce fichier : /var/qmail/bin/qmail-scanner-queue.pl -p
Pour rehash la liste des fichiers en quarantaine : /var/qmail/bin/qmail-scanner-queue.pl -g
trunks.ecranbleu.org:sa,ps,clamdscan_scanner
# sa = spamassassin
# ps = perl scanner
Ceci devrait etre suffisant pour utiliser spamassassin sur le système entier.
Todo : Trouver comment lier vpopmail avec spamasssin pour pouvoir créer et gérer les préférences par domaine ou par utilisateur (si quelqu'un connait la solution : sylvestre@ecranbleu.org