Spamassassin Divers reglages

http://forum.ovh.com/showthread.php?t=475

 

Bon et bien si ca peut aider certains, voila un how-to pour installer

spamassassin sur votre serveur, car apres avoir pas mal chercher sur le net

je me suis rendu compte qu'il n'y avait pas grand chose la dessus, j'ai donc

fait un mix de plusieurs how-to et je l'ai adapte a la config ovh :

 

Ce how-to ne traite pas de l'installation de qmail-queue et de maildrop qui

sont necessaire au fonctionnement de spamassassin, mais leur installation

est clairement explique dans le how-to sur la FAQ non officielle :

http://www.at-infor.com/fr/docs/faqs...x.php?faqid=64

 

********************************

Vérification des modules perl

********************************

Vous devez avoir certains modules perl pour faire fonctionner spamassassin

- Ouvrer Webmin

- Cliquez sur 'Autres'

- Cliquez sur 'Perl Modules'

Dans le tableau qui s'affiche vous devez avoir les modules suivant :

(File::Spec - Pod::Usage - HTML::Parser - Sys::Syslog )

Dans les versions de perl sup ou = a la 5.003_07 le module syslog est deja

installe. Certains de ces modules sont des sous modules par exemple

Pod::Usage est un sous module de Pod::Parser.

Pour installer un module que vous n'avez pas, sous la ligne :

- Sélectionner un nouveau module Perl à compiler et installer sur votre

système.

- Dans le formulaire qui suit 'Provenant du CPAN, ayant pour nom' entrer le

nom du module en question en respectant la casse.

- Cliquez sur installation

- Le telechargement se fait puis dans 'Option d'installation du module perl'

selectionner 'Make,test et installation' dans le menu deroulant

-Cliquez sur Continuer

- Le module doit s'installer sans message d'erreur

Reproduire ce schema pour chaque module.

 

********************************

download/compilation de spammassassins

********************************

# cd /home/ovh/src

# wget http://spamassassin.org/released/Mai...in-2.63.tar.gz

# gunzip -c Mail-SpamAssassin-2.63.tar.gz|tar -xf -

# cd Mail-SpamAssassin-2.63

# perl Makefile.PL

# make

# make install

 

********************************

Copier spamassassin dans demarrage

********************************

# cp spamd/redhat-rc-script.sh /etc/init.d/spamassassin

# chmod +x /etc/init.d/spamassassin

 

********************************

Edition du fichier /etc/mail/spamassassin/local.cf

********************************

Editer ce fichier grace a vi, pico ou avec votre editeur de texte prefere,

voici

ma config perso, pensez a changer le parametre *@domaine.tld par votre

domaine

 

required_hits 5

rewrite_subject 1

report_header 1

use_terse_report 1

defang_mime 1

dns_available yes

dcc_add_header 1

use_dcc 1

subject_tag *** SPAM ***

whitelist_from *@domaine.tld

 

********************************

Lancer SpamAssassin

********************************

# /etc/init.d/spamassassin start

 

********************************

Parametrer qmail-queue pour spamassassin

********************************

# cp /var/qmail/bin/qmail-queue /var/qmail/bin/qmail-queue.orig

# chown -R qmailq:qmail qmail-queue

# chown -R qmailq:qmail qmail-queue.orig

# chmod u+s qmail-queue.orig

# chmod o+r qmail-queue.orig qmail-queue

# mkdir /home/vpopmail/.spamassassin

# cd /home/vpopmail

# chmod 777 /home/vpopmail/.spamassassin

# chown -R qmailq:qmail .spamassassin

# chmod u=rwx,g=rx,o= /home/vpopmail/.spamassassin

 

Stopper qmail :

# service qmail stop

 

Supprimer la queue :

# echo -n > /var/qmail/bin/qmail-queue

 

Editer le fichier /var/qmail/bin/qmail-queue via vi ou pico et mettre ces

deux lignes :

#!/bin/sh

/usr/bin/spamc | /var/qmail/bin/qmail-queue.orig

 

Relancer qmail :

# service qmail start

 

********************************

Tester SpamAssassin

********************************

# spamc < sample-spam.txt

Cela produira le resultat du test de spam

# spamc < sample-nonspam.txt

Cela retournera le mail original, non spam

Pour le spam vous devez obtenir :

X-Spam-Level: **************************************************

X-Spam-Status: Yes, hits=1000.0 required=6.0 tests=GTUBE autolearn=no

version=2.63

 

A partir de la spamassassin fonctionne, vous pouvez continuer si vous

souhaitez le configurer via webmin afin d'avoir une interface plus

conviviale.

 

********************************

Configuration de spamassassin via webmin

********************************

- Cliquez sur le module 'Serveur' dans webmin

- Cliquez sur 'SpamAssassin Mail Filter'

- Dans la configuration du module :

SpamAssassin configuration file or directory :

/etc/mail/spamassassin/local.cf

Full path to SpamAssassin command :

/home/ovh/src/Mail-SpamAssassin-2.63/blib/script/spamassassin

Procmail configuration file : From Procmail module

Display warning if SpamAssassin is not set up? : Yes

SpamAssassin daemon process names : spamd amavisd

Command to restart processes : Just send HUP signal

- Cliquez sur sauvegarder

 

Si tout s'est bien passé, vous obtenez alors le menu pour configurer spam

assassin, ou il n'y a plus grand chose a faire car nous l'avons configurer

en ligne de commande.

Vous pourrez effectuer vos reglages via webmin si c'est plus simple pour

vous.

Sur votre serveur, vous pouvez facilement

modifier certains parametres par l'intermediaire du menu webmin de

spamassassin, il suffit d'appliquer les modifications en cliquant sur Apply

Changes.


http://www.linux-nantes.org/Configurer-SpamAssassin.html

Configurer SpamAssassin

 

Pour se débarrasser d’une plaie.

 

samedi 26 avril 2003, par Vincent « Ka Teznik » Correze

 

Au bout de quelques années de présence sur Internet (ou quelques semaines si vous n’êtes pas prudents), on se retrouve sans comprendre bombardé de messages soi-disant publicitaires. Et cela va du « achetez-nous un pingouin en cristal » à « augmentez la taille de votre b.... » voire pire.

 

Heureusement pour vous, SpamAssassin est là pour vous débarrasser de ce merdier.

 

Config Initiale

 

Pour pouvoir utiliser ce programme, il faut et il suffit de disposer d’un client de messagerie. Cependant, le traitement est facilité (accéléré) si l’on dispose d’un MTA local, ce qui va nous permettre d’utiliser la version « démonisée » de SpamAssassin.

Installer SpamAssassin

 

Sur Mandrake, il suffit de faire urpmi spamassassin-2.44-1mdk ou de l’installer via le Panneau de contrôle de Mandrake. Sur d’autres distributions, utilisez votre outil d’installation favori.

 

Si vous souhaitez faire l’installation « manuellement », vous pouvez lancer les commandes suivantes :

 

$ perl -MCPAN -e shell

o conf prerequisites_policy ask

install Mail::SpamAssassin

quit

Comment fonctionne SpamAssassin

 

SpamAssassin est un programme (en perl) qui fait passer un certain nombre de tests au message. En fonction du résultat de ces tests, il attribue un score au message, chaque test rajoutant des points au score.

 

Si le score dépasse un certain seuil, le mail est alors considéré comme du Spam. SpamAssassin modifie alors le titre du message (il l’encadre par ***** SPAM *****). De plus, SpamAssassin positionne deux nouveaux en-têtes au message : X-Spam-Status et X-Spam-Level.

 

Ces deux en-têtes permettent alors de créer des filtres dans votre client mail pour orienter le message (la corbeille est une bonne destination :).

 

Tous les messages doivent donc passer par SpamAssassin pour être traités, avant d’arriver dans leur dossier définitif.

Configurer

 

Pour configurer SpamAssassin, il faut éditer le fichier /etc/mail/spamassassin/local.cf. Par défaut, un certain nombre d’options sont prédéfinies. Voici les principales :

- required_hits 5 définit le score au delà duquel les mails sont considérés comme du spam ;

- ok_languages fr en indique les langues que vous acceptez de reçevoir (les autres auront un score plus élevé). Cette ligne n’est pas forcément prédéfinie ;

- lang fr pour avoir les rapports en Français ;

- whitelist_from *@linux-nantes.fr.eu.org Cette ligne (à éditer) permet de ne pas considérer les mails de LNA comme du spam. Les options whitelist_to et blacklist_from permettent respectivement de ne pas considérer comme spam les mails envoyés à l’adresse considérée, et de considérer systématiquement comme spam les mails provenant de l’adresse considérée.

 

SpamAssassin dispose heureusement d’un système de whitelist automatique, qui va diminuer progressivement le score de certains messages.

 

Pour fignoler votre configuration, il faut lire le man Mail::SpamAssassin::Conf.

Si vous n’avez qu’un client Mail

 

Pour ma part, j’utilise KMail, mais la procédure est relativement similaire dans les autres MUA [1].

 

Il faut ajouter deux filtres pour traiter les messages : l’un pour les envoyer à SpamAssassin, l’autre pour traiter le résultat.

 

Le premier dira donc :

Si n'importe quel en-tête contient "." alors utiliser le programme de filtre spamassassin.

 

Il faut décocher la case « Si ce filtre est applicable, ne pas poursuivre ».

 

Le second dira la chose suivante :

Si l'en-tête X-Spam-Status contient "Yes"; ou si le sujet contient *****SPAM***** , alors mettre dans le dossier Corbeille.

 

Je vous conseille fortement de déplacer les spams vers la corbeille, car il est possible (et même probable avec un score de 5) que certains mails qui ne sont pas du spam soient détectés comme tels. Si vous les supprimez directement, vous ne pourrez jamais les lire. Si vous les déplacez vers la corbeille ou un autre dossier, vous pourrez toujours aller voir de temps en temps pour vérifier que ce n’est pas le cas.

 

Je vous conseille aussi de mettre ces deux filtres en bas de la liste de vos filtres de messagerie. Ainsi, tous les messages "pré-filtrés" (par exemple provenant de listes de messagerie que vous dirigez vers un dossier spécifique) ne passeront pas par SpamAssassin : ils n’en ont pas besoin puisqu’ils viennent de correspondants connus. SpamAssassin utilisant quand même une certaine quantité de ressources systèmes, vous risquez autrement de voir votre réception mail durer assez longtemps...

Si vous utilisez un MTA+MDA+MUA...

 

Dans ce cas, vous avez une solution qui permet d’économiser des ressources systèmes : le couple spamd/spamc. Il s’agit en fait d’un démon (spamd) qui permet de ne lancer qu’une seule instance de SpamAssassin (au lieu de plusieurs dans le cas précédent) et qui se fait envoyer les messages par plusieurs clients spécifiques (spamc). Cela accélère nettement le temps de traitement.

 

Pour configurer tout ça, il faut que vous ayez un serveur Mail installé. J’utilise personnellement Postfix, mais les autres marchent aussi bien [2].

 

Ensuite, il faut que vous ayez un MDA. Par défaut sur la plupart des distributions, on dispose de procmail.

 

Il faut enfin que vous ayez un outil qui aille chercher vos mails sur vos différentes boîtes aux lettres. Fetchmail est le plus connu.

 

Je vous laisse aller voir les différents liens (en fin d’article) pour configurer ces trois outils là.

 

Pour configurer SpamAssassin pour marcher avec tout ça, il faut d’abord comprendre comment ça marche :

- Fetchmail va chercher vos mails chez votre ISP ;

- Il les délivre à Postfix ;

- Postfix les traite et les délivre à procmail ;

- Procmail les met dans votre boite aux lettres (par défaut /var/mail/$LOGNAME).

- KMail va les chercher dans votre boite et les redistribue dans vos sous-dossiers en fonction de ses filtres.

 

C’est procmail qui va être chargé de la lourde tâche de transférer les mails à SpamAssassin. Pour cela, il faut définir pour l’ensemble du système un fichier /etc/procmailrc.

 

Voici le fichier que j’utilise :

 

####################################################

# Run Procmail as user

DROPPRIVS=yes

#

LOGFILE=/var/log/procmail.log

VERBOSE=ON

 

# Spamassassin

 

:0fw

* < 256000

 

| /usr/bin/spamc -f

 

:0e

{

EXITCODE=$?

}

####################################################

 

Il est nécessaire de bien faire attention à l’indentation pour que procmail fonctionne correctement.

 

Il faut aussi que votre fichier de log soit en écriture pour le groupe "mail" si vous voulez les voir. Vous pourrez désactiver le log une fois que tout fonctionne (en le mettant en commentaire avec un # devant).

 

Enfin, il faut vérifier que le démon spamd est bien lancé au démarrage. Sur Mandrake, vous devriez avoir un script /etc/init.d/spamassassin qu’il vous suffit de rendre exécutable.

 

La ligne < 256000 sert à limiter la taille des messages passés à SpamAssasin, car les spams sont en général de très petite taille et cela évite de consommer trop de ressources.

 

Une fois tout cela fait, il reste à vérifier que les mails sont bien traités en vous envoyant un mail. En affichant la source du mail, vous pourrez voir si les champs X-Spam-Status et X-Spam-Level sont bien présents. En allant voir le procmail.log, vous pourrez vérifier que tout s’est bien passé.

 

Reste enfin à mettre un filtre dans KMail pour orienter le spam vers la corbeille, comme ci-dessus.

 

C’est terminé !

Razor

 

C’est bien, vous avez maintenant configuré votre outil de lutte antispam. Pour être encore plus précis, vous pouvez aussi installer un outil qui permet de vérifier que le mail reçu n’est pas enregistré dans une base de données de Spam disponibles. C’est l’outil Razor.

 

Pour ce faire, il suffit d’un petit urpmi perl-Razor-Agent-2.20-2 mdk [3].

 

Il faut ensuite configurer Razor (je vous renvoie sur leur site).

 

Redémarrez spamassassin (en root) :

 

# /etc/init.d/spamassassin reload

 

Vous aurez ainsi accès à la base Razor.

Augmenter son Karma

 

Si vous voulez augmenter votre Karma de Netizen, vous pouvez participer au réseau de détection du Spam géré par Razor.

 

Pour cela, il existe deux solutions :

- Vous configurez vous-même l’envoi à Razor ;

- Vous renvoyez tous les spams à une adresse prédéfinie pour qu’ils soient rajoutés à Razor.

 

La première solution allant au delà de ce document [4], nous ne verrons que la deuxième : Il suffit de renvoyer tous les spams à l’adresse mon_adresse_at_mon_fai@spamtraps.taint.org (en replaçant la première partie par votre adresse au format webmaster_at_linux-nantes.fr.eu.org). Sur ce serveur, le mail sera traité et rajouté dans razor.

 

Un point de détail cependant, certains serveurs utilisent les bases de spams en question pour se protéger, et vont jusqu’à générer un Portscan sur votre IP pour vérifier que votre mailer est correctement configuré. Ne vous étonnez donc pas si vous êtes scannés en provenance de la même adresse régulièrement.

Liens

 

Voici quelques liens pour vous aider à configurer le tout.

 

Fetchmail

- Le site de Fetchmail

- Config Fetchmail sur Lea

 

Postfix

- Postfix

- Configurer Postfix

- Un Cours Postfix

- Sécuriser un serveur Postfix

 

ProcMail

- Procmail

- QuickStart

 

SpamAssassin

- Le Site

 

Razor

- Le Site

 

KMail

- Le Site

 

Global

- Un article proche, du CLX ;

 

espaceur
ceydric