Bloquer le spam avec postfix en utilisant les variables header_check et body_check

Tout le monde connait le spam et en reçoit régulièrement sur sa boite mail , malheureusement les spammeurs sont de plus en plus à la pointe. Nos serveurs de messagerie souffrent de plus en plus 🙁 .
Comme la plupart de mes billets que j’écris il s’agit souvent de problème que je rencontre et j’essaie de trouver une solution. Pour la petite histoire comme tout admin-sys je suis inscrit sur différente ML et il m’arrive de poster quelques messages mais comme souvent les archives sont souvent publiques cela à des avantages mais aussi des inconvénients . En faisant une simple recherche sur « debian fr mailing list archives  » .
On se retrouve avec une masse d’adresse disponible dont la mienne :s . Bien-sur les spammeurs le savent également , et maintenant je reçoit 4 à 5 spams par semaine .
Je vous vois déjà hurler mais tu te fous de notre gueule tu reçois que ça et tu te plains eh wii le spam c’est mal et en plus ça me parle déjà de viagra (je suis encore trop jeune ) 🙂 .Voila pour la petite histoire.

Nous allons utiliser la librairie PCRE afin de mettre tout ceci en place.

  1. /*
  2. apt-get install postfix-pcre
  3. */

Vous devriez avoir maintenant cette ligne dans dynamicsmaps.cf

  1. /*
  2. pcre /usr/lib/postfix/dict_pcre.so dict_pcre_open
  3. */

On rajoute ceci dans notre main.cf

  1. /*
  2. header_checks = pcre:/etc/postfix/header-filter
  3. */

Maintenant on peut rajouter dans le fichier header-filter (Ceci n’est qu’une partie de mon header-filter à adapter en fonction des spams que vous recevez)

  1. /*
  2. /^Subject: make money fast/ DISCARD
  3. /^Subject: .*\?{2,}+.*/ DISCARD
  4. /^Subject: .*(@domain1|@domain2)\.(com|fr)/ DISCARD
  5. /^Subject: You have new message/ DISCARD
  6. /^Subject: .*(BEST PRICE|PRICE|BEST|BUY).*/ DISCARD
  7. /^X-Spam-Status: HELO_DYNAMIC_IPADDR=(2|3|4).*\..*/ DISCARD
  8. /^X-Spam-Status: FORGED_MUA_OUTLOOK=(2|3|4).*\..*/ DISCARD
  9. /^From: .*@.*\.(ru|jp|kr)/ DISCARD
  10. */

Vous avez le choix entre plusieurs status :
Discard:Le message sera bloqué sans notification auprès de l’expéditeur
OK : Comme son nom l’indique
Reject : Rejette le message mais avec une notification , vous avez la possibilité de rajouter une description pour un diagnostic futur (si l’expéditeur n’est pas un spammeur.

  1. /*
  2. ^From: .*@.*\.ru/ REJECT Les domaines en RU ne sont pas acceptés (Pourquoi tant de discrimination)
  3. */

Les messages rejetés se présentent comme ceci dans votre mail.log

  1. /*
  2. reject: header Subject: user@domain1.com from mailer.xxx.yyy[xxx.xxx.xxx.xxx]; from=<user@toto.fr> to=<moi@domain1.com> proto=ESMTP helo=<mailer.xxx.yyy>: 5.7.1 message content rejected
  3. */

Pour plus de détails sur les expressions régulières PCRE c’est ici.

Related posts

Leave a Comment