Spam : Différence entre versions
(→Installation configuration) |
(→Filtre Bayesien : l'indispensable) |
||
Ligne 84 : | Ligne 84 : | ||
wget http://smeserver.pialasse.com/fichiers/spamfilter-stats-7.pl | wget http://smeserver.pialasse.com/fichiers/spamfilter-stats-7.pl | ||
cd /etc/cron.d | cd /etc/cron.d | ||
− | |||
wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/LearnAsSpam.cron | wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/LearnAsSpam.cron | ||
/etc/rc.d/init.d/crond restart | /etc/rc.d/init.d/crond restart |
Version du 1 décembre 2009 à 06:01
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 ultime recours pour limiter des spams envahissants
- 11 Activer l'anti spam pour le LAN
- 12 rush job
- 13 lexique
- 14 sources
- 15 et voila le resultat
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://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/LearnAsSpam.pl wget http://smeserver.pialasse.com/fichiers/spamfilter-stats-7.pl cd /etc/cron.d wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/LearnAsSpam.cron /etc/rc.d/init.d/crond restart
les lignes suivantes ne sont pas necessaires pour sme >=7.3 car il le fait de base déjà:
cd /etc/cron.daily wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/sa-update chmod +x sa-update
Si vous recevez 2 notifications sa-update apres la mise a jour vers 7.3 faites :
rm /etc/cron.daily/sa-update
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 soient règlement listé sur : dnsbl-2.uceprotect.net ou encore sur : list.dsbl.org (gmail est aussi souvent victime). donc essayez de les supprimer.
config setprop qpsmtpd RBLList \ :dnsbl-1.uceprotect.net\ :multihop.dsbl.org:psbl.surriel.com:zen.spamhaus.org
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\ :blackhole.securitysage.com signal-event email-update
pour les remettre:
config setprop qpsmtpd RBLList \ :dnsbl-1.uceprotect.net:dnsbl-2.uceprotect.net:list.dsbl.org\ :multihop.dsbl.org:psbl.surriel.com:zen.spamhaus.org
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\ :blackhole.securitysage.com signal-event email-update
désactiver les DNS et RHBL blacklistes
config setprop qpsmtpd DNSBL disabled RHSBL disabled signal-event email-update
ultime recours pour limiter des spams envahissants
Si vous êtes victimes de SPAMS qui ne sont pas bloqué, 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
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
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
rush job
# activer Spamassassin config setprop spamassassin status enabled # retension limitée config setprop spamassassin MessageRetentionTime 15 # config setprop spamassassin SubjectTag enabled
# activer apprentissage bayesien config setprop spamassassin UseBayes 1
# installer LearnAsSpam cd /usr/bin wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/LearnAsSpam.pl # installer spamfilter stats wget http://smeserver.pialasse.com/fichiers/spamfilter-stats-7.pl # automatiser les taches cd /etc/cron.d wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/LearnAsSpam.cron wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/mailstats.cron cd /etc/cron.daily # mise a jour des regles de spamassassin wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/contribs//bread/mailstats/sa-update chmod +x sa-update /etc/rc.d/init.d/crond restart
# personalisation de la sensibilité config setprop spamassassin Sensivity custom config setprop spamassassin RejectLevel 0 config setprop spamassassin Taglevel 4
#activation des DNS et RHBL blacklistes (allégées de 2 listes) config setprop qpsmtpd RBLList \ :dnsbl-1.uceprotect.net:\ :multihop.dsbl.org:psbl.surriel.com:zen.spamhaus.org config setprop qpsmtpd DNSBL enabled RHSBL enabled
# blocage des domaines indesirables, et inversement db spamassassin setprop wblglobal \ *.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
#fichier joints a bloquer 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
#on mets tout ca en application signal-event email-update
plus qu'a creer le dossier LearnAsSpam et à le remplir vous meme des SPAM qui passent encore pour chaque utilisateur qui a envie de s'y coller. Laisser 1 jour à spamassassin le temps de s'adapter.
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