Outils personnels
Vous êtes ici : Accueil Ze Valken's Blog Topics anti-spam
Tag Cloud
acer active directory adsl airport express alienware amazon anabret antec anti-spam antivirus app store apple apple expo apple store applecare arnaud larher asus asus terminator athlon 64 athlon xp ati audigy b'twin barebone batterie bind bitdefender blog blu-ray bluetooth boitier booq bouygues télécom brenthaven bug canalsat canon captcha chloe clavier coolermaster core 2 corsair covertec cpl creative css d-link d900 da vinci code dashboard dell divx done that ds dune dvd décathlon ecran edf emule enermax enregistreur numérique ericsson facebook films firefox flickr fon fossil france télécom free freebsd fujitsu fun gameboy garantie geforce gigabyte google gps graveur griffin gskill gundam half life 2 hdmi hitachi home-cinéma ibook id3 ilife internet internet explorer iphone iphoto ipod itunes ixus j'ai vu/lu jacky jeux jres k750 k800 l'express la fraise la poste lg linksys linux live search logitech loto mac mac os x macbook macbook pro maison mdp media center media extender microsoft mistergooddeal montgallet montre mp3 msi n95 nero netgear neuf télécom newsgator nintendo nokia norton nvidia open source orange ordinateur oregon scientific visual overclock p2p panda panne paypal pc-cillin pdair pentium iii philips photo photoshop album php picasa playstation plextor plone portable portage ports postfix postgrey powerbook qplonecomments quills radeon ram raptor realtek rer route 66 rss sac safari samsung sauvegarde scsi seagate seti sfr shozu sidebar simpleblog sims site snap snoopy société sony sony ericsson souris star wars stardate stargate atlantis stats suivi séries taisol technologie ten thèmes tnt tom tom tps travail tversity télé télé2 téléphone ups v3 vaja via victorinox viewsonic virgin virtualisation virus vmware vol vélo wave web webcam webmin western digital widcomm widget wifi wii windows windows ce wow wtf x.org xbox yahoo! widgets yamaha z600 zalman zope
 

anti-spam

03/07/2006

Postgray avec Postfix

by Paig Chong Woo — last modified 03/07/2006 00:00

Le graylisting facile.

Cet article (lâchement repompé en partie sur HowtoForge), montre comment on peut implémenter un système de graylisting en moins de 5 min sous FreeBSD, à l'aide de Postgrey (à condition que Postfix soit déjà installé).

Pour ceux qui n'ont pas encore Postfix d'installé, je les renvoie vers Postfix SMTP AUTH (and TLS) HOWTO, c'est le maître Jedi qui m'a tout appris. C'est un tutoriel pour Linux, mais c'est trivial d'adapter à FreeBSD.

Petite explication du graylisting, avant de commencer. Le graylisting, c'est une méthode de filtrage de spams. Mais contrairement aux white et blacklists, qui sont des listes figées et à entretien manuel, la graylist est adaptative. Pour cela, elle utilise une fonction du protocole SMTP qui permet de signaler au serveur de courrier expéditeur qu'on ne peut pas recevoir de courrier pour l'instant. Et comme indiqué dans le protocole, le serveur de courrier reviendra peu après pour réessayer la remise. Notre serveur n'acceptera de courrier de celui-ci que si un certain délai (par défaut 5 minutes) s'est écoulé depuis la première tentative.

Or les spammeurs n'utilisent pas de vrais serveurs de courrier, et ne réessaient pas l'envoi de leurs spams. Du coup, ces derniers n'arrivent jamais dans les boîtes des utilisateurs ! Simple et efficace. :)

Le problème de ce système est que ça introduit un délai supplémentaire dans la remise du courrier électronique, du temps d'attente avant acceptation du mail. On peu réduire le temps d'attente du graylist, mais cela pourrait réduire l'efficacité du système, si jamais un spammeur bombarde le serveur pendant plusieurs minutes (la probabilité est faible, cependant).

Autre inconvéniant, l'expéditeur du mail peut recevoir un message d'erreur comme quoi le serveur destinataire a refusé le message, alors qu'il a bien été transmis, avec seulement un peu de retard.

Passons à l'installation de Postgray et l'intégration à Postfix :

D'abord, installer Postgray par les ports :

$ portinstall postgray

Si tout se passe bien, Postgray est installé. :) Sinon, il faut observer les messages pendant l'installation et résoudre en conséquence.

Maintenant, il faut le configurer pour qu'il démarre avec le système, on va l'activer dans /etc/rc.conf :

$ echo postgray_enable="YES" >> /etc/rc.conf

Lançons Postgray :

$ /usr/local/etc/rc.d/postgray.sh start

S'il n'y a pas d'erreurs rapportées, c'est bon, ça roule. :) Sinon faut aller regarder dans les logs pour voir ce qui cloche.

Postgray est maintenant installé et lancé, mais il ne sert à rien pour l'instant, Postfix ne l'utilise pas. Configurons-le. Il faut éditer le fichier /usr/local/etc/postfix/main.cf. Dans ce fichier, il y a une section qui ressemble à ça :

smtpd_recipient_restrictions =
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_sender_domain,
        reject_unknown_recipient_domain,
        reject_invalid_hostname,
        reject_rbl_client cbl.abuseat.org,
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unauth_destination

C'est la section qui dit à Postfix ce que doit respecter les expéditeurs pour accepter du courrier. Je vais pas expliciter les paramètres ici (ceux de mon serveur), je vous renvoie au document cité plus haut qui concerne l'installation de Postfix.

Modifions la section comme suit :

smtpd_recipient_restrictions =
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_sender_domain,
        reject_unknown_recipient_domain,
        reject_invalid_hostname,
        reject_rbl_client cbl.abuseat.org,
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unauth_destination,
        check_policy_service inet:127.0.0.1:10023

On a donc ajouté la ligne check_policy_service inet:127.0.0.1:10023. Le nom du paramètre est assez explicite, on dit à Postfix de vérifier la politique de service, qui est disponible à l'adresse 127.0.0.1 (sur la machine locale), sur le port 10023 (port utilisé par défaut sous FreeBSD - peut-être défaut partout).

N'oubliez pas de mettre une virgule au paramètre d'avant, sinon ça marche pas. :)

Il reste à relancer Postfix :

$ postfix reload

Et voilà, en regardant les logs du service de courrier, vous devriez trouver des lignes comme celles-ci, maintenant :

Jul 3 11:41:49 annis postfix/smtpd[759]: NOQUEUE: reject: RCPT from mon-relai.mail.com[xxx.xxx.xxx.xxx]: 450 <toto@oo.com>: Recipient address rejected: Greylisted for 300 seconds (see http://isg.ee.ethz.ch/tools/postgrey/help/oo.com.html); from=<bozo@boo.com> to=<toto@oo.com> proto=ESMTP helo=<mon-relai.mail.com>

Le serveur mon-relai.mail.com a été placé en graylist pendant 5 minutes. Au bout de 5 minutes, la remise se fera normalement, et toto@oo.com recevra le mail de bozo@boo.com.

Et voilà, moins de spams en quelques minutes, c'est cool ! :)

02/11/2004

"Ça marche pas très bien..."

by Paig Chong Woo — last modified 02/11/2004 17:35
Filed Under:

On se crève le cul au boulot, et notre travail n'est pas reconnu...

Je me suis moulé le cul en cube la semaine dernière après mon retour d'Oléron pour installer un front-end anti-virus et anti-spam pour notre Exchange 2000. J'ai utilisé Postfix, AMaViSD-new, SpamAssassin et ClamAV. Une bonne petite journée à compiler, installer, configurer, et entraîner (avec 1300 spams issus d'une boîte aux lettres hautement spammée chez nous), et peaufiner (à combien de score de spam on jette ?, quelles extensions on scanne ?, etc...).

Et j'étais super content ce week-end, en regardant le contenu des pires boîtes réceptrices de spams, j'ai vu que j'avais réussi dans mon entreprise, à débarrasser notre organisation de près de 90 % du spam reçu (je dis ça au pif, mais un seul spam en un week-end dans une boîte qui en reçoit des dizaines chaque jour, ça fait bien 90 %, voire plus ;)). Et hop je colle une news dans l'intranet, un peu genre pub de lessive (avec des superlatifs de partout quoi). Mission accomplished. ;)

Et ce matin, j'entends un collègue qui a parlé avec un de nos glorieux élus : "Hé, Machin il dit qu'il a entendu parler d'un truc sur le spam et qu'on devrait essayer, je lui dis que Chong Woo a déjà mis tout ça en place, mais il me répond que "ça marche pas bien"...

Ma réaction (à l'échelle) : "WHAT ?!"

Le pire, c'est que ce glorieux élu fait partie du top ten des spammés, et que justement, j'ai vérifié, il n'en a pas eu un seul pendant tout ce long week-end. PAS UN SEUL. Je saurai à l'avenir que ( "pas un seul spam" == "100 % d'efficacité" ) == "ça marche pas très bien". :/

D'ailleurs, en parlant d'Oléron, c'est encore plus fort : je disais avant qu'on avait agité des antennes à Oléron dans le vent. Bah le mec chargé de l'entretien (un connard confirmé) a appelé mon chef pour lui dire qu'on avait mobilisé ses gars (2 mecs, sympas, eux !) pour un "résultat presque nul" !

Mon chef l'a proprement engueulé, parce qu'il n'a aucune compétance pour évaluer le travail qu'on a fait. En plus, l'objectif principal, connecter le site à Oleane via LS et reconfigurer la tête de pont et le réseau interne, a été atteint avec succès. Mais bon, paraît que ce mec est un chiant fini et qu'il faut pas chercher.

C'est pas facile tous les jours, entre les "ça marche pas très bien" et "résultat presque nul", je me demande ce que je fais de la journée... Du surf ? P'têt bien, ouais... ;)

Mécénat
Images chez flickr
www.flickr.com
Voici un module Flickr utilisant les photos d'un album intitulé Image du jour. Cliquez ici pour créer votre module.
 

Plone powered yeah baby! ;)

Ce site utilise Plone, pourquoi pas vous ?

Creative Commons License