Spam
Comment en finir avec les spams sur SME
/!\ par defaut le filtre anti-pourriel(spamassassin) est desactivé pensez à l'activer !
/!\ pour les pressés regardez la section Rush job !!
Sommaire
- 1 whitelist blacklist
- 2 modifications a LearnAsSpam.pl de sonora
- 3 réglage de la sensibilité de spamassassin en personnalisé
- 4 Filtre Bayesien : l'indispensable
- 5 Problèmes avec Spamfilter stats-7.pl
- 6 réglages avancés pour spamassassin
- 7 classement des spams
- 8 fichiers joints dangereux
- 9 DNS et RHBL
- 10 Règles personnalisées : l'ultime recours pour limiter des spams envahissants
- 11 Activer l'anti spam pour le LAN
- 12 Augmenter le temps de réponse du serveur
- 13 Gestion facile des Whitelistes et Blacklistes
- 14 lexique
- 15 sources
- 16 et voila le resultat
- 17 Petit Hack pour voir les stats de qmail dans awstats de smeserver-contribs
whitelist blacklist
Vous pouvez blacklister ou whitlister des domaines de receveur ou expéditeur ou smtp d'envoi; ou des comptes mails de receveur expéditeurs. Voici ce que je vous conseille de rajouter au minimum (a adapter suivant vos correspondant usuels ne blacklistez pas le japon si vous êtes importateurs de manga)
db spamassassin setprop wbl.global \ *.my Black \ *.mx Black \ *.ph Black \ *.cc Black \ *.fi Black \ *.co.nz Black \ *.br Black \ *.jp Black \ *.hk Black \ *.ai Black \ *.ru Black \ *.bo Black \ *.pl Black \ *.pk Black \ *finances.gouv.fr White signal-event email-update
Vous pouriez aussi ajouter en blacklist ces domaines mais voulant epargner des correspondant italiens, anglais et australiens, ainsi qu'un correspondant farfelu en .biz je ne l'ai pas fait.
*.biz *.it *.co.uk *.au
Pour vérifier votre black/white list :
db spamassassin show
modifications a LearnAsSpam.pl de sonora
Étant particulièrement fainéant j'ai modifié ce fabuleux script pour qu'il apprenne directement de ce qui est dans .junkmail au lieu de learnspam par défaut. Je vais aussi dans les prochains jour le faire arrêter d'effacer et apprendre que les fichier plus vieux que 7 jours et moins vieux que 8 jours. Sachant que spamassassin efface automatiquement les spam dans ce dossier au bout de 90 jour par défaut que j'ai ramené a 15 jour pour ma part. De plus le dossier mail de l'admin n'étant pas au même endroit il est oublié par ce script alors que c'est souvent le premier réceptacle a SPAM.
Attention toutefois ceci peut vous amener a faire apprendre comme spam des messages qui ne le sont pas si vous ne vérifiez pas à temps tous les jours le contenu de junkmail
on modifie le fichier learnasspam.pl, ligne 36 apprentissage dans le dossier "junkmail" directement, par défaut "LearnAsSpam":
mcedit /usr/bin/LearnAsSpam.pl
réglage de la sensibilité de spamassassin en personnalisé
via le serveur manager
rendez vous a la page "Messagerie Electronique" / "configuration de la messagerie électronique"
sensibilité du filtre => personnalisé Niveau personnalisé de marquage => 4
cette dénomination est trompeuse, cela correspond en fait au score que doit avoir le courrier pour etre considéré comme SPAM.
Niveau de rejet personnalisé => 0
cette valeur correspond au score a partir duquel le mail est totalement rejeté il n'est pas accepté par le serveur, vous n'avez donc aucune trace de son existence. Si vous laissez à 0 tout est accepté et au pire mis dans le dossier .junkmail du destinataire.
Envoyer les pourriels dans la corbeille => Activé
cela signifie en fait mettre les SPAM dans le dossier .junkmail
Modifier le sujet des pourriels => Activé Pièces jointes à bloquer => toutes sauf les ZIP
en console
config setprop spamassassin Sensitivity custom config setprop spamassassin RejectLevel 10 config setprop spamassassin TagLevel 4 signal-event email-update
Filtre Bayesien : l'indispensable
Installation configuration
Le filtre bayesien va vous permettre d'affiner les filtres de spamasssasin. suivez le how to ici: http://www.sonoracomm.com/index.php?option=com_content&task=view&id=49&Itemid=32
Vous pourrez ainsi obtenir une mise a jour automatique, un apprentissage automatique, et en plus un rapport journalier. voici ce que vous devez faire en résumé:
config setprop spamassassin UseBayes 1 signal-event email-update
cd /usr/bin wget http://mirror.pialasse.com/contribs/bread/mailstats/LearnAsSpam.pl wget http://smeserver.pialasse.com/fichiers/spamfilter-stats-7.pl cd /etc/cron.d wget http://mirror.pialasse.com/contribs/bread/mailstats/LearnAsSpam.cron /etc/rc.d/init.d/crond restart
Mailstats
Pour installer mail stats afin de recevoir un email avec un resumé de l'activité mail de la journée:
yum install --enablerepo=smecontribs smeserver-mailstats
Apprentissage manuel
pour le courrier désirable
sa-learn --ham /home/e-smith/files/users/[your-user-name]/Maildir/cur/*
pour le courrier indésirable
sa-learn --spam /home/e-smith/files/users/[your-user-name]/.junkmail/cur/*
Problèmes avec Spamfilter stats-7.pl
Si votre SME a subi les mises a jour depuis la version 7.0 voir anterieur il se peut que les logs de qpsmtp n'en disent pas assez pour Spamfilter stat (LogLevel 8). Ceux qui ont installé une SME 7.2 fraiche sont deja en Loglevel 6 à priori.
vous aurez alors des erreurs du style:
Use of uninitialized value in numeric gt (>) at /usr/bin/spamfilter-stats-7.pl line 1047.
la solution :
config setprop qpsmtpd LogLevel 6 signal-event email-update sv t /var/service/qpsmtpd
et attendez gentiment 24 heures.
réglages avancés pour spamassassin
langue
par défaut c'est "all" si vous êtes parano vous pouvez restreindre à "fr" ou à "fr en"
config setprop spamassassin OkLanguage fr signal-event email-update
JE DECONSEILLE DE MODIFIER LE PARAMETRE PAR DEFAUT
encodage de caractere
Vous pouvez modifier le parametre par defaut "all"
config setprop spamassassin OkLocales en signal-event email-update
JE DECONSEILLE DE MODIFIER LE PARAMETRE PAR DEFAUT
classement des spams
utilisation du dossier junkmail
par défaut spamassassin mets les SPAM dans la boite de réception ce qui est très pratique pour les utilisateurs POP en cas de faux positif, mais n'est pas pratique pour l'apprentissage, et surtout ne facilite pas la vie de l'utilisateur ( ce réglage est disponible via le manager):
config setprop spamassassin SortSpam enabled signal-event email-update
limiter la durée de conservation
par défaut spamassassin garde les mails dans le junkmail 90 jours ce qui est trop long
config setprop spamassassin MessageRetentionTime 15 signal-event email-update
tag des SPAM
pour activer le tag des spams dans le sujet défaut: disabled (réalisable aussi depuis le server-manager)
config setprop spamassassin SubjectTag enabled signal-event email-update
modification du sujet
vous pouvez modifier ce qui est ajouté aux spam par défaut [SPAM]
config setprop spamassassin Subject POURRIEL signal-event email-update
a noter que cela n'a pas l'aire de fonctionner car les ajouts par défaut sont ***SPAM***
fichiers joints dangereux
dans le manager
rendez vous a la page "Messagerie Électronique" / "configuration de la messagerie électronique"
Pièces jointes à bloquer => toutes sauf les ZIP
en ligne de commande =
db setprop mailpattern AHhIYW5k Status enabled db setprop mailpattern AHhUYXgg Status enabled db setprop mailpattern AMkgICAg Status enabled db setprop mailpattern AMlIbDk5Lm Status enabled db setprop mailpattern GIF01 Status enabled db setprop mailpattern TVoAAAAAA Status enabled db setprop mailpattern TVoAAAEAAA Status enabled db setprop mailpattern TVoAAAQAA Status enabled db setprop mailpattern TVoAACoAG Status enabled db setprop mailpattern TVoAAD8AA Status enabled db setprop mailpattern TVoFAQUAA Status enabled db setprop mailpattern TVoIARMAA Status enabled db setprop mailpattern TVouARsAA Status enabled db setprop mailpattern TVp1AQEAAAAE Status enabled db setprop mailpattern TVpAALQAc Status enabled db setprop mailpattern TVpLRVJOR yes Status enabled db setprop mailpattern TVpQAAIAA Status enabled db setprop mailpattern TVpyAXkAX Status enabled db setprop mailpattern TVqQAAMAA Status enabled db setprop mailpattern TVqgAAEAAAAFAAAA Status enabled db setprop mailpattern TVrQAT8AA Status enabled db setprop mailpattern TVrhARwAk Status enabled db setprop mailpattern TVrmAU4AA Status enabled db setprop mailpattern ZIPV1 Status disabled db setprop mailpattern ZIPV2 Status disabled
DNS et RHBL
les activer
config setprop qpsmtpd DNSBL enabled RHSBL enabled signal-event email-update
pour eviter trop de faux positifs
il arrive que les FAI européen (orange, neuf...) soient règlement listé sur : dnsbl-2.uceprotect.net ou encore sur : list.dsbl.org et meme sur bl.spamcop.net (gmail est aussi souvent victime). donc essayez de les supprimer.
config setprop qpsmtpd RBLList combined.njabl.org:psbl.surriel.com config setprop qpsmtpd SBLList \ bogusmx.rfc-ignorant.org:multi.surbl.org:black.uribl.com:rhsbl.sorbs.net:\ bulk.rhs.mailpolice.com:fraud.rhs.mailpolice.com:porn.rhs.mailpolice.com:\ adult.rhs.mailpolice.com:ex.dnsbl.org signal-event email-update
désactiver les DNS et RHBL blacklistes
config setprop qpsmtpd DNSBL disabled RHSBL disabled signal-event email-update
Règles personnalisées : l'ultime recours pour limiter des spams envahissants
Il arrive que les scores donnés par défaut par spamassassin soient trop généralistes pour votre activité. Par exemple si vous avez une activité dans le domaine de la santé ils e peut que votre spam soit plus orienté vers les médicaments que la moyenne, ou que les messages informatiques soient clairement identifiable comme spam. Ou encore que les règles soient trop restrictives et que vous ayez besoin de faire quelque chose qui contrebalance (score négatif). Vous aurez besoin de maitriser les REGEXP perl Si vous êtes victimes de SPAMS qui ne sont pas bloqués, vous pouvez créer des règles spécifiques vous même pour spamassassin et donner votre propre score:
Créez un template:
mkdir -p /etc/e-smith/templates-custom/etc/mail/spamassassin/local.cf vi 85_LOCALS
Ajoutez grace à l'editeur vi vos regles par exemple pour réagir à la présence d'une entête nommée X-MELIOS dans le courrier original et ajouter 5 à la note fournie par SpamAssassin :
# commentaire perso header XIMELIOS_DETECTED X-MELIOS =~ /Suspected\ Spam/ score XIMELIOS_DETECTED 5
Ou a la présence de Viagra dans les entêtes d'un mail :
# handle laposte.net antispam result header LOCAL_HEAD_VIAGRA ALL=~ /Viagra/i score XIMELIOS_DETECTED 2
Ou d'une image de pillules dans le corps du message :
# handle too many pills stuff body LOCAL_MEDS_ONLINE /alt=".* Meds online"/i score LOCAL_MEDS_ONLINE 5 describe LOCAL_MEDS_ONLINE Regle pour les medocs
Ou si vous voulez sauvegarder de la corbeille ou du refus les messages parlant de chiropratique:
# chiropratique body LOCAL_CHIRO /chiropratique/i score LOCAL_CHIRO -3 describe LOCAL_CHIRO Regle pour les chiro
Puis :
expand-template /etc/mail/spamassassin/local.cf signal-event email-update
Je vous laisse vous référer a la documentation de spamassassin et aux expressions régulières pour rédiger vos règles. Le but de ce tuto est uniquement de vous aider a adapter à SME. ATTENTION toutefois à ne pas faire une règle trop large qui puisse mettre trop de courrier acceptable dans la catégorie SPAM. Un bon tutorial est disponible ici http://home.comcast.net/~mkettler/sa/SA-rules-howto.txt (en anglais)
Activer l'anti spam pour le LAN
mkdir -p /etc/e-smith/templates-custom/var/service/qpsmtpd/config/peers/local ln /etc/e-smith/templates/var/service/qpsmtpd/config/peers/local/70spamassassin /etc/e-smith/templates-custom/var/service/qpsmtpd/config/peers/local//etc/e-smith/templates-custom/var/service/qpsmtpd/config/peers/local expand-template /var/service/qpsmtpd/config/peers/local signal-event email-update
Augmenter le temps de réponse du serveur
La majorité des serveur de spam n'attendent pas après l'autorisation de parler après le HELO. Par défaut SME attend 1 seconde avant d'envoyer son autorisation. En augmentant sensiblement à 3 secondes le nombre de positif augmentera à la règle early talker:
mkdir -p /etc/e-smith/templates-custom/var/service/qpsmtpd/config/peers/0 cd /etc/e-smith/templates-custom/var/service/qpsmtpd/config/peers/0 echo "check_earlytalker wait 3" > 10check_earlytalker signal-event email-update
Gestion facile des Whitelistes et Blacklistes
Une contribution est apparue afin de gérer les listes plus facilement:
yum --enablerepo smecontribs install smeserver-wbl signal-event post-upgrade; signal-event reboot
Puis direction le server manager pour configurer
lexique
- SPAM : courriel non désiré ou encore "pourriel"
- HAM: courriel, message éléctronique quin'est pas un SPAM
- faux positif: HAM qui est detecté comme un SPAM
- faux negatif: SPAM qui passe a travers les mailles du filet
sources
http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/
http://www.sonoracomm.com/index.php?option=com_content&task=view&id=49&Itemid=32
http://forums.ixus.fr/viewtopic.php?t=38672&start=0
http://forums.ixus.fr/viewtopic.php?t=37294&highlight=spamassassin
et voila le resultat
Yes, hits=134.9 required=4.0 tests=DIGEST_MULTIPLE,FB_PENIS,FRT_PENIS1,FRT_SEXUAL,HTML_MESSAGE,PYZOR_CHECK,RAZOR2_CF_RANGE_51_100,RAZOR2_CF_RANGE_E8_51_100,RAZOR2_CHECK,RCVD_IN_PBL,RDNS_DYNAMIC,SARE_ADLTOBFU,SARE_ADLTSUB1,SARE_OBFUSEXUAL,SPF_HELO_SOFTFAIL,SPF_SOFTFAIL,SUBJECT_FUZZY_PENIS,URIBL_AB_SURBL,URIBL_BLACK,URIBL_JP_SURBL,URIBL_OB_SURBL,URIBL_SBL,URIBL_SC_SURBL,USER_IN_BLACKLIST
Petit Hack pour voir les stats de qmail dans awstats de smeserver-contribs
inspiré de ce tuto : http://wiki.contribs.org/Qmail_Statistics_%28AWStats%29
exécuter ceci après l'avoir examiné http://smeserver.pialasse.com/fichiers/qmail-awstats-setup.v4.sh
cd ~ wget http://smeserver.pialasse.com/fichiers/qmail-awstats-setup.v4.sh sh qmail-awstats-setup.v4.sh
petit hack (à consulter avant)
cd /etc/e-smith/web/functions/cgi wget http://smeserver.pialasse.com/fichiers/awstats.patch patch awstats -i awstats.patch