J'ai mis en place il y a quelques années sur ma SME un fichier local.cf personnalisé qui, depuis, me donne assez satisfaction. L'intérêt est surtout qu'on peut personnaliser cela en fonction du spam qu'on reçoit, et donc ajuster le filtrage pour avoir le moins possible de faux positifs tout en laissant passer très peu, voire pas du tout de spam.
Cet ajustement est un travail long et fastidieux que j'ai toujours un peu négligé : il faut analyser en détails les spams qui passent et les faux positifs pour essayer d'en tirer des règles à intégrer dans local.cf. Si on veut faire ça bien, on passe plus de temps à fignoler son local.cf qu'on en passerait à trier ses mails non filtrés
Or, si la personnalisation est ce qui fait tout l'intérêt de la chose, elle peut ne représenter qu'une petite partie, celle concernant le spam reçu de par les habitudes de navigation et de la diffusion de son adresse mail. Pour tout le reste, les règles peuvent être communes à tous, puisqu'elles concernent le spam le plus répandu. Mais, même pour cette partie commune, on a tout intérêt à ajuster au fil du temps (le spam évolue, très vite même !).
Le but de ce post est donc de partager les règles mises en place par les membres d'Ixus et le partage de leur expérience. On pourra ainsi affiner au moins la partie ne dépendant pas des habitudes personnelles, et aussi partager nos astuces en matière d'expressions régulières. J'espère même qu'on pourra mettre dans le wiki un fichier local.cf de base que chacun pourra utiliser.
J'attends donc vos fichiers (ou parties de fichier) et vos commentaires sur cette manière de filtrer le spam
En attendant, voici le fichier que j'utilise (qui demanderait à être améilioré : je n'y ai fait que deux ou trois petits aménagements depuis que je l'ai mis en service ) :
- Code : Tout sélectionner
# Regles perso pour spamassassin
# Inspire fortement par http://perso.limsi.fr/zabeth/spam/local.cf
#
# ----------------------------------------------------------
# Analyse du sujet
# ----------------------------------------------------------
header JB_SJ_01 Subject =~ /\b(?:large(st)?r? pole|cumshot|weewee|male meat|pen\!s|e_xual|massive rods|manhood|sperm|pants|penis|agra|cock|bed|valium|erection|s3x|seks|sexual|sexe?y?|sexually|night life|your night|orgasm|love tool|pennis|xanax|spermi|Peonies|penh)s?\b/i
describe JB_SJ_01 Sujet : Pitoy
score JB_SJ_01 3
header JB_SJ_02 Subject =~ /\b(?:get bigger|(?:new|desired) size|extra large|giant|bonus|amazing(ly)?|inches|improvement|boost|enlar?ge|en1arge|length|increase|width|growth|stronger|enhanced?|lose|feel|filling|enhancement|maximize|upsize)\b/i
describe JB_SJ_02 Sujet : daku-daku !
score JB_SJ_02 2.4
header JB_SJ_03 Subject =~ /\b(?:some tax|banke[a-z]{1,}|need funds|kurzel|retail price|money|trade|trading|loan|investment|freelance|investing|investor|low(est)? cost|order now|deals?|discount(ed)?|credit|deposit)s?\b/i
describe JB_SJ_03 Sujet : banco
score JB_SJ_03 2.7
header JB_SJ_04 Subject =~ /\b(?:weltmeister|more wild|heart(?:breaker| problem)|ejaculation|cu{1,}m|(im)?poten(?:cy|za?|ce)|cowards|male (?:package|tool)|schluong|intimate dream|attractivnes|skyrocket|full of passion|shaven|porno|bling bling|new mate|loving|obsessed|graziosa|miracolo|shocking)s?\b/i
describe JB_SJ_04 Sujet : Ukon
score JB_SJ_04 3
header JB_SJ_05 Subject =~ /\b(?:(?:stylish|original|rep(lica)?s?|on|brande?d?|classy|simple|designer|incredible) watche?s?|watche?s? (?:made|or hi?m?e?r?)|armani|omega|Breitling|Cartier|Muller|Submariner|Gucci|Longines|Ro( )?lex|Tag Heuer|golden|LeCoultre|Constantin|iwc|patek)\b/i
describe JB_SJ_05 Sujet : relo
score JB_SJ_05 3
header JB_SJ_06 Subject =~ /\b(?:(?:into|enter|make|doing) her|plus grosse|vie en gros|t?m?on slip|your stick|virility|(?:big|male) (?:instrument|member))\b/i
describe JB_SJ_06 Sujet : pagkalalaki
score JB_SJ_06 3
header JB_SJ_07 Subject =~ /(?:masturb|slut|nipple|horny|bikini|teenage|hotties|pussy|pussies|virgin|penetration|Penis|Organ|Erctile|Phallus|newoffer|moneyback|bedroom)/i
describe JB_SJ_07 Sujet : Partie de mot douteuse
score JB_SJ_07 2.5
header JB_SJ_08 Subject =~ /discount/i
describe JB_SJ_08 Sujet : discount
score JB_SJ_08 2
# ----------------------------------------------------------
# Analyse du trajet
# ----------------------------------------------------------
header JB_THRU_01 Received =~ /unknown/
describe JB_THRU_01 serveur/relais inconnu
score JB_THRU_01 1
header JB_THRU_02 Received =~ /(?:net|band|com|hello|web|telecomitalia|server|connect|pool)\.(?:ae|ar|br|cl|in|ma|pe|pl|ru|sk|tr|uy|vn)/i
describe JB_THRU_02 Domaine ou tld suspect
score JB_THRU_02 2
# ----------------------------------------------------------
# Analyse de l'expediteur
# ----------------------------------------------------------
header JB_F_01 From =~ /(?:vaigra|after work|gambling|pharma|penis|poker|thousand|remedi?y?e?|eurosoftware|4you|mortgage|gaame|greentable|greentablegame|scratch|cheap|viagra|cialis|valium|casino|astrology|emphasize|illegal|hormone|financial|stocknews)/i
describe JB_F_01 From : Contient des mots proscrits
score JB_F_01 4
header JB_F_02 From =~ /VIAGRA\s.\sOfficial\sSite/
describe JB_F_02 From contient VIAGRA * Official Site
score JB_F_03 5
header JB_F_03 From =~ /OriginalViagra/
describe JB_F_03 From contient OriginalViagra
score JB_F_03 5
header JB_F_04 From =~ /\.(?:BR|COM|RU|ORG|UK)/
describe JB_F_04 From : en majuscule
score JB_F_04 1.5
header JB_F_05 From =~ /\@[A-Z]{3,}/
describe JB_F_05 From : en majuscule
score JB_F_05 1.5